kaustuv changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | 3.11.1 out now! Get yours from http://caml.inria.fr/ocaml/release.html
jeddhaberstro has quit [Client Quit]
<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> yziquel: maybe with Lwt_main? http://ocaml.pastebin.com/m6337468
<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)]
Amorphous has joined #ocaml
_JusSx_ has joined #ocaml
<_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?
<Camarade_Tux> http://kernelnewbies.org/Linux_2_6_31#head-6004ec219c203c60037057dbebaf0a04fe22f19c (I couldn't install that because it depends on a software that is almost impossible to find)
ulfdoz has quit ["deprecated"]
jeddhaberstro has quit []
<thelema> Camarade_Tux: Camarade_Tux: Linux version 2.6.28-14-generic (buildd@yellow) (gcc version 4.3.3 (Ubuntu 4.3.3
<thelema> -5ubuntu4) ) #47-Ubuntu SMP Sat Jul 25 01:19:55 UTC 2009
BiDOrD has quit []
_zack has joined #ocaml
<Camarade_Tux> thelema: you're not going to upgrade your kernel to a release that is still rc, are you? :D
slash_ has joined #ocaml
<Camarade_Tux> (please, don't tell me I have to enable flash to know what it's talking about ;p )
sporkmonger has joined #ocaml
sporkmonger has quit [Remote closed the connection]
sporkmonger has joined #ocaml
<hcarty> Camarade_Tux: <lie> You don't need flash </lie>
<Camarade_Tux> I hate flash :P
<Camarade_Tux> middle of the second slide (out of 12): 'Hakell: Batteries Included', feels weird :P
<Camarade_Tux> good boy Don, he listed slackware :P
<Camarade_Tux> (the only problem is that slackware users normally don't install binary packages :P )
<Camarade_Tux> slide 13 out of 12, I didn't learn much
ccasin has quit ["Leaving"]
willb has joined #ocaml
smimou has quit [Read error: 104 (Connection reset by peer)]
Snark has quit ["Ex-Chat"]
<hcarty> Is there a way to group parameters for ocamldoc with the @param tag?
<hcarty> Something similar to "@param (x0, x1, y0, y1) Description here"
willb has quit [Read error: 54 (Connection reset by peer)]
willb has joined #ocaml
Associat0r has joined #ocaml
Associat0r has quit [Client Quit]
Ched has quit ["Ex-Chat"]
Ched has joined #ocaml
bluestorm has joined #ocaml
Yoric[DT] has joined #ocaml
bluestorm has quit [Remote closed the connection]
<Ringo48> out of curiosity, why can't the type of (+) be 'a -> 'a -> 'a ?
<Ringo48> I suspect it has to do with addition being undefined for most types, but I'm not sure
<det> I can only think of 2 possible functions that can have that type
<Ringo48> (<) is 'a -> 'a -> 'a, and while it may not be undefined, it's not entirely clear what it means for all types...
<det> (<) is a special function
<Ringo48> oops, meant to say that (<) is 'a -> 'a -> bool
yziquel has joined #ocaml
<det> (<) takes advantages of the runtime representation of types
<det> and it can also raise exceptions at runtime
<det> Take a look at Haskell type classes for more proper overloading of + and >
<Ringo48> yeah, type classes were one of the things I really liked about Haskell
whale has joined #ocaml
<whale> does ocaml have "where" clauses like haskell?
<Yoric[DT]> whale: with Batteries, it has
<Yoric[DT]> Still goodnight.
Yoric[DT] has quit ["Ex-Chat"]
f[x] has quit [Read error: 110 (Connection timed out)]
<olegfink> whale: it can be easily implemented in camlp4: http://bluestorm.info/camlp4/pa_where/pa_where.ml.html
willb has quit [Read error: 104 (Connection reset by peer)]
willb has joined #ocaml
ski_ has quit ["Lost terminal"]
_zack has quit [Read error: 113 (No route to host)]
kaustuv_ has joined #ocaml
<Camarade_Tux> what's the command to make a custom toplevel with additional libraries?
<julm> Camarade_Tux: ocamlmktop -o ton.top talib.cma ?
kaustuv has quit [Read error: 60 (Operation timed out)]
<Camarade_Tux> yep, that's it :)
willb1 has joined #ocaml
willb has quit [Read error: 145 (Connection timed out)]
<Camarade_Tux> gildor_: on cygwin, [ FileUtil.StrUtil.mkdir ~parent:true "something" ] raises FileUtil.MkdirMissingComponentPath("")
<Camarade_Tux> ~parent:false works however
willb2 has joined #ocaml
willb has joined #ocaml
willb1 has quit [Read error: 110 (Connection timed out)]
willb1 has joined #ocaml
willb2 has quit [Read error: 145 (Connection timed out)]
willb has quit [Read error: 110 (Connection timed out)]
_JusSx_ has quit ["leaving"]
Narrenschiff has quit []
komar__ has quit [Read error: 60 (Operation timed out)]
komar__ has joined #ocaml
Smerdyakov has joined #ocaml