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
Denommus has quit [Quit: going home]
__uu____ has quit [Ping timeout: 250 seconds]
__uu__ has joined #ocaml
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
rgrinberg has quit [Ping timeout: 268 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 240 seconds]
__uu____ has quit [Ping timeout: 240 seconds]
__uu__ has joined #ocaml
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 255 seconds]
__uu__ has joined #ocaml
__uu____ has quit [Ping timeout: 264 seconds]
palomer has joined #ocaml
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 240 seconds]
__uu__ has joined #ocaml
__uu____ has quit [Ping timeout: 268 seconds]
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 264 seconds]
__uu__ has joined #ocaml
__uu____ has quit [Ping timeout: 268 seconds]
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 255 seconds]
__uu__ has joined #ocaml
__uu____ has quit [Ping timeout: 240 seconds]
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 255 seconds]
nullcatxxx_ has joined #ocaml
__uu__ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu__ has joined #ocaml
__uu____ has quit [Ping timeout: 255 seconds]
__uu___ has quit [Ping timeout: 244 seconds]
__uu___ has joined #ocaml
palomer has quit [Quit: palomer]
__uu__ has quit [Ping timeout: 246 seconds]
__uu__ has joined #ocaml
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 265 seconds]
__uu__ has quit [Ping timeout: 240 seconds]
__uu__ has joined #ocaml
__uu___ has joined #ocaml
__uu____ has quit [Ping timeout: 240 seconds]
__uu__ has quit [Ping timeout: 252 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
tennix has joined #ocaml
rgrinberg has joined #ocaml
__uu___ has joined #ocaml
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 250 seconds]
ontologiae has quit [Ping timeout: 252 seconds]
__uu___ has quit [Ping timeout: 240 seconds]
__uu__ has joined #ocaml
palomer has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
__uu____ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
joncfoo has quit [Ping timeout: 264 seconds]
__uu__ has quit [Ping timeout: 250 seconds]
__uu____ has joined #ocaml
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
rgrinberg has joined #ocaml
__uu___ has joined #ocaml
__uu____ has quit [Ping timeout: 250 seconds]
__uu____ has joined #ocaml
Intensity has joined #ocaml
__uu__ has quit [Ping timeout: 268 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 268 seconds]
<nullcatxxx_> any good introductory article on Krivine machine?
__uu____ has quit [Ping timeout: 240 seconds]
__uu___ has joined #ocaml
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 250 seconds]
echo-area has quit [Remote host closed the connection]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 240 seconds]
__uu___ has joined #ocaml
__uu____ has quit [Ping timeout: 256 seconds]
palomer has quit [Quit: palomer]
<nullcatxxx_> seems everyone is asleep now :)
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 255 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 268 seconds]
__uu____ has quit [Ping timeout: 244 seconds]
__uu___ has joined #ocaml
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 246 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu____ has quit [Ping timeout: 250 seconds]
palomer has joined #ocaml
__uu__ has quit [Ping timeout: 244 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
ibor1 has joined #ocaml
__uu__ has quit [Ping timeout: 240 seconds]
ibor has quit [Ping timeout: 246 seconds]
joncfoo has joined #ocaml
__uu___ has quit [Ping timeout: 272 seconds]
__uu___ has joined #ocaml
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
igoroliveira has joined #ocaml
swgillespie has joined #ocaml
__uu__ has quit [Ping timeout: 264 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 244 seconds]
__uu___ has joined #ocaml
palomer has quit [Quit: palomer]
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 264 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 255 seconds]
sgnb` has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu____ has quit [Ping timeout: 244 seconds]
palomer has joined #ocaml
__uu__ has quit [Ping timeout: 240 seconds]
__uu____ has joined #ocaml
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 260 seconds]
Guest38 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
toomuchtvrotsurb has quit [Remote host closed the connection]
__uu____ has quit [Ping timeout: 250 seconds]
__uu___ has joined #ocaml
toomuchtvrotsurb has joined #ocaml
toomuchtvrotsurb has quit [Remote host closed the connection]
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 265 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
__uu____ has quit [Ping timeout: 264 seconds]
__uu__ has quit [Ping timeout: 246 seconds]
__uu____ has joined #ocaml
rgrinberg has quit [Ping timeout: 264 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 246 seconds]
Algebr has joined #ocaml
__uu___ has joined #ocaml
<Algebr> Is there anyone online right now that is familiar with the merlin codebase
__uu____ has quit [Ping timeout: 246 seconds]
echo-area has joined #ocaml
joncfoo has quit [Ping timeout: 244 seconds]
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 246 seconds]
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 250 seconds]
__uu____ has quit [Ping timeout: 240 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 268 seconds]
__uu__ has joined #ocaml
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 240 seconds]
tokik_ has quit [Quit: leaving]
tokik has joined #ocaml
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 244 seconds]
__uu____ has quit [Ping timeout: 255 seconds]
__uu__ has joined #ocaml
<Algebr> Uh, this is legal ocaml? type symbol_class = Raw_parser.symbol_class =
<Algebr> | CT_ : 'a token_class * annotation list -> symbol_class
<Algebr>
<Algebr> How can you do type a = b = Foo | Bar
__uu___ has quit [Ping timeout: 246 seconds]
__uu___ has joined #ocaml
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
__uu____ has joined #ocaml
__uu__ has quit [Ping timeout: 255 seconds]
<smondet> Algebr: that's what's called “type equation” there → http://caml.inria.fr/pub/docs/manual-ocaml/typedecl.html#s%3Atype-defs
<smondet> in your case “Re-exported .. type”
__uu__ has joined #ocaml
__uu___ has quit [Ping timeout: 265 seconds]
kushal has joined #ocaml
rgrinberg has joined #ocaml
__uu___ has joined #ocaml
__uu____ has quit [Ping timeout: 256 seconds]
__uu__ has quit [Ping timeout: 240 seconds]
<Algebr> okay, makes sense.
__uu__ has joined #ocaml
mac10688 has quit [Ping timeout: 244 seconds]
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 244 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 255 seconds]
<Algebr> I need to read the grammar throughly one time
__uu__ has joined #ocaml
__uu____ has quit [Ping timeout: 255 seconds]
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 250 seconds]
__uu__ has quit [Ping timeout: 240 seconds]
__uu___ has joined #ocaml
Dynasty has joined #ocaml
<Dynasty> Does anyone have a suggestion for an IDE to use with OCaml?
<Dynasty> There doesn't seem to be a nice plugin in IntelliJ like there is with Haskell
__uu__ has joined #ocaml
__uu____ has quit [Ping timeout: 244 seconds]
<Algebr> Merlin + emacs/vim
__uu___ has quit [Ping timeout: 264 seconds]
__uu___ has joined #ocaml
AltGr has joined #ocaml
__uu__ has quit [Ping timeout: 268 seconds]
__uu__ has joined #ocaml
ibor1 has quit [Quit: Leaving.]
<Algebr> What do you have to give _oasis to to get lwt.ppx's to work? I added lwt.ppx to builddepends but that wasn't enough
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 250 seconds]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 246 seconds]
__uu____ has quit [Ping timeout: 240 seconds]
__uu__ has joined #ocaml
palomer has quit [Quit: palomer]
__uu___ has quit [Ping timeout: 250 seconds]
jeffmo has quit [Quit: jeffmo]
__uu___ has joined #ocaml
<Algebr> Okay, apparently that is enough, needed to have done make clean first....very odd.
__uu__ has quit [Ping timeout: 250 seconds]
__uu__ has joined #ocaml
darkf has joined #ocaml
__uu____ has joined #ocaml
__uu___ has quit [Ping timeout: 250 seconds]
__uu____ has quit [Remote host closed the connection]
Dynasty has quit [Quit: ChatZilla 0.9.92 [Firefox 41.0/20150925121647]]
__uu___ has joined #ocaml
__uu__ has quit [Ping timeout: 244 seconds]
__uu___ has quit [Remote host closed the connection]
__uu__ has joined #ocaml
palomer has joined #ocaml
__uu__ is now known as __uu
__uu has quit []
__uu__ has joined #ocaml
mrhmouse has joined #ocaml
__uu__ was banned on #ocaml by adrien [__uu__!*@*]
__uu__ was kicked from #ocaml by adrien [please fix your connection]
<adrien> > 60% packet loss to that IP
<adrien> close to 70%
<adrien> and it seems the link in china is horribly congested or lossy
palomer has quit [Quit: palomer]
<adrien> hmpf
<Algebr> Why can `_1 be a valid polymorphic variant but not a regular variant?
<adrien> seems to be china unicom which is going full crap with a > 50% packet loss, at which point I'm afraid the end connectee can't do anything
<adrien> (china unicom is state-owned)
<adrien> Algebr: I know that at some point the lexical rules were a bit too relaxed for polymorphic variants
<adrien> iirc they were supposed to be the same
<Algebr> here is a case where isn't not the same I'd say.
<adrien> # `a;;
<adrien> - : [> `a ] = `a
<adrien> # type t = a;;
<adrien> Error: Unbound type constructor a
<adrien> too
<adrien> (that's the bug report I knew of)
<adrien> but it had to be kept that way for backward compatibility
<Algebr> this is inconsistent.
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Algebr> Is this abusing the ad-hoc comparator, relying on natural order in poly variants `_1 < `_2 = true
palomer has joined #ocaml
<adrien> I think so
<adrien> II think only their hash values are compared
<Algebr> I'm wondering if I can rely on that.
MercurialAlchemi has joined #ocaml
<adrien> no
<adrien> it's not stable between 32 bits and 64 bits at least
nullcatxxx_ has joined #ocaml
switchy has joined #ocaml
<Algebr> poop.
palomer has quit [Quit: palomer]
<adrien> well, they are hashes
mearnsh has quit [Ping timeout: 250 seconds]
<Algebr> yea, meh, I found another way anyway.
<switchy> is it reasonable that int64 operations are significantly faster on 4.02.3 than 4.00.1?
mearnsh has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 264 seconds]
<adrien> define "reasonable"
<switchy> have there been significant changes that would've led to a big performance improvement, for example?
<switchy> essentially I'm running max and + in a loop, and I guess the comparison in max is extremely slow using int64
igoroliveira has quit [Quit: Connection closed for inactivity]
<switchy> it's perfect with native ints, which are big enough on my machine. unfortunately my target machine is only 32-bit so I need something that won't overflow
palomer has joined #ocaml
tibor_ has joined #ocaml
tmtwd has quit [Ping timeout: 250 seconds]
AltGr has left #ocaml [#ocaml]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<adrien> I haven't followed the relevant discussions closely but I believe some things related to unboxing have been merged so I'm not that surprised
nullcatxxx_ has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 240 seconds]
samg_ has joined #ocaml
samg_ has left #ocaml [#ocaml]
nullcatxxx_ has joined #ocaml
<def`> switchy: try removing max and diregtly using if then else and a comparison
<switchy> def`, I got a little improvement rewriting max and rewriting >= in terms of Int64.compare
<def`> I am not sure max gets specialized, that means lot of boxing and tests
<def`> ok
palomer_ has joined #ocaml
<switchy> but that was like 10% vs 200% for native ints
<def`> can you show this coee?
<def`> code*
palomer has quit [Ping timeout: 260 seconds]
palomer_ is now known as palomer
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<switchy> it's super ugly, sorry!
AlexRussia has quit [Ping timeout: 265 seconds]
oscar_toro has left #ocaml [#ocaml]
qrvpzvb has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
MotorMe_ has joined #ocaml
MotorMe_ has left #ocaml [#ocaml]
xet7_ has quit [Ping timeout: 250 seconds]
toomuchtvrotsurb has joined #ocaml
AltGr has joined #ocaml
swgillespie has joined #ocaml
browncodes has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcatxxx_ has joined #ocaml
nullcatxxx_ has quit [Client Quit]
palomer has quit [Quit: palomer]
qrvpzvb has quit [Ping timeout: 240 seconds]
sbrouf has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 265 seconds]
Haudegen has quit [Ping timeout: 260 seconds]
oscar_toro has joined #ocaml
Haudegen has joined #ocaml
pyon has quit [Ping timeout: 250 seconds]
sbrouf has quit [Ping timeout: 240 seconds]
oscar_toro has quit [Read error: Connection reset by peer]
oscar_toro has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
ely-se has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
tibor_ has quit [Ping timeout: 246 seconds]
octachron has joined #ocaml
ia0 has quit [Quit: leaving]
Simn has joined #ocaml
ia0 has joined #ocaml
zpe has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
orbifx has joined #ocaml
Algebr has quit [Remote host closed the connection]
empyrean has quit [Remote host closed the connection]
sbrouf has joined #ocaml
larhat has quit [Quit: Leaving.]
pyon has joined #ocaml
kushal has quit [Ping timeout: 246 seconds]
sh0t has joined #ocaml
sh0t has quit [Client Quit]
Major_Biscuit has joined #ocaml
mea-culp` is now known as mea-culpa
Major_Biscuit has quit [Quit: WeeChat 1.1.1]
Major_Biscuit has joined #ocaml
Sorella has quit [Quit: Connection closed for inactivity]
Submarine has quit [Remote host closed the connection]
sepp2k has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
toomuchtvrotsurb has quit [Remote host closed the connection]
mort___ has joined #ocaml
Kakadu has joined #ocaml
empyrean has joined #ocaml
ely-se has quit [Quit: leaving]
ely-se has joined #ocaml
oscar_toro has quit [Read error: Connection reset by peer]
oscar_toro has joined #ocaml
mort___ has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
psy_ has quit [Ping timeout: 252 seconds]
sh0t has joined #ocaml
oscar_toro has quit [Read error: No route to host]
obadz has quit [Ping timeout: 264 seconds]
ely-se has quit [Quit: leaving]
obadz has joined #ocaml
Major_Biscuit has quit [Quit: WeeChat 1.1.1]
darkf has quit [Ping timeout: 246 seconds]
dch has joined #ocaml
<dch> is there a way to get opam to list the dependencies it has for a given module?
AltGr has left #ocaml [#ocaml]
<dch> nvm, found it!
<dch> opam show <module>
scriptdevil has joined #ocaml
<Drup> dch: package, not module
jonludlam has joined #ocaml
<dch> gotcha
<dch> too much time in erlang world
<Drup> (opam list --depends-on <pkg>)
<Drup> (with the potential --rec flag)
<Drup> err, --required-by
<scriptdevil> While using utop, I wanted to do #typeof "Something" and found that it prints so much data that I cannot scroll back to the top. Is there some way of looking at type signatures and piping them to less?
<Drup> scriptdevil: how can tha happen o_o
<scriptdevil> Drup: Well, #typeof "Comparable for instance"
<scriptdevil> "Comparable" for instance
<Drup> ah, a module
darkf has joined #ocaml
<Drup> why not just look at the mli instead ?
<Drup> (unfortunatly, janestreet doesn't host an html documentation)
<scriptdevil> Drup: Yeah, that makes sense. Thanks.
mort___ has joined #ocaml
<scriptdevil> https://ocaml.janestreet.com/ocaml-core/112.17/doc/core_kernel.112.17.00/_build/lib/comparable/ < Now that you mentioned it, they do seem to host doc.
<Drup> that's not up to date
<scriptdevil> Oh. Ok
mort___ has quit [Client Quit]
mort___ has joined #ocaml
rgrinberg has quit [Ping timeout: 240 seconds]
Haudegen has quit [Ping timeout: 252 seconds]
troydm has quit [Ping timeout: 264 seconds]
troydm has joined #ocaml
joncfoo has joined #ocaml
ely-se has joined #ocaml
AltGr has joined #ocaml
AlexRussia has joined #ocaml
AltGr has left #ocaml [#ocaml]
spip has joined #ocaml
spip has left #ocaml ["Konversation terminated!"]
Haudegen has joined #ocaml
keen___________0 has joined #ocaml
keen____________ has quit [Ping timeout: 260 seconds]
echo-area has quit [Remote host closed the connection]
_andre has joined #ocaml
Sorella has joined #ocaml
psy_ has joined #ocaml
mea-culpa has quit [Remote host closed the connection]
qrvpzvb has joined #ocaml
darkf has quit [Ping timeout: 246 seconds]
rand__ has joined #ocaml
psy_ has quit [Ping timeout: 250 seconds]
psy_ has joined #ocaml
darkf has joined #ocaml
rgrinberg has joined #ocaml
darkf has quit [Ping timeout: 246 seconds]
rgrinberg has quit [Ping timeout: 256 seconds]
tennix has quit [Ping timeout: 246 seconds]
ggole has joined #ocaml
jonludlam has quit [Remote host closed the connection]
mort___ has quit [Quit: Leaving.]
jonludlam has joined #ocaml
lobo__ has joined #ocaml
darkf has joined #ocaml
ontologiae has joined #ocaml
zpe has quit [Remote host closed the connection]
igoroliveira has joined #ocaml
joncfoo has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
kushal has joined #ocaml
dsheets has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
scriptdevil has quit [Ping timeout: 264 seconds]
ely-se has quit [Quit: leaving]
ely-se has joined #ocaml
<boegel> hmm, has anyone ever run into something like this building building OCaml from source?
<boegel> make[2]: Entering directory `/tmp/vsc40023/easybuild_build/OCaml/4.02.3/intel-2015b/ocaml-4.02.3/stdlib'
<boegel> ../boot/ocamlrun ../boot/ocamlc -strict-sequence -w +33..39 -g -warn-error A -bin-annot -nostdlib -safe-string `./Compflags camlinternalFormatBasics.cmi` -c camlinternalFormatBasics.mli
<boegel> make[2]: *** [camlinternalFormatBasics.cmi] Segmentation fault
ely-se has quit [Client Quit]
ely-se has joined #ocaml
<adrien> boegel: which environment?
<boegel> adrien: what do you mean exactly? ulimit -s kind of stuff?
tennix has joined #ocaml
<adrien> origin of build scripts, which build system, which C toolchain, ...
echo-area has joined #ocaml
<ely-se> On the Origin of Build Scripts
mort___ has joined #ocaml
<boegel> adrien: well, the build scripts are mine, I'm using EasyBuild to build OCaml
<boegel> adrien: with recent Intel compilers (v15.x)
<boegel> so, not a standard setup, let's say ;)
kushal has quit [Quit: Leaving]
<boegel> gdb gives me this, not really useful either I guess:
<boegel> (gdb) bt
<boegel> #0 0x0000000000432d1a in caml_interprete ()
<boegel> #1 0x0000000000435bb0 in caml_main ()
<boegel> #2 0x0000000000431bb8 in main ()
ely-se has quit [Quit: leaving]
<adrien> yeah, you using ICC was what I was interested in
<adrien> mantis might be the best place
<boegel> adrien: mantis?
<adrien> bug report
* boegel is not very familiar with OCaml or its community
shinnya has joined #ocaml
<boegel> adrien: http://caml.inria.fr/mantis ?
<adrien> yup
<adrien> I'm not sure what the interesting bits will be but that should roughly be a debug build and a trace at least
<boegel> hmm, seeing it with older OCaml versions too (4.01.0)
tennix has quit [Ping timeout: 260 seconds]
govg has joined #ocaml
ely-se has joined #ocaml
tennix has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
tennix has quit [Ping timeout: 264 seconds]
<boegel> adrien: I guess this would be helpful (GDB backtrace for a build with -g): https://gist.github.com/boegel/1e41a016076aec34c188
tennix has joined #ocaml
rgrinberg has joined #ocaml
tennix has quit [Ping timeout: 244 seconds]
<adrien> boegel: you need to put that in a bug report
kushal has joined #ocaml
Haudegen has joined #ocaml
govg has quit [Read error: Connection reset by peer]
tennix has joined #ocaml
govg has joined #ocaml
govg has quit [Remote host closed the connection]
inr has quit [Ping timeout: 255 seconds]
tennix has quit [Ping timeout: 250 seconds]
mort___ has left #ocaml [#ocaml]
inr has joined #ocaml
govg has joined #ocaml
toomuchtvrotsurb has joined #ocaml
tennix has joined #ocaml
tennix has quit [Ping timeout: 265 seconds]
raphaelss has joined #ocaml
tennix has joined #ocaml
<boegel> adrien: I know, I will, I was just wondering whether this is the sort of information you were suggesting to supply
freehck has joined #ocaml
<adrien> boegel: yup
<freehck> Hello people. How can I create a string channel with ocaml?
<freehck> With CL I usually used it to compose write to "stdout", but everything was written to string I specified.
<freehck> With CL I usually used it to write to "stdout", but everything was written to string I specified.
<Drup> you mean you want an out_channel that write to a string ? You can't
<Drup> If you are using Format for your output, you can create a Format.formatter that will write in a string
<freehck> No, I just have a function Ocs_print.print, which is printing S-expression. And I wanted to have the result of this function as a string.
<Drup> where does this Ocs_print.print comes from ?
<freehck> This fucntion can use a specified channel.
<Drup> show me the type, all that² ;)
<freehck> let print p disp = function Snull -> Ocs_port.puts p "()" | ...
<freehck> Drup: I don't think I understood what you were asking me for.
<Drup> You are talking about a function, I wuold like to know what it is ...
<freehck> Ocs is just an R5RS scheme interpreter written in Ocaml.
<Drup> I can't answer your question if I don't know exactly what you are talking about
<Drup> so, either show me the type of the function or point me to the source
ely-se has quit [Quit: leaving]
<freehck> I think it's this module.
<adrien> :)
<Drup> freehck: It's using a custom "port" defined in https://github.com/felix-lang/ocs/blob/master/src/ocs_port.mli and there are "string_output_port" and "string_intput_port"
<Drup> You should try to use that
<freehck> Drup: btw, why can't I print to string with ocaml?
<Drup> You can print to string in OCaml
<Drup> (Format.sprintf)
<freehck> > [17:10] <Drup> you mean you want an out_channel that write to a string ? You can't
<freehck> Maybe I wasn't precise: why can't I have out_channel that writes ti a string?
sgnb has joined #ocaml
ely-se has joined #ocaml
<freehck> Hm... Maybe I could use Buffer module. It seems a more easy way.
<freehck> *to be
ely-se has quit [Quit: leaving]
<Drup> freehck: it's an issue with out_channel specifically
<Drup> you should use formatter's anyway, it's much more flexible/composable.
govg has quit [Ping timeout: 265 seconds]
raphaelsss has joined #ocaml
sh0t has quit [Ping timeout: 246 seconds]
raphaelss has quit [Ping timeout: 260 seconds]
ely-se has joined #ocaml
govg has joined #ocaml
ely-se has quit [Client Quit]
raphaelssss has joined #ocaml
nullcatxxx_ has joined #ocaml
sh0t has joined #ocaml
raphaelssss is now known as raphaelss
raphaelsss has quit [Ping timeout: 255 seconds]
lobo__ has quit [Quit: WeeChat 1.0.1]
octachron has quit [Quit: Leaving]
MercurialAlchemi has joined #ocaml
mort___ has joined #ocaml
ely-se has joined #ocaml
shinnya has quit [Ping timeout: 256 seconds]
Armael has left #ocaml ["WeeChat 1.3"]
slash^ has joined #ocaml
zpe has joined #ocaml
rand__ has quit [Quit: leaving]
ely-se has quit [Quit: leaving]
toomuchtvrotsurb has quit [Remote host closed the connection]
jeffmo has joined #ocaml
zpe has quit [Remote host closed the connection]
libertas has joined #ocaml
shinnya has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ibor has joined #ocaml
palomer has joined #ocaml
orbifx has quit [Quit: WeeChat 1.3]
shinnya has quit [Ping timeout: 252 seconds]
mort___ has quit [Quit: Leaving.]
zpe has joined #ocaml
ely-se has joined #ocaml
sbrouf has quit [Ping timeout: 272 seconds]
toomuchtvrotsurb has joined #ocaml
ollehar has joined #ocaml
jwatzman|work has joined #ocaml
sh0t has quit [Ping timeout: 268 seconds]
tnguyen has quit [Read error: Connection reset by peer]
tnguyen has joined #ocaml
BitPuffin has joined #ocaml
mort___ has joined #ocaml
tennix has quit [Ping timeout: 250 seconds]
nullcatxxx_ has joined #ocaml
tennix has joined #ocaml
Haudegen has quit [Ping timeout: 255 seconds]
tennix has quit [Ping timeout: 252 seconds]
mort___ has quit [Ping timeout: 250 seconds]
<reynir> mehir has a coq backend now. That's pretty interesting
Haudegen has joined #ocaml
<Drup> Yeah, it's quite incredible
tennix has joined #ocaml
ygrek has joined #ocaml
Guest38 has joined #ocaml
govg has quit [Ping timeout: 252 seconds]
tennix has quit [Ping timeout: 256 seconds]
sbrouf has joined #ocaml
tennix has joined #ocaml
palomer has quit [Quit: palomer]
tennix has quit [Ping timeout: 246 seconds]
tennix has joined #ocaml
tennix has quit [Changing host]
tennix has joined #ocaml
tennix has quit [Ping timeout: 240 seconds]
zpe has quit [Remote host closed the connection]
ely-se has quit [Quit: Leaving]
lobo has joined #ocaml
raphaelss has quit [Read error: Connection reset by peer]
cball has quit [Ping timeout: 246 seconds]
govg has joined #ocaml
ontologiae has joined #ocaml
zpe has joined #ocaml
def_ has joined #ocaml
ely-se has joined #ocaml
ontologiae has quit [Ping timeout: 272 seconds]
smondet has quit [Quit: leaving]
smondet has joined #ocaml
def_ has quit [Quit: leaving]
ely-se has quit [Quit: Leaving]
ely-se has joined #ocaml
<qrvpzvb> Those things that Obelix makes?
darkf has quit [Quit: Leaving]
ibor has quit [Ping timeout: 252 seconds]
empyrean has quit [Remote host closed the connection]
zpe has quit [Remote host closed the connection]
ggole has quit [Ping timeout: 250 seconds]
Kakadu has quit [Quit: Page closed]
ibor has joined #ocaml
empyrean has joined #ocaml
cross has quit [Quit: leaving]
cross has joined #ocaml
Fleurety has quit [Ping timeout: 260 seconds]
Fleurety has joined #ocaml
Guest38 has quit [Quit: Textual IRC Client: www.textualapp.com]
ontologiae has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
Haudegen has quit [Ping timeout: 268 seconds]
Submarine has joined #ocaml
Submarine has quit [Read error: Connection reset by peer]
sgeisenh has quit [Quit: WeeChat 1.2]
Haudegen has joined #ocaml
BitPuffin has quit [Ping timeout: 265 seconds]
shinnya has joined #ocaml
orbifx has joined #ocaml
zpe has joined #ocaml
kushal has quit [Quit: Leaving]
<ollehar> did anyone implement a tiny language with gc? I really need a prototype to look at!
<ollehar> or I might just codegen C.
<ollehar> or read even more ocaml source code.
Kakadu has joined #ocaml
<dmbaturin> ollehar: If you target C, there's readily available Boehm GC library.
larhat has joined #ocaml
Guest38 has joined #ocaml
<ollehar> dmbaturin: true
<ollehar> but then I might as well use llvm
<ollehar> how does boehm perform compared to e.g. ocaml gc?
<ollehar> or any tracing gc...
orbifx has quit [Quit: AtomicIRC: The nuclear option.]
<ely-se> ollehar: I did
<ely-se> using Boehm
orbifx has joined #ocaml
<ollehar> ely-se: hi! hm ok.
<ollehar> were you happy with the result?
<ely-se> no parser yet, but compilation works: https://github.com/rightfold/line
<ely-se> sure, it works fine
<ollehar> I don't know any "serious" runtime that use boehm.
<ely-se> Mono used to
Guest38 has quit [Ping timeout: 264 seconds]
<ollehar> ah
tennix has joined #ocaml
<bitbckt> GCJ and Guile, too. Probably disqualified as "serious".
<adrien> gcj is dead
<bitbckt> long live gcj
<adrien> guile is actually alive
<bitbckt> in any event, I'm not sure either are relevant to the issue at hand.
<ollehar> I'm having trouble finding learning material about gc implementation
<ollehar> high-level concept there's plenty of
<ollehar> I would need a "toy" compiler
<bitbckt> a small interpreter should be fine.
<ollehar> depends on how the gc is supposed to crawl the stack/registers
<bitbckt> the execution model isn't really relevant, if you're just exploring the space.
tennix has quit [Ping timeout: 264 seconds]
<bitbckt> at least intially, root discovery is a distraction.
<ollehar> bitbckt: for tracing gc aswell?
<ollehar> that's like my only problem ><
<bitbckt> yes.
<ollehar> bitbckt: are you working with compilers?
<bitbckt> ollehar: I've worked on several runtimes. Hotspot being the most recent, well-known of them.
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<bitbckt> the "kernel" of your GC doesn't need to know *where* roots come from.
<ollehar> cool
<bitbckt> so, how you find them isn't really germane to understanding how various GCs operate.
<ollehar> true
<ollehar> but I was planning to steal the gc from another runtime :P
<bitbckt> heh.
<ollehar> so all my attention is at the "joints"
<orbifx> any opinions on Rashell? Is there a better shell programming library?
<bitbckt> ollehar: as a first cut, I think it would be just fine to write a simple freelist mark/sweep collector.
<bitbckt> that should be straightforward enough to give you something to work with, while you build out the remainder of your project.
<bitbckt> it won't be competitive by any means, but it's easy and quick to get up and running with.
<bitbckt> yeah, that's about the gist of it.
<ollehar> but the roots are explicit in his code
<ollehar> or the "stack"
<bitbckt> sure.
<ollehar> but when you compile to binary without a jit...?
<bitbckt> a shadow stack is fairly easy to maintain.
<ollehar> right, llvm has support for that.
<bitbckt> again, as a first cut.
<ollehar> sure, I'm happy to get anything up a running ^^
<ollehar> what's beyond shadow-stack?
<bitbckt> that usually falls out of the runtime's execution model.
<bitbckt> threads and their stacks, with stack maps, runtime roots, and foreign handles.
<ollehar> is this related to the program-counter in any way?
<ollehar> is that the level we talk about?
<bitbckt> not the PC necessarily, but there's usually a frame pointer around to traverse the stack.
<ollehar> does the compiler inserts frame pointers?
<bitbckt> if not, then there might be a map of PC -> frame descriptor -> stack map.
<bitbckt> yes.
<ollehar> so, all this is in the ocaml compiler too, right?
<bitbckt> presumably, but I'm not an ocaml internals expert.
<bitbckt> just a lowly language user, in this community :)
<ollehar> OK, I will check. thanks for your help! really helpful!
igitoor has quit [Ping timeout: 240 seconds]
ely-se has quit [Read error: Connection reset by peer]
ely-se has joined #ocaml
<ollehar> bitbckt: oh btw, just a quick one: what kind of gc do you think would be appropriate for a server environment?
<ollehar> I know java has a bunch to chose from ^^
slash^ has quit [Read error: Connection reset by peer]
igitoor has joined #ocaml
<bitbckt> depends upon the latency/throughput trade-offs you'd like to make - variants on mark/sweep generally offer lower latency, while mark/compact generally offers higher throughput.
<bitbckt> in broad strokes
<ollehar> hm ok
<companion_cube> ollehar: what are you writing?
<ollehar> companion_cube: ah, still my php compiler
<companion_cube> meh
<ollehar> what now? :)
<ollehar> it will be the awesomest...
<companion_cube> you have more patience than I could imagine having
<companion_cube> maybe php code lends itself to stack-based memory management?
<companion_cube> i.e., maybe most objects do not outlive their stack frame
<companion_cube> in which case you could avoid using a GC
<ollehar> I must admit, llvm is tearing me down... it's not at all "plug-and-play" gc.
<ollehar> hm
zpe has quit [Remote host closed the connection]
<ollehar> well, people code in php as they code in java.
<ollehar> well...
igitoor has quit [Ping timeout: 240 seconds]
<ollehar> how would I know that? if objects outlive the stack frame ( = their scope, right?)
<ollehar> maybe the gc topic was just more advanced than I anticipated.
igitoor has joined #ocaml
<companion_cube> you know if the object is not returned nor given to non-inlined functions
<companion_cube> rust's type system carries this information, which is why they can use manual memory management
<ely-se> I want to write a Malbolge compiler with LLVM.
<ely-se> Problem is, Malbolge uses self-modifying code and uses ternary registers.
<profan> ely-se: continuing your quest of self-flagellation i see :D
<bitbckt> haha
<ely-se> nah, nvm, I'll write an interpreter probably
<profan> aw
<ollehar> companion_cube: so, in C, allocating on stack instead of heap? you mean this could work for PHP compiled to C?
<ely-se> after executing an instruction, said instruction must be encrypted
<ely-se> you can't really do that with LLVM
<companion_cube> this channel is filled with compiler masochists
<ollehar> ;)
<companion_cube> ollehar: or it can be allocated in the heap with malloc
<companion_cube> or with a specific allocator
igitoor has joined #ocaml
igitoor has quit [Changing host]
jonludlam has quit [Ping timeout: 240 seconds]
sbrouf has quit [Ping timeout: 256 seconds]
<orbifx> what shell programming library do you recommend for ocaml?
freehck has quit [Ping timeout: 246 seconds]
ontologiae has quit [Read error: Connection reset by peer]
ontologiae has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
<orbifx> no shell programmers :S
malc_ has joined #ocaml
cball has joined #ocaml
nopf has quit [Ping timeout: 246 seconds]
<ollehar> sorry, ofbifx :/
nopf has joined #ocaml
<ollehar> orbifx
<ollehar> *
<ollehar> just try one out, I guess.
nullcatxxx_ has joined #ocaml
<orbifx> yeah, was going to try reshell but installation blew up :P
_andre has quit [Quit: leaving]
<orbifx> i think some dependencies are missing which i need to manually get using the system package manager
<orbifx> does opam warn for those?
<ollehar> orbifx: you could paste your error messages
chmk has joined #ocaml
<Drup> orbifx: it should
<Drup> (that's what the conf-* packages are for)
<orbifx> ollehar: let me run it again, cause i killed that session
<orbifx> Drup: you mean it explains? or fetches them?
<Drup> orbifx: it fails if it's not installed and tells you to do it
<Drup> (at least if it's properly packaged ..)
raphaelss has joined #ocaml
<orbifx> yeah it does say
<orbifx> it needs bmake
<orbifx> just not highlighted enough for the lazy tired person :P
<ely-se> companion_cube: http://jsfiddle.net/sun2rd6o/
<ely-se> just wrote a buggy malbolge interpreter
<companion_cube> don't want to know
<ely-se> but look at the pattern in the output :) it's supposed to be "Hello World!"
<mrvn> Did porting ocaml to AVR ever go anywhere?
regnat has quit [Ping timeout: 250 seconds]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<ely-se> ah it works now: http://jsfiddle.net/sun2rd6o/1/
jwatzman|work has joined #ocaml
<ollehar> is caml__root variable in the C API kind of like a shadow-stack?
nullcatxxx_ has joined #ocaml
<mrvn> ollehar: it's what keeps things alive.
nullcatxxx_ has quit [Client Quit]
<ollehar> mrvn: isn't that the point of a stack-map?
regnat has joined #ocaml
<mrvn> ollehar: you can add things other than the stack to the root set
<ollehar> mrvn: global variables?
<mrvn> for example
<ollehar> ok thanks
<mrvn> you should be usng the macros that hide caml__root though
<ollehar> mrvn: yeah, sure, I'm just trying to understand gc in general.
<ollehar> and why whitequark called it a "hack" ^^
rand__ has joined #ocaml
palomer has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
govg has joined #ocaml
chmk has left #ocaml [#ocaml]
jonludlam has joined #ocaml
mac10688 has joined #ocaml
mv has joined #ocaml
scriptdevil has joined #ocaml
jeffmo has quit [Quit: jeffmo]
jonludlam has quit [Ping timeout: 256 seconds]
jonludlam has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
Simn has quit [Quit: Leaving]
malc_ has quit [Quit: leaving]
mv has quit [Remote host closed the connection]
ely-se has quit [Quit: sleep]
ibor has quit [Quit: Leaving.]
ibor has joined #ocaml
BitPuffin|osx has joined #ocaml
lobo has quit [Quit: leaving]
rand__ has quit [Quit: leaving]
nullcatxxx_ has joined #ocaml
rgrinberg has joined #ocaml
ollehar has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 244 seconds]
palomer has quit [Quit: palomer]
palomer has joined #ocaml
mrvn has quit [Ping timeout: 244 seconds]
orbifx has quit [Quit: WeeChat 1.3]
Kakadu has quit [Remote host closed the connection]
mrvn has joined #ocaml
rgrinberg has joined #ocaml
mattrepl_ has joined #ocaml
ivan\_ has joined #ocaml
bernardo1pc has joined #ocaml
ivan\ has quit [Ping timeout: 246 seconds]
mattrepl has quit [Ping timeout: 246 seconds]
struk|desk has quit [Ping timeout: 246 seconds]
bernardofpc has quit [Ping timeout: 246 seconds]
mattrepl_ is now known as mattrepl
struk|desk has joined #ocaml
echo-area has quit [Ping timeout: 246 seconds]
tg has quit [Ping timeout: 246 seconds]
stomp has quit [Ping timeout: 246 seconds]
cartwright has quit [Ping timeout: 246 seconds]
vbmithr has quit [Ping timeout: 246 seconds]
vbmithr has joined #ocaml
echo-area has joined #ocaml
stomp has joined #ocaml
cartwright has joined #ocaml
ivan\_ is now known as ivan\
tg has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
Radvendii has joined #ocaml
madroach has joined #ocaml
sepp2k has quit [Quit: Leaving.]
Algebr has joined #ocaml
palomer has quit [Quit: palomer]
jwatzman|work has quit [Quit: jwatzman|work]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]