mfp changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.11.2 released | Inscription for OCaml Meeting 2010 is opened http://wiki.cocan.org/events/europe/ocamlmeetingparis2010
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
jakedouglas has joined #ocaml
jakedouglas has quit [Client Quit]
travisbrady has quit [Quit: travisbrady]
M| has quit [Ping timeout: 252 seconds]
komar_ has quit [Quit: WeeChat 0.2.6]
M| has joined #ocaml
joewilliams is now known as joewilliams_away
alp_ has joined #ocaml
alpounet has quit [Ping timeout: 276 seconds]
drk-sd has quit [Quit: foo]
M| has quit [Ping timeout: 276 seconds]
M| has joined #ocaml
boscop_ has joined #ocaml
boscop has quit [Ping timeout: 258 seconds]
brooksbp has joined #ocaml
fraggle_ has quit [Ping timeout: 240 seconds]
brooksbp_ has quit [Ping timeout: 276 seconds]
fraggle_ has joined #ocaml
fraggle_ has quit [Ping timeout: 276 seconds]
fraggle_ has joined #ocaml
fraggle_ has quit [Ping timeout: 260 seconds]
fraggle_ has joined #ocaml
fraggle_ has quit [Ping timeout: 248 seconds]
fraggle_ has joined #ocaml
NYNix has joined #ocaml
NYNix has left #ocaml []
NYNix has joined #ocaml
NYNix has left #ocaml []
Amorphous has quit [Ping timeout: 276 seconds]
brooksbp has quit [Quit: Leaving...]
brooksbp has joined #ocaml
Amorphous has joined #ocaml
enthymeme has joined #ocaml
mjonsson has quit [Read error: No route to host]
maskd has quit [Quit: leaving]
brooksbp has quit [Ping timeout: 258 seconds]
jakedouglas has joined #ocaml
ztfw has quit [Read error: Operation timed out]
ztfw has joined #ocaml
thrasibule has quit [Read error: Operation timed out]
thrasibule has joined #ocaml
thrasibule has quit [Quit: No Ping reply in 180 seconds.]
thrasibule has joined #ocaml
brooksbp has joined #ocaml
mbishop_ has joined #ocaml
mbishop has quit [Ping timeout: 245 seconds]
<orbitz> ahh <3 a good type system
joewilliams_away is now known as joewilliams
joewilliams is now known as joewilliams_away
struktured has quit [Remote host closed the connection]
struktured has joined #ocaml
brooksbp has quit [Quit: Leaving...]
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
jakedouglas has quit [Quit: Leaving.]
ygrek has joined #ocaml
mbishop_ is now known as mbishop
<Camarade_Tux> morning
brooksbp has joined #ocaml
Associat0r has joined #ocaml
raphlalou has joined #ocaml
ftrvxmtrx has joined #ocaml
ftrvxmtrx has quit [Client Quit]
brooksbp has quit [Quit: Leaving...]
Kektain has joined #ocaml
ftrvxmtrx has joined #ocaml
Kektain has quit [Remote host closed the connection]
M| has quit [Ping timeout: 276 seconds]
M| has joined #ocaml
Submarine has joined #ocaml
ker_ has joined #ocaml
halfie has quit [Quit: Leaving]
alp_ has quit [Ping timeout: 245 seconds]
pimmhogeling has joined #ocaml
drk-sd has joined #ocaml
ulfdoz has joined #ocaml
drk-sd has quit [Quit: train]
alpounet has joined #ocaml
Submarine_ has joined #ocaml
Submarine_ has quit [Client Quit]
Submarine has quit [Quit: Leaving]
raphlalou has quit [Quit: leaving]
alpounet has quit [Ping timeout: 245 seconds]
pimmhogeling has quit [Ping timeout: 245 seconds]
alpounet has joined #ocaml
ikaros has joined #ocaml
pimmhogeling has joined #ocaml
alp_ has joined #ocaml
alpounet has quit [Read error: Connection reset by peer]
_unK has joined #ocaml
Snark has joined #ocaml
ikaros has quit [Remote host closed the connection]
pikachuyann has joined #ocaml
pikachuyann has quit [Remote host closed the connection]
maskd has joined #ocaml
Submarine has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
Drk-Sd has joined #ocaml
Drk-Sd has quit [Quit: FOO]
krankkatze has joined #ocaml
M| has quit [Read error: Operation timed out]
alp_ has quit [Read error: No route to host]
alp__ has joined #ocaml
alp__ has quit [Read error: Connection reset by peer]
alpounet has joined #ocaml
M| has joined #ocaml
derdon has joined #ocaml
ikaros has joined #ocaml
gareth_0 has joined #ocaml
krankkatze has quit [Remote host closed the connection]
<gareth_0> hi
<gareth_0> how can get an uncaught exception stack trace from camlp4?
struktured_ has joined #ocaml
struktured has quit [Ping timeout: 240 seconds]
<gareth_0> anyone?
Drk-Sd has joined #ocaml
<mfp> gareth_0: have you tried to run it with OCAMLRUNPARAM=b ?
<mfp> (assuming camlp4o was compiled with -g)
<gareth_0> i have: OCAMLRUNPARAM="b1"
<gareth_0> i do not know if it was compiled with -g, i am using the package from the ubuntu repo
<mfp> what does the '1' stand for? I can't see it in ocamlrun(1)
struktured_ has quit [Read error: Connection reset by peer]
struktured_ has joined #ocaml
<mfp> are you getting an empty stack trace, or none at all?
<gareth_0> btw for regular ocaml programs i am getting a back trace, so i assume it is the correct environment variable
<gareth_0> I get: File "test.ml", line 130, characters 30-32:
<gareth_0> Camlp4: Uncaught exception: Not_found
<mfp> ah, are you calling camlp4o directly, or using it via -pp?
<mfp> anyway, you've got the location, which is good enough unless you're debugging an extension of yours
<mfp> if you were using -pp, OCAMLRUNPARAM=b camlp4o pa_whatever.cmo pr_o.cmo test.ml > out.ml might work
<gareth_0> that is correct
<gareth_0> i am debugging an extension of mine ;)
Smerdyakov has joined #ocaml
<mfp> heh
<mfp> depending on what it does, you could try to wrap it with a try ... with _ -> print_endline (Printexc.get_backtrace ())
<mfp> easy if you're using an AST filter, not sure if doable if you're changing the syntax directly
struktured_ has quit [Read error: Connection reset by peer]
struktured_ has joined #ocaml
Drk-Sd is now known as drk-sd
smimou has quit [Ping timeout: 246 seconds]
smimou has joined #ocaml
thrasibule has quit [Ping timeout: 246 seconds]
sepp2k has joined #ocaml
thrasibule has joined #ocaml
pimmhogeling has quit [Ping timeout: 276 seconds]
elehack has joined #ocaml
pikachuyann has joined #ocaml
jakedouglas has joined #ocaml
komar_ has joined #ocaml
thrasibule has quit [Ping timeout: 276 seconds]
drk-sd has quit [Quit: foo]
Proteus__ has joined #ocaml
sgnb has quit [Ping timeout: 276 seconds]
Proteus_ has quit [Ping timeout: 264 seconds]
joewilliams_away is now known as joewilliams
maskd has quit [Quit: leaving]
joewilliams is now known as joewilliams_away
smimou has quit [Ping timeout: 246 seconds]
struktured_ has quit [Ping timeout: 260 seconds]
<rwmjones> gildor, around?
<Camarade_Tux> probably not yet ;-)
stdDoubt has joined #ocaml
<stdDoubt> all recursive functions should be written in a tail recursive way if possible (using an accumulator)? or/when should "pure/inductive" recursive functions be used instead?
<Smerdyakov> This question is unduly complicated in OCaml, which uses tiny fixed stack size limits.
<Smerdyakov> With OCaml, you certainly want to use tail recursion whenever your stack depth would otherwise exceed that limit.
<thelema> if you need to support large input, you need tail recursion.
<thelema> If you don't, you don't need tail recursion.
<elehack> pure recursion is frequently used/needed with trees and other data structures that don't lend themselves well to accumluation or reversal.
<Smerdyakov> elehack, but if you had a high call depth, you might need to manually CPS in OCaml.
<Camarade_Tux> large meaning 100_000 recursive calls (130k actually)
<elehack> although you have to be careful - if there's a chance that user input could force such a structure to be too deep and you use non-tail recursion, you have a security hole in native code.
<elehack> yep, CPS is another good option.
<elehack> when you can't apply more straightforward tail-recursive techniques.
drk-sd has joined #ocaml
<Smerdyakov> No, it's not good. It's another reason to prefer a language without an arbitrary recursion bound. :P
<Camarade_Tux> rwmjones: btw, where are you?
<rwmjones> Camarade_Tux, back home
<Camarade_Tux> oh, ok
<elehack> Smerdyakov, fair enough. Beats an arbitrary code execution security hole, though.
<Camarade_Tux> I saw you this morning then didn't see you anymore
<Camarade_Tux> was pleased to see ocaml cross-compilation to windows worked well (was on debian)
Smerdyakov has quit [Quit: Leaving]
ikaros_ has joined #ocaml
ikaros_ has quit [Read error: Connection reset by peer]
drk-sd has quit [Ping timeout: 276 seconds]
drk-sd has joined #ocaml
struktured_ has joined #ocaml
sepp2k has quit [Ping timeout: 276 seconds]
<stdDoubt> what is the main advantage of using objects in ocaml? isn't easier to use the module system? (I am new to the language...but one thing that I am thinking about is that there is no need to use objects)
sepp2k has joined #ocaml
<thelema> the module system doesn't get you runtime dispatch
<Camarade_Tux> hmmm, first-class modules :-) (not as much but gives some of that)
<thelema> also, you don't quite get as nice subtyping relationships when you "inherit" with modules.
<derdon> thelema: plain objects can't be inherited ;)
ttamttam has joined #ocaml
smimou has joined #ocaml
sgnb has joined #ocaml
mariusz_ has quit [Ping timeout: 276 seconds]
Snark has quit [Quit: Ex-Chat]
<rwmjones> (that's the small group photo)
* Camarade_Tux has to post-treat the audio recording
stdDoubt has quit [Ping timeout: 260 seconds]
mariusz_ has joined #ocaml
gareth_0 has quit [Ping timeout: 258 seconds]
pimmhogeling has joined #ocaml
gareth_0 has joined #ocaml
pikachuyann has quit [Remote host closed the connection]
pimmhogeling has quit [Ping timeout: 245 seconds]
struktured_ has quit [Ping timeout: 246 seconds]
komar_ has quit [Ping timeout: 258 seconds]
komar_ has joined #ocaml
<elehack> thelema, I've made the UTF8 private type change and pushed it to 'utf8-string' on my Batteries fork.
<elehack> along with another patch which adds an 'adopt_string' function as a half-way between 'of_string' and 'of_string_unsafe' (validates but doesn't copy)
<elehack> any thoughts on the addition of this function?
gareth_0 has quit [Ping timeout: 245 seconds]
brooksbp has joined #ocaml
ttamttam has quit [Quit: Leaving.]
komar_ has quit [Quit: WeeChat 0.2.6]
struktured_ has joined #ocaml
enthymeme has joined #ocaml
cizra has joined #ocaml
<cizra> Hi
<cizra> I've understood that the main selling points of OCaml are speed, type system and geekiness points. Anything else I've missed?
<Camarade_Tux> speed of development
* cizra is bored and wishes to learn something
<cizra> Oh? Hm. How is it optimized? By type inference?
<schme> cizra: I guess it depends on from where you are coming. For me some of the main selling points is that it makes working with gtk/gui and crossplatformy stuff easier than lisp.
<Camarade_Tux> type inference, strong typing, high-level
<cizra> How difficult getting started is, compared with, say, Haskell?
<schme> cizra: It is totally easy. fire up vim, start hacking (:
* schme might add that he found haskell totally impossible :P
<elehack> cizra, I think it's easier to get started than Haskell due to greater similarity with widely-known languages (esp. I/O just works), and decent tutorials.
<elehack> type system is big win for me though. Strong checking, expressive type system (so I can have things statically checked that would be impractical e.g. in Java), and strict interface definition and checking.
<elehack> Refactoring is a breeze due to the interfaces and strong checking.
elehack is now known as elehack|afk
<cizra> Heh.
<cizra> Can't go better than Agda WRT type systems, in my not-very-well-informed opinion
<gildor> Camarade_Tux: post-treat the audio recording -> is it good ?
<cizra> Agda allows you to check for list underflows in compile-time, frinstance. Oh, irrelevant
* schme has never before heard of Agda.
<cizra> schme: Academic stuff
<schme> cizra: oh like haskell ;)
<Camarade_Tux> gildor: well, haven't tried yet =/
<Camarade_Tux> (have uploaded though)
<Camarade_Tux> raw audio: http://pers.yaxm.org/temp/Mic/
<cizra> schme: Nope, Haskell can't check for list underflows in compile time, AFAIKT
<Camarade_Tux> (yeah... wma...)
<schme> cizra: I meant the "academic stuff" bit.
<aavogt> if you encode your lists as: 'a * 'a list
<aavogt> but that's a bit inconvenient, and you're still unsafe if you want to take more elements
<Camarade_Tux> night
ygrek has quit [Remote host closed the connection]
<orbitz> chutup aavogt
<aavogt> hey orbitz
<orbitz> hey
<orbitz> working on HMM code in Ocaml
<orbitz> impelmenting viterbi's algorithm
<aavogt> did you find markov yet?
<orbitz> still looking
<orbitz> this guy viterbi is helping me
struktured_ has left #ocaml []
boscop_ has left #ocaml []
<orbitz> anywayto tell taureg mode to re-highlight my buffer?
eb4890 has joined #ocaml
maskd has joined #ocaml
ftrvxmtrx has joined #ocaml
ker_ has quit [Read error: Connection reset by peer]
_unK has quit [Remote host closed the connection]
_unK has joined #ocaml
ftrvxmtrx has quit [Read error: Connection reset by peer]
SEcki has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
eb4890 has quit [Remote host closed the connection]
sepp2k has quit [Quit: Leaving.]
SEcki has quit [Remote host closed the connection]
ulfdoz has quit [Read error: Operation timed out]
LionMadeOfLions has quit [Ping timeout: 240 seconds]
LionMadeOfLions has joined #ocaml