adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.2 announced http://ocaml.org/releases/4.02.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
<pilne> it isn't really... working, it installed correctly per opam
rgrinberg has joined #ocaml
<Drup> define "not working" :)
palomer has joined #ocaml
raazdaan has joined #ocaml
<pilne> ubuntu won't even recognize it as a valid command even after doing opam config env
<pilne> nevermind, i dug a bit more and found a good walkthrough (:
rgrinberg has quit [Ping timeout: 272 seconds]
rgrinberg has joined #ocaml
<pilne> thank you for the pointer (: this is much more pleasant
SomeDamnBody has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
tnguyen has joined #ocaml
igoroliveira has quit [Quit: Connection closed for inactivity]
jeffmo has quit [Quit: jeffmo]
toomuchtvrotsurb has quit [Remote host closed the connection]
steshaw has joined #ocaml
antkong has quit [Quit: antkong]
empyrean has quit [Remote host closed the connection]
steshaw has left #ocaml [#ocaml]
manuel__ has joined #ocaml
igoroliveira has joined #ocaml
palomer has quit [Quit: palomer]
wiml has quit [Quit: wiml]
palomer has joined #ocaml
tmtwd has joined #ocaml
swgillespie has joined #ocaml
shinnya has quit [Ping timeout: 272 seconds]
huza has joined #ocaml
manuel__ has quit [Quit: manuel__]
huza has quit [Quit: WeeChat 0.3.8]
raazdaan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
SomeDamnBody has quit [Ping timeout: 256 seconds]
ygrek has quit [Ping timeout: 240 seconds]
mdgeorge has joined #ocaml
<mdgeorge> hello. I'd like to write a function that fails with a format string and works with %a
<mdgeorge> I think I need something like Format.ksprintf failwith, but this doesn't work with %a
<mdgeorge> I tried using something like Format.asprintf, but I can't see how to use this to create a string to pass into failwith
pilne has quit [Remote host closed the connection]
<mdgeorge> is there some way to get both worlds: something like kasprintf : (bytes -> 'a) -> ('b, formatter, unit, 'a) format4 -> 'a?
<mdgeorge> thanks!
RichN has quit [Ping timeout: 260 seconds]
RichN has joined #ocaml
kushal has joined #ocaml
ygrek has joined #ocaml
manuel__ has joined #ocaml
tmtwd has quit [Ping timeout: 246 seconds]
tmtwd has joined #ocaml
zpe has joined #ocaml
igoroliveira has quit [Quit: Connection closed for inactivity]
manuel__ has quit [Quit: manuel__]
zpe has quit [Ping timeout: 246 seconds]
tmtwd has quit [Ping timeout: 255 seconds]
raazdaan has joined #ocaml
AltGr has joined #ocaml
darkf has joined #ocaml
tmtwd has joined #ocaml
native_killer has joined #ocaml
nicoo has quit [Ping timeout: 272 seconds]
c74d3a has quit [Remote host closed the connection]
c74d3a has joined #ocaml
palomer_ has joined #ocaml
palomer has quit [Ping timeout: 240 seconds]
palomer_ is now known as palomer
keen___________3 has quit [Read error: Connection reset by peer]
keen___________3 has joined #ocaml
tmtwd has quit [Ping timeout: 250 seconds]
mac10688 has quit [Ping timeout: 252 seconds]
raazdaan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
MercurialAlchemi has joined #ocaml
zpe has joined #ocaml
rgrinberg has quit [Read error: Connection reset by peer]
zpe has quit [Ping timeout: 252 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
<dmbaturin> mdgeorge: I'm not sure if I get what you mean, but you can creat a format from a normal string with format_of_string.
native_killer has quit [Quit: Leaving]
MercurialAlchemi has quit [Ping timeout: 250 seconds]
swgillespie has joined #ocaml
mort___ has quit [Ping timeout: 240 seconds]
srcerer_ has joined #ocaml
luigy has quit [Ping timeout: 255 seconds]
smondet has quit [Ping timeout: 265 seconds]
smondet has joined #ocaml
orbitz has quit [Read error: Connection reset by peer]
srcerer has quit [Ping timeout: 246 seconds]
orbitz has joined #ocaml
jpdeplaix has quit [Ping timeout: 255 seconds]
jpdeplaix has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mort___ has joined #ocaml
swgillespie has joined #ocaml
luigy has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
zpe has joined #ocaml
swgillespie has joined #ocaml
browncodes has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mdgeorge has quit [Ping timeout: 246 seconds]
browncodes has quit [Ping timeout: 240 seconds]
swgillespie has joined #ocaml
browncodes has joined #ocaml
larhat1 has quit [Quit: Leaving.]
mea-culpa has joined #ocaml
kushal has quit [Quit: Leaving]
AlexRussia has quit [Ping timeout: 250 seconds]
nicoo has joined #ocaml
zpe has quit [Remote host closed the connection]
tmtwd has joined #ocaml
palomer has quit [Quit: palomer]
zpe has joined #ocaml
AltGr has left #ocaml [#ocaml]
mort___ has quit [Quit: Leaving.]
AltGr has joined #ocaml
zpe has quit [Ping timeout: 264 seconds]
zpe has joined #ocaml
AltGr has left #ocaml [#ocaml]
AltGr has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
keen___________4 has joined #ocaml
AltGr has left #ocaml [#ocaml]
keen___________3 has quit [Ping timeout: 255 seconds]
AltGr has joined #ocaml
palomer has joined #ocaml
swgillespie has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tmtwd has quit [Ping timeout: 250 seconds]
swgillespie has joined #ocaml
swgillespie has quit [Max SendQ exceeded]
swgillespie has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
Haudegen has joined #ocaml
palomer has quit [Quit: palomer]
fluter has quit [Ping timeout: 268 seconds]
zpe has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
fluter has joined #ocaml
ely-se has joined #ocaml
palomer has joined #ocaml
palomer has quit [Client Quit]
<companion_cube> https://github.com/pqwy/notty now I'm waiting for Drup to manifest himself
scriptdevil has joined #ocaml
Simn has joined #ocaml
siddharthv_away has quit [Ping timeout: 264 seconds]
ia0 has quit [Quit: leaving]
Kakadu has joined #ocaml
ia0 has joined #ocaml
sh0t has joined #ocaml
orbifx has joined #ocaml
xificurC has joined #ocaml
<enjolras_> hi, i have a C stubs function taking ocaml value, and using CAMLlocal, am i supposed to use something like CAMLreturn?
<enjolras_> if so, how ?
oscar_toro has joined #ocaml
oscar_toro has left #ocaml [#ocaml]
<mrvn> you must and CAMLreturn foo;
<enjolras_> but it says it can't cast it to value
<AltGr> Wondering: about merlin's emacs mode, didn't anyone release how bad a shortcut C-c C-x is ?
<AltGr> (C-x C-c is "quit emacs"; and c and x happen to be next to each other)
<acieroid`> AltGr: I disabled C-x C-c in emacs because of this. Since I don't often need to close emacs that's not a problem for me (and I M-x quit when I need to)
<enjolras_> ".opam/4.02.1/lib/ocaml/caml/memory.h:228:3: error: incompatible types when returning type ‘value’ but ‘struct Bytes’ was expected"
<enjolras_> that's what i get when i use CAMLreturn
<enjolras_> i'm not returning a word, but a struct
<AltGr> acieroid`, if I'm not alone it may deserve to be reported...
<enjolras_> i guess i coud just pass a pointer in argument
<Kakadu> Maybe CAMLreturnT?
<def`> AltGr: I agree :). I disabled C-x C-c :D
ousado has quit [Ping timeout: 240 seconds]
<enjolras_> kakadu: right. Thanks
<Kakadu> Enjolras_: It just casts return value to `value`. Maybe it is not what you want
<AltGr> def`, I didn't expect that the majority would actually keep C-c C-x and disable C-x C-c though :)
<enjolras_> no, it doesn't. It just set local_caml_roots but the return type is what you pass as first argument
<enjolras_> it does what i need :)
mea-culpa has quit []
<def`> :), quite curiously, I use my window manager to close windows. I know I have strange opinions, but I had no need C-x C-c (and to processes, I send signals :))
ousado has joined #ocaml
<def`> But you are right, those lacking sanity should still be able to close their emacs windows.
<def`> AltGr: Feel free to open an issue, I have nothing better to offer (... I hate default bindings of any software, except maybe some of vim), the community might have a more informed opinion
AltGr has left #ocaml [#ocaml]
AltGr has joined #ocaml
tane has joined #ocaml
Simon__ has joined #ocaml
darkf_ has joined #ocaml
ygrek has quit [Ping timeout: 268 seconds]
darkf has quit [Ping timeout: 246 seconds]
sh0t has quit [Ping timeout: 264 seconds]
sepp2k has joined #ocaml
rfv has quit [Ping timeout: 240 seconds]
rfv has joined #ocaml
psy_ has quit [Read error: Connection reset by peer]
Simon__ has quit [Quit: Page closed]
aubergines has joined #ocaml
orbifx has quit [Quit: AtomicIRC: The nuclear option.]
orbifx has joined #ocaml
zpe has joined #ocaml
<orbifx> hello all
thizanne has quit [Ping timeout: 240 seconds]
psy_ has joined #ocaml
mort___ has joined #ocaml
jonludlam has joined #ocaml
<zozozo> hello
mort___ has left #ocaml [#ocaml]
gpietro_ has joined #ocaml
gpietro__ has quit [Read error: Connection reset by peer]
wagle has quit [Ping timeout: 246 seconds]
enamex has joined #ocaml
wagle has joined #ocaml
<ely-se> h
darkf_ is now known as darkf
fluter has quit [Ping timeout: 264 seconds]
<companion_cube> yo
<orbifx> so, the question from yesterday is pending
<orbifx> is the Matrix programmed in Ocaml?
<zozozo> orbifx: what do you mean ?
<ely-se> no, the Matrix is programmed in Common Lisp.
<orbifx> would The Architect use ocaml to program the matrix
<orbifx> ely-se: are you sure?
<ely-se> not sure, I think it was actually Emacs Lisp.
<ely-se> and it runs on TempleOS
rgrinberg has quit [Ping timeout: 252 seconds]
fluter has joined #ocaml
<orbifx> no way it was emacs anything
<Leonidas> Common Lisp implemented in HolyC
<orbifx> can see it being implemented in Common Lisp
<dmbaturin> Leonidas: It simply runs on a symbolics machine that can run it natively.
<dmbaturin> The Architect is actually RMS.
Haudegen has quit [Ping timeout: 265 seconds]
<ely-se> Rasmuss Matthew Stroustrup
<Leonidas> Rasmuss Math-you Stroustrup
<ely-se> Rasmus Lerdorf is my hero.
SuperNoeMan has quit [Ping timeout: 246 seconds]
scriptdevil has quit [Quit: leaving]
SuperNoeMan has joined #ocaml
Haudegen has joined #ocaml
browncodes has quit [Remote host closed the connection]
zpe has quit [Ping timeout: 244 seconds]
zpe has joined #ocaml
<orbifx> dmbaturin: hehe
ely-se has quit [Quit: leaving]
yomimono has joined #ocaml
<Drup> AltGr, def` : I went the other way. I disabled merlin's thing and replaced by C-c C-v
<Drup> or something
<Drup> companion_cube: it looks so much like a bunzli library :D
wagle has quit [Ping timeout: 246 seconds]
wagle has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
tane has quit [Remote host closed the connection]
AltGr has left #ocaml [#ocaml]
psy_ has quit [Ping timeout: 268 seconds]
zpe has quit [Ping timeout: 250 seconds]
ely-se has joined #ocaml
_andre has joined #ocaml
psy_ has joined #ocaml
zpe has joined #ocaml
<orbifx> who is this bunzli guy Drup ?
ely-se has quit [Quit: leaving]
empyrean has joined #ocaml
empyrean has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
rgrinberg has quit [Ping timeout: 264 seconds]
enamex_ has joined #ocaml
enamex has quit [Ping timeout: 265 seconds]
<orbifx> thanks rks`
manuel__ has joined #ocaml
jonludlam has joined #ocaml
enamex_ has quit [Ping timeout: 244 seconds]
ely-se has joined #ocaml
ely-se has quit [Client Quit]
zpe has quit [Ping timeout: 246 seconds]
t4nk059 has joined #ocaml
<t4nk059> hey guys
<t4nk059> can someone help me to solve a problem?
ggole has joined #ocaml
mort___1 has joined #ocaml
t4nk059 has quit [Client Quit]
Kakadu has quit [Remote host closed the connection]
kushal has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 240 seconds]
ousado has quit [Read error: Connection reset by peer]
ousado has joined #ocaml
hcarty_ has quit [Ping timeout: 246 seconds]
IbnFirnas has quit [Ping timeout: 244 seconds]
hcarty has joined #ocaml
IbnFirnas has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
manuel__ has quit [Quit: manuel__]
ollehar1 has joined #ocaml
joncfoo has joined #ocaml
mort___1 has quit [Quit: Leaving.]
jonludlam has joined #ocaml
mort___ has joined #ocaml
yomimono has quit [Ping timeout: 256 seconds]
joncfoo has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
ousado has quit [Changing host]
ousado has joined #ocaml
manuel__ has joined #ocaml
joncfoo has joined #ocaml
yomimono has joined #ocaml
AltGr has joined #ocaml
Kakadu has joined #ocaml
AltGr has left #ocaml [#ocaml]
octachron has joined #ocaml
BitPuffin has joined #ocaml
ketadmin has quit [Quit: Leaving]
enamex has joined #ocaml
Denommus` has quit [Read error: Connection reset by peer]
ollehar1 has quit [Remote host closed the connection]
tane has joined #ocaml
dsheets has joined #ocaml
ely-se has joined #ocaml
dsheets has quit [Client Quit]
dsheets has joined #ocaml
psy_ has quit [Ping timeout: 244 seconds]
raazdaan has joined #ocaml
joncfoo has quit [Ping timeout: 255 seconds]
dsheets has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
jeffmo has joined #ocaml
Soni has joined #ocaml
<Soni> so I heard you can put a #! in ocaml bytecode?! (e.g. #!/usr/bin/ocaml<newline><ocaml compiled bytecode>)
<enjolras_> isn't that ocamlrun ?
<Soni> idk
<Soni> I don't know ocaml
<flux> soni, ocaml has two modes of compilation, one for bytecode and one for native
<flux> soni, when targeting bytecode, it creates binaries that have ie. #!/usr/bin/ocamlrun\nbytecode goes here
<Soni> WHAT
<flux> and when native, well then it's a native binary
<Soni> what next, you can shove ocaml bytecode in the middle of ocaml source code?!
<flux> no, I don't see the point of that :)
<flux> third option is to just make an 'ocaml script' by sticking what you put, ie. #!/usr/bin/ocaml and it runs it just as if you used ocaml interactively to enter that stuff
<Drup> Soni: why are you so surprised ?
<Soni> Drup, python is sane enough not to do it
<Soni> because it's just insane!
<Drup> why ?
<Drup> well, first: what is insane ? having two compilation scheme ?
<Soni> and altho lua supports it, lua doesn't do it by default, so that's even more insane!
<Soni> no
<Soni> the #! in bytecode
<ggole> I don't see a problem
<ggole> Maybe on windows
<Soni> does java bytecode support putting a #! before it?! how about <insert some other popular bytecode here>?! they don't! it's insane! it makes detecting bytecode harder!
ely-se has quit [Quit: leaving]
<Soni> (because you have to strip the #! first)
<flux> soni, what do you want to do with the bytecode anyway? besides, if it's always done that way, you know to strip it.
<ggole> That's not really very difficult.
<enjolras_> Soni: that's how unix was supposed to work
<flux> soni, what would be a better option? this way you get to actually run your programs.
<enjolras_> putting #! is the unix way to start custm interpreted programs
<flux> soni, is it a problem for you to strip #!/usr/bin/python when you use your python programs?-)
<enjolras_> which a bytecode is
<Soni> well lua doesn't document #! in bytecode as far as I know so most ppl don't check for it there, which makes lua slightly more insane than ocaml
<enjolras_> it's not insane
<Soni> Enjolras_, linux has a method to link magic numbers(?) to commands
<Soni> /that/ is the sane way to do it
<Drup> You use a lot the world "insane" when you mean "different than what is done in python"
<flux> really
<flux> adding special kernel support is the sane way to do stuff..
<enjolras_> it's the way it's the portable way to it
<enjolras_> and it is like that for 40years
<flux> besides I think that way fall out of favor years ago
<enjolras_> since 3BSD i think
<flux> maybe a decade
<Soni> #! is for SOURCE files
<Soni> e.g. #!/bin/bash
<Drup> Soni: why ?
<enjolras_> Soni: no
<flux> soni, have you ever used gzexe?
<enjolras_> #! is for interpreted runnable format
<Drup> Soni: #! is for telling how to execute something
<Soni> gzexe?
<flux> or used shar
<enjolras_> what's the difference between source and bytecode ?
<enjolras_> its the same thing
<Drup> well, especially in the python and Lua world :D
<enjolras_> sure, it's probably not the best way to do it for a lot of reason. But it's like that and it works
<enjolras_> it's not insane. Just an historical glitch
<Soni> flux, gzexe creates a shell script with appended binary data?
<Soni> I mean... I wouldn't really call that /sane/... just... not as insane...
<Soni> self-decompressing gz files would be insane on the other hand
<enjolras_> what is the difference between ocal bytecode and a shell script in your opinion ?
<enjolras_> i don't see any
<flux> so far the main issue seems to be that soni classifies this kind of use of #! insane
<flux> I think we can live with that :)
<enjolras_> flux: the main issue is filesystem layout
<enjolras_> but usually people use /usr/bin/env interpreter to work around the issue
<Drup> flux: especially considering it has been working fine for so many years ^^
MercurialAlchemi has joined #ocaml
<Soni> if you're gonna be that insane, make it so you can put bytecode in the middle of source code files
<enjolras_> you haven't explain why it is insane yet
<flux> soni, byte code is not really interesting in ocaml to use in that way
<ggole> That's just silly
<flux> I have never ever needed to access byte code in any fashion
<flux> other than create it and copy it around
<enjolras_> (and btw, putting inline assembly in various langagues, is that insane too ?)
<Soni> in lua, bytecode = function/closure, and they're first class objects, so it makes sense to put bytecode inside source code, even tho it's insane
<Soni> Enjolras_, how do you mean inline assembly?
<flux> there are actually some tools that work in the bytecode level, but that doesn't really mean the user of such tools would need to look at it
<Drup> Soni: I think you have a rather large misunderstanding of what bytecode is in OCaml
<Soni> Drup, maybe
<enjolras_> Soni: you cannot do that in ocaml,or at least not without working hard to do it
<Soni> usually bytecode = binary data (e.g. Lua or Python)
<Drup> It's not even close to an AST or to a slightly transformed source code, like it is in python (or Lua, it seems)
<Drup> It's really a product of compilation
<ggole> Python and lua bytecode isn't really that different to ocaml bytecode
<Drup> which produces an executable
<ggole> They're all byte-level, non-textual representations of programs that are arranged for convenient interpretation
<Drup> ggole: well, python's bytecode is almost the same as the code source, just faster to parse ..
<enjolras_> rthat's the definition of bytecode ggole
<enjolras_> but i think ocaml bytecode is closer to java than to python
<Drup> Soni: and no, it's not "data"
<Soni> Drup, everything is data
<enjolras_> it's more a virtual machine language than a barely transformed and encoded ast
<enjolras_> like python
<ggole> I don't see much difference
<ggole> Different designs, same idea
<Drup> Soni: You are good at non-descriptive affirmations, are you ? :)
<Soni> everything is data
<Soni> if it's bytecode data or machine code data is up to the interpreter (in this case, ocaml's or the CPU, respectively)
<Soni> you can even shove 5 different CPU instruction sets into a single binary if you want to
<flux> soo.. shell scripts, sounds like they are data as well..
<flux> yet they comes with #!/bin/sh in front of them.. the insanity!
<Soni> yes, but they're text data instead of binary data
<ggole> So?
<Soni> (text data is a subset of binary data)
<flux> so I guess it stops being insane if ocaml bytecode was base64?
<Soni> well yes
<Soni> but no
<Soni> base64ing bytecode to make it non-insane is insane
<ggole> You need to base64 it then, to make it non-insane.
darkf has quit [Quit: Leaving]
<ggole> And #! files aren't "text", they're just files
<Soni> yes
<Soni> but #! should only be used for text
<ggole> Nope.
<Soni> yes
<ggole> The interpretation is, by design, up to the interpreter.
<Soni> meh
<Soni> fine
<Soni> I have an opinion
<flux> in any case, the bytecode is used basically only for debugging and faster compiling
<ggole> And portability
<ggole> And the toplevel
<ggole> And compiling to js
<flux> but toplevel doesn't use bytecode binaries
<flux> it uses bytecode objects
<ggole> Oh, I see. Right.
<flux> they are of the sane variety
Denommus has joined #ocaml
<enjolras_> Soni: your opinion is not the same as the POSIX standard
shinnya has joined #ocaml
<enjolras_> unfortunatly for your, the POSIX standard matters more than your opinion in this area
<Soni> the POSIX standard only says #! is parsed
raazdaan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
toomuchtvrotsurb has joined #ocaml
<enjolras_> isn't bytecode parsed ?
<ggole> Not by the kernel/exec
<enjolras_> is shell parsed by kernel/exec ?
oscar_toro has joined #ocaml
<enjolras_> exec detects the magic number for shebang and reads until EOL
<flux> I'm not sure what you're asking, nothing in the lines following #! is parsed by the kernel/exec, and everything in it is
<enjolras_> and then call the interpreter at this path if it exists and pass it the remaining of data, un parsed
<Drup> ggole: and compiling to PIC :D
<Drup> well, executing on PIC
slash^ has joined #ocaml
<ggole> Enjolras_: I think the interpreter is invoked with the filename as argument, rather than being passed the data
<enjolras_> ggole: yeah, that's right.
<ggole> So there's often a little hack to ignore #! as the first line
jeffmo has quit [Quit: jeffmo]
raazdaan has joined #ocaml
toomuchtvrotsurb has quit [Remote host closed the connection]
raazdaan has quit [Client Quit]
toomuchtvrotsurb has joined #ocaml
raazdaan has joined #ocaml
jeffmo has joined #ocaml
psy_ has joined #ocaml
raazdaan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
englishm has joined #ocaml
madroach has quit [Quit: leaving]
madroach has joined #ocaml
Muzer has quit [Remote host closed the connection]
<orbifx> lol
<orbifx> so much sanity and insanity
palomer has joined #ocaml
raazdaan has joined #ocaml
^elyse^ has joined #ocaml
raazdaan has quit [Client Quit]
aubergines has quit [Quit: leaving]
Muzer has joined #ocaml
jwatzman|work has joined #ocaml
marsam has joined #ocaml
<palomer> is there an ocaml boilerplate generator?
<Drup> it's a bit vague, which kind of boilerplate :p
octachron has quit [Quit: Leaving]
<ggole> ppx, maybe
<orbifx> palomer: ocaml doesn't have boilerplates
<Drup> That is unfortunately not true :
Kakadu has quit [Quit: Page closed]
^elyse^ has quit [Quit: Leaving]
<orbifx> ;)
ygrek has joined #ocaml
clockish has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
pilne has joined #ocaml
jwatzman|work has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
^elyse^ has joined #ocaml
<Denommus> orbifx: compare the amount of code for a generic data structure you make by using sigs and functors with the amount of code you get from a typeclass
<Denommus> orbifx: although module implicits will probably make that A LOT shorter
tnguyen1 has joined #ocaml
tnguyen has quit [Ping timeout: 246 seconds]
<Drup> Denommus: It's not always that clear cut, especially if you count all the function you have to prefix with type class constraints
<Denommus> Drup: yeah
<Denommus> Drup: but saying that there's no boilerplate is a very careless claim anyway
mv has joined #ocaml
nullcatxxx_ has joined #ocaml
marsam has quit [Read error: Connection reset by peer]
marsam has joined #ocaml
Haudegen has quit [Ping timeout: 264 seconds]
<dmbaturin> palomer: Module signatures can be produced with ocamlc -i
Kakadu has joined #ocaml
Haudegen has joined #ocaml
BitPuffin has quit [Ping timeout: 268 seconds]
srcerer_ has quit [Quit: ChatZilla 0.9.92 [Firefox 40.0.3/20150826023504]]
srcerer has joined #ocaml
larhat1 has joined #ocaml
marsam has quit [Remote host closed the connection]
marsam has joined #ocaml
dalastboss has joined #ocaml
mort___ has quit [Ping timeout: 256 seconds]
<dalastboss> so for a compilers course i am using a parser generated with ocamlyacc, and im passing all parsing test cases except for this one
<dalastboss> it doesnt fail due to a logical error, it just literally causes my parser to stack overflow
<dalastboss> is there anything that can be done about this?
<dalastboss> like i guess pre-processing it is an option but thats really messy
<def`> dalastboss: the problem is your grammar rule is likely right-recursive
<def`> this test was clearly crafted to detect this
<def`> rewrite it as a left-recursive rule, it will execute in constant space
<def`> stack*
jonludlam has joined #ocaml
<def`> wharf what I'm saying is stupid, it has to be recursive... show the grammar if possible
ggole has quit [Ping timeout: 265 seconds]
<palomer> dmbaturin: I was thinking about something that would transform “type bar = {a:int; b:foo}” into “let t_bar = {a;b} = t_combine_bar (t_a a) (t_b b)”
nullcatxxx_ has quit [Ping timeout: 255 seconds]
<dalastboss> implemented a left-recursive rule, running the test cases now
<dalastboss> thanks def`
<def`> dalastboss: I'm not convinced it will help :/ sry
<def`> can you paste the rule?
nullcatxxx_ has joined #ocaml
<dmbaturin> palomer: You want to generate the 'a -> 'b -> {a: 'a; b: 'b} part?
<dalastboss> still stack overflows unfortunately
<dalastboss> the right recursive version was
<dalastboss> stmts ::= empty | stmt stmts
<dalastboss> and block ::= LBRACE stmts RBRACE
<def`> yep the problem is with the block production
<def`> it has to consume stack space to remember to consume RBRACE
orbifx has quit [Quit: WeeChat 1.3]
<def`> so... Either increase the stack size or... maybe you can inline the rule to some extent ....
tane has quit [Quit: Verlassend]
<def`> This is ugly, I don't see how to avoid that.
<dalastboss> agh, darn
<dalastboss> alright, i will look into it
<dalastboss> thank you
empyrean has joined #ocaml
orbifx has joined #ocaml
<def`> (but yes, generally for rules like stmts, prefer left recursion)
dsheets has quit [Ping timeout: 240 seconds]
<def`> left recursion is tail recursion for LR :)
kushal has quit [Ping timeout: 264 seconds]
empyrean has quit [Remote host closed the connection]
JuggleTux has joined #ocaml
empyrean has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 256 seconds]
nullcatxxx_ has joined #ocaml
JuggleTux has quit [Client Quit]
dalastboss has quit [Ping timeout: 246 seconds]
psy_ has quit [Ping timeout: 246 seconds]
nullcatx_ has joined #ocaml
orbifx has quit [Quit: AtomicIRC: The nuclear option.]
orbifx has joined #ocaml
octachron has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 240 seconds]
JuggleTux has joined #ocaml
gdd229 has joined #ocaml
<mv> In OCaml, what's the best/easiest way to add print_string to the code for print debugging ?
<dmbaturin> mv: let foo x = Printf.printf "x is %s" x; bar x
palomer_ has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
palomer has quit [Ping timeout: 260 seconds]
palomer_ is now known as palomer
<mv> dmbaturin, of course. Thanks, I forgot about ;
rgrinberg has joined #ocaml
yomimono has quit [Quit: Leaving]
Haudegen has quit [Ping timeout: 264 seconds]
lobo has joined #ocaml
JuggleTux has quit [Quit: leaving]
palomer has quit [Quit: palomer]
maurer has quit [Quit: leaving]
Haudegen has joined #ocaml
empyrean has quit [Ping timeout: 268 seconds]
manuel__ has quit [Read error: Connection reset by peer]
rgrinberg has quit [Ping timeout: 240 seconds]
rgrinberg has joined #ocaml
marsam has quit [Remote host closed the connection]
dsheets has joined #ocaml
nullcatx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mort___ has joined #ocaml
marsam has joined #ocaml
mort___ has quit [Client Quit]
nullcatxxx_ has joined #ocaml
nullcatx_ has joined #ocaml
pyon has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
nullcatxxx_ has quit [Ping timeout: 264 seconds]
toomuchtvrotsurb has quit [Remote host closed the connection]
obadz- has joined #ocaml
echo-area has quit [Remote host closed the connection]
echo-area has joined #ocaml
obadz has quit [Ping timeout: 240 seconds]
_andre has quit [Quit: leaving]
Haudegen has quit [Ping timeout: 240 seconds]
stormogulen has joined #ocaml
empyrean has joined #ocaml
palomer has joined #ocaml
marsam has quit [Read error: Connection reset by peer]
palomer has quit [Client Quit]
mort___ has joined #ocaml
Haudegen has joined #ocaml
sh0t has joined #ocaml
marsam has joined #ocaml
octachron has quit [Quit: Leaving]
nullcatxxx_ has joined #ocaml
obadz has joined #ocaml
toomuchtvrotsurb has joined #ocaml
malc_ has joined #ocaml
nullcatx_ has quit [Ping timeout: 246 seconds]
obadz- has quit [Ping timeout: 268 seconds]
joncfoo has joined #ocaml
raazdaan has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 265 seconds]
ousado_ has joined #ocaml
sgnb` has joined #ocaml
sgnb has quit [Read error: Connection reset by peer]
cschneid has quit [Ping timeout: 240 seconds]
NoNNaN has quit [*.net *.split]
obadz has quit [*.net *.split]
dsheets has quit [*.net *.split]
pyon has quit [*.net *.split]
jwatzman|work has quit [*.net *.split]
ousado has quit [*.net *.split]
wagle has quit [*.net *.split]
rfv has quit [*.net *.split]
nicoo has quit [*.net *.split]
cball has quit [*.net *.split]
rossberg has quit [*.net *.split]
acieroid` has quit [*.net *.split]
sspi has quit [*.net *.split]
bacam has quit [*.net *.split]
segmond has quit [*.net *.split]
chris2 has quit [*.net *.split]
mal`` has quit [*.net *.split]
clog has quit [*.net *.split]
lwlvlpl has quit [*.net *.split]
gperetin has quit [*.net *.split]
yac has quit [*.net *.split]
emmanueloga has quit [*.net *.split]
l1x has quit [*.net *.split]
enjolras_ has quit [*.net *.split]
companion_cube has quit [*.net *.split]
mawuli has quit [*.net *.split]
neferty has quit [*.net *.split]
teiresias has quit [*.net *.split]
jrslepak has quit [*.net *.split]
NoNNaN has joined #ocaml
nicoo has joined #ocaml
neferty has joined #ocaml
sspi has joined #ocaml
clog has joined #ocaml
rossberg has joined #ocaml
chris2 has joined #ocaml
segmond has joined #ocaml
emmanueloga has joined #ocaml
gperetin has joined #ocaml
dsheets has joined #ocaml
jwatzman|work has joined #ocaml
mal`` has joined #ocaml
wagle has joined #ocaml
jrslepak has joined #ocaml
rfv has joined #ocaml
companion_cube has joined #ocaml
lwlvlpl has joined #ocaml
cball has joined #ocaml
teiresias has joined #ocaml
bacam has joined #ocaml
yac has joined #ocaml
obadz has joined #ocaml
mawuli has joined #ocaml
enjolras_ has joined #ocaml
acieroid` has joined #ocaml
l1x has joined #ocaml
l1x has quit [Max SendQ exceeded]
wagle has quit [Max SendQ exceeded]
rfv has quit [Max SendQ exceeded]
chris2 has quit [Max SendQ exceeded]
wagle has joined #ocaml
tizoc has quit [Ping timeout: 256 seconds]
chris2 has joined #ocaml
c74d3a has quit [Remote host closed the connection]
alpen has quit [Ping timeout: 255 seconds]
alpen has joined #ocaml
tizoc has joined #ocaml
c74d3a has joined #ocaml
cschneid has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jerith has quit [Ping timeout: 272 seconds]
jerith has joined #ocaml
raazdaan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
stormogulen has quit [Ping timeout: 244 seconds]
raazdaan has joined #ocaml
rfv has joined #ocaml
sepp2k has quit [Quit: Leaving.]
l1x has joined #ocaml
nullcatxxx_ has joined #ocaml
orbifx has quit [Quit: WeeChat 1.3]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
marsam has quit [Read error: Connection reset by peer]
marsam has joined #ocaml
joncfoo has quit [Ping timeout: 272 seconds]
Algebr has joined #ocaml
nullcatxxx_ has joined #ocaml
obadz has quit [Ping timeout: 246 seconds]
mac10688 has joined #ocaml
oscar_toro has left #ocaml [#ocaml]
obadz has joined #ocaml
<companion_cube> I should ask thomasga what his CI project will do
englishm has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Algebr has quit [Read error: Connection reset by peer]
dsheets has quit [Ping timeout: 246 seconds]
Algebr has joined #ocaml
sh0t has quit [Ping timeout: 265 seconds]
lobo has quit [Quit: leaving]
Algebr` has joined #ocaml
raazdaan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
^elyse^ has quit [Quit: Leaving]
raazdaan has joined #ocaml
Algebr has quit [Ping timeout: 246 seconds]
rgrinberg has quit [Ping timeout: 264 seconds]
Algebr` has quit [Remote host closed the connection]
Algebr` has joined #ocaml
lopex has quit [Remote host closed the connection]
seako has quit [Remote host closed the connection]
dch has quit [Remote host closed the connection]
emmanueloga has quit [Remote host closed the connection]
stephe has quit [Remote host closed the connection]
yminsky has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has quit [Ping timeout: 268 seconds]
<Algebr`> Can opam tell me when a particular version of a library was released.
<Algebr`> rather package
raazdaan has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
S11001001 has quit [Remote host closed the connection]
shinnya has quit [Ping timeout: 268 seconds]
metadave has quit [Remote host closed the connection]
bobpoekert has quit [Remote host closed the connection]
andreypopp has quit [Remote host closed the connection]
mariusae has quit [Remote host closed the connection]
jeroud has quit [Remote host closed the connection]
dch has joined #ocaml
lopex has joined #ocaml
larhat1 has quit [Ping timeout: 264 seconds]
larhat1 has joined #ocaml
gdd229 has quit [Ping timeout: 250 seconds]
stephe has joined #ocaml
jpdeplaix has quit [Ping timeout: 244 seconds]
emmanueloga has joined #ocaml
nullcatxxx_ has joined #ocaml
Simn has quit [Quit: Leaving]
nullcatx_ has joined #ocaml
nullcatxxx_ has quit [Read error: Connection reset by peer]
Kakadu has quit [Remote host closed the connection]
clockish has quit [Quit: bye]
clockish has joined #ocaml
mea-culpa has joined #ocaml
jeffmo has quit [Quit: jeffmo]
jpdeplaix has joined #ocaml
sh0t has joined #ocaml
yminsky has joined #ocaml
rgrinberg has joined #ocaml
dsheets has joined #ocaml
Algebr` has quit [Remote host closed the connection]
browncodes has joined #ocaml
marsam has quit [Remote host closed the connection]
seako has joined #ocaml
rgrinberg has quit [Ping timeout: 250 seconds]
mv has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 246 seconds]
damason has quit [Ping timeout: 246 seconds]
sh0t has quit [Ping timeout: 250 seconds]
jeroud has joined #ocaml
andreypopp has joined #ocaml
mariusae has joined #ocaml
metadave has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
raazdaan has joined #ocaml
madroach has joined #ocaml
dsturb has joined #ocaml
rgrinberg has joined #ocaml
S11001001 has joined #ocaml
echo-area has quit [Read error: Connection reset by peer]
bobpoekert has joined #ocaml
palomer has joined #ocaml