<Ringo48>
what's a good printed book for learning OCaml?
<Ringo48>
the bookstore by my house has "Practical Ocaml", but the reviews on Amazon say it's a terrible book
<Ringo48>
are F# and OCaml similar enough that I could pick up OCaml from an F# book?
<xevz>
I have a copy of that book, haven't read it though. But from scanning through it quick it didn't seem too bad.
<Ringo48>
practical OCaml?
<xevz>
Yeah.
<Ringo48>
I guess I could give it a try
<xevz>
It isn't that expensive in comparison to "O'Caml for Scientists". :P
<Ringo48>
I'm a bit concerned about the Amazon reviews for Practical OCaml: "A shockingly bad book", "Worst programming book I have ever read", "Has the book been proofread at all?", "Very disappointing"
<xevz>
But on the other hand, that book is quite thick.
<xevz>
Oh.
<Ringo48>
and it goes on...
<xevz>
:(
<Ringo48>
I may just print out "Introduction to Objective Caml"
Narrenschiff has quit []
peddie has joined #ocaml
verte has joined #ocaml
tmaeda is now known as tmaedaZ
tmaedaZ is now known as tmaeda
slash_ has quit [Client Quit]
thrasibule has joined #ocaml
onigiri has quit []
ulfdoz_ has joined #ocaml
rgrinberg has joined #ocaml
ulfdoz has quit [Read error: 101 (Network is unreachable)]
ulfdoz_ is now known as ulfdoz
thrasibule has quit [Read error: 145 (Connection timed out)]
rgrinberg has quit [Read error: 145 (Connection timed out)]
f_[x] has joined #ocaml
stan_ has joined #ocaml
BiDOrD has quit [Read error: 110 (Connection timed out)]
BiDOrD has joined #ocaml
f_[x] has quit [Read error: 60 (Operation timed out)]
stan_ has quit [Client Quit]
f[x] has joined #ocaml
komar_ has quit ["WeeChat 0.2.6.3-ohshi"]
komar_ has joined #ocaml
oc13 has joined #ocaml
Snark has joined #ocaml
<Camarade_Tux>
morning :)
<flux>
goood morning!
Yoric[DT] has joined #ocaml
<Yoric[DT]>
hi
<Camarade_Tux>
morning flux, morning Yoric[DT] :)
r0bby_ is now known as r0bby
smimou has joined #ocaml
ski_ has joined #ocaml
onigiri has joined #ocaml
<maxote>
hi guys
<maxote>
the ocaml runtime should separate heaps, one for non-float or non-double fields, and another for float or double fields.
<Camarade_Tux>
morning maxote
<Camarade_Tux>
gildor_: a question about fileutils, is there anything to "simplify" a path such as '/a/b/../c/./././../d' (that would yield 'a/d')?
<Yoric[DT]>
maxote: interesting idea
<Camarade_Tux>
gildor_: or would [ cmp "/a/b/../c/./././../d" "a/d" ] return they are the same? :)
<Camarade_Tux>
gildor_: ok, found reduce (I have to say I'm always a bit lost in ocaml-fileutils' documentation)
_zack has joined #ocaml
julm_ has joined #ocaml
<maxote>
if an object contains float or double fields between many typed fields then this object should allocated from the FP-heap instead of the primary heap.
Alpounet has joined #ocaml
<maxote>
it's for correcting the poor performance of ocaml in specfp
tmaeda is now known as tmaedaZ
julm has quit [Nick collision from services.]
julm_ is now known as julm
<maxote>
e.g., FFT, DFT, etc in OCaml should be improved.
<maxote>
i need learn a howto to see the generated bytecodes from simple programs, and how the interpreter execute these bytecodes step to step.
<maxote>
similar to java does it.
<Alpounet>
maxote, the code of the compiler and the interpreter are provided on caml.inria.fr
yziquel has joined #ocaml
<Alpounet>
in particular, the dlambda output of the compiler is quite interesting :-)
<maxote>
when i target programs to ocaml's bytecodes from a different language, can ocaml translate optimizing bytecodes to native machine?
<yziquel>
hi. i'm trying to create an eliom module for ocsigen that incorporates some equeue/unixqueue ocamlnet-based code. how do I get lwt to cooperate with equeue?
oc13 has quit [Read error: 110 (Connection timed out)]
<mfp>
"replace the default main-loop implementation (which is just a wrapper around select) by another one." -> use equeue's?
<yziquel>
mfp: looking into it. by the way, quite amazed by ocsigen/eliom. it's going to be tough to get back to ror afterwards...
<mfp>
they just keep working quietly
<yziquel>
mfp: what do you mean?
<mfp>
the latest changes to lwt are quite impressive, and they are going forward with some obrowser magic
<Yoric[DT]>
yziquel: when you're done, don't hesitate to release this feature on GODI.
<mfp>
w/ OCaml code being sent to the browser & execute by obrowser
<mfp>
there's even a syntax extension for that :P
<mfp>
*executed
<yziquel>
mfp: i just wish o'browser wasn't iterpreted in javascript... but yes, it's really impressive.
<mfp>
IIRC they were also working (or had a prototype) on a plugin, w/ the JS implementation as a fallback
<yziquel>
mfp: that would be much much much better.
* mfp
thinks lwt is ideally suited for doing IO + concurrency
<mfp>
you're in fact doing event-based programming, but write the code in "direct style", as you would with threads
<yziquel>
mfp: ok. thanks a lot for all this info. have to leave.
<mfp>
but unlike threads, you know where context switches can happen, so you don't need to add lots of mutexes to make things atomic
<yziquel>
yes. indeed.
<yziquel>
i noticed that.
<mfp>
cu yziquel
yziquel has quit [Ping timeout: 180 seconds]
_zack has quit [Read error: 104 (Connection reset by peer)]
_zack1 has joined #ocaml
_zack has joined #ocaml
_zack1 has quit [Client Quit]
tmaedaZ is now known as tmaeda
Yoric[DT] has quit ["Ex-Chat"]
_zack has quit [Read error: 54 (Connection reset by peer)]
_zack1 has joined #ocaml
ski_ has quit ["Lost terminal"]
ski_ has joined #ocaml
<flux>
I wonder if it'd be feasible to convert unison to use some of the new fancy data structure to binary serialisation/deserialisation instead of using plain Marshal
<flux>
because that would 1) allow better cross-version compatibility and 2) it would allow synchronizing large directories on 32-bit platforms (16M string limit hits here..)
<tsuyoshi>
it wouldn't be particularly difficult to write something to marshal to a bigarray
<tsuyoshi>
there's a c interface to the marshal code you can use
<flux>
well, that would be something
<f[x]>
did you encounter any problems with (1) ?
<f[x]>
the marshal code didn't change for years afaik
<flux>
it's not the marshal code but the internal structures of unison may change
<flux>
in any case unison refuses to work between different versions
kaustuv has joined #ocaml
<f[x]>
I see, but then simply using other serialization format will not solve thsi issue automagically
<flux>
no, but it gives better tools to handle it, IMO
<f[x]>
in all but the simplest cases you will need to convert old data to new
<flux>
for example it may give extensible data formats with default values for unknown fields
<f[x]>
that's "the simplest case"
<flux>
without extra work from the developer
<flux>
I'd imagine that covers the overwhelming majority of cases
komar__ has joined #ocaml
komar_ has quit [Read error: 113 (No route to host)]
Amorphous has quit [Read error: 60 (Operation timed out)]
<_JusSx_>
Hi i have just created with ocamlmktop a new toplevel and now I would like to use it for test my code with emacs tuareg-mode. I typed C-e and I entered new toplevel name but emacs can't run it. Emacs replied comint-send-string: Process caml-toplevel not running
<_JusSx_>
I solved the problem... however thanx
ccasin has joined #ocaml
jeddhaberstro has joined #ocaml
jeddhaberstro has quit [Client Quit]
jeddhaberstro has joined #ocaml
Narrenschiff has joined #ocaml
verte has quit ["~~~ Crash in JIT!"]
Alpounet has quit [Read error: 148 (No route to host)]
thrasibule has joined #ocaml
_zack1 has quit ["Leaving."]
onigiri_ has joined #ocaml
onigiri has quit [Read error: 110 (Connection timed out)]
onigiri_ is now known as onigiri
thrasibule has quit [Read error: 60 (Operation timed out)]
<Camarade_Tux>
thelema: which kernel are you running on?