ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
<ygrek> hm, that's interesting
<ygrek> so that's not exactly like running one current runtime per OS thread %)
<yminsky> Not exactly. It's like that, plus good support for little stacklets.
* ygrek smells delimited continuations
<ygrek> do you have Oleg onsite? :)
<yminsky> No, but between Leo, Dolan and KC, I think a sufficient simulacrum can be conjured.
<ygrek> :))
ollehar has quit [Read error: Connection reset by peer]
<ygrek> KC? XC?
<Drup> and the result might be understandable, as opposed to delimcc
ollehar has joined #ocaml
<avsm> we had Oleg onsite a couple of months ago :)
<ygrek> aha!
<Drup> yminsky: and also, there is a good amount of libraries using lwt and async, so it would be a big issue if it was not possible to use them with the new stuff
<cojy_> is delimcc really not that understandable?
ncthom91 has quit [Quit: Textual IRC Client: www.textualapp.com]
<yminsky> I don't think there's any chance of this killing Async/Lwt. But it might make it less needed for some current use-cases.
<Drup> I personally can't and I don't seem to be the only one
* ygrek believes it is not specific to delimcc as a library, but more of a general concept being a little mind-twisting
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
rand000 has quit [Quit: leaving]
ontologiae_ has joined #ocaml
kdef has quit [Quit: Leaving]
avsm has quit [Quit: Leaving.]
ontologiae_ has quit [Ping timeout: 272 seconds]
<Drup> yes, ygrek, I agree
<dmbaturin> Fibers? What are those?
shinnya has quit [Ping timeout: 256 seconds]
<rgrinberg> dmbaturin: they're a part of every healthy diet
dav- has joined #ocaml
<dmbaturin> rgrinberg: Depends. Eating single mode fibers is hardly healthy.
dav has quit [Ping timeout: 250 seconds]
AltGr has joined #ocaml
xificurC_ has joined #ocaml
xificurC has quit [Ping timeout: 256 seconds]
dav has joined #ocaml
dav- has quit [Ping timeout: 272 seconds]
contempt has quit [Ping timeout: 240 seconds]
contempt has joined #ocaml
darkf has joined #ocaml
darkf has quit [Changing host]
darkf has joined #ocaml
rgrinberg has quit [Ping timeout: 276 seconds]
MrScout has quit [Ping timeout: 265 seconds]
ygrek has quit [Ping timeout: 264 seconds]
rgrinberg has joined #ocaml
badkins has quit []
nullcat has joined #ocaml
swgillespie has quit [Read error: Connection reset by peer]
swgillespie has joined #ocaml
<nullcat> rgrinberg: hi
<nullcat> u here?
swgillespie has quit [Client Quit]
mfp has quit [Ping timeout: 255 seconds]
<rgrinberg> nullcat: hi!
<nullcat> i... i still am not clear about ivg's argument...
<nullcat> do i have to make things that complicated...
<nullcat> i mean, i don't have to. what advantages do I have if I follow his suggestion
<rgrinberg> no i don't think you should
<rgrinberg> there are 2 kinds of clients
<nullcat> i don't quite understand his ``type user``
<rgrinberg> 1) ones that try to hide the implementation details of the api
<nullcat> ok
<rgrinberg> 2) and ones that don't and expose the low level details
<rgrinberg> i think going for 2 is better
<nullcat> ok fine
<nullcat> cause i really dont think exposing Lwt_stream.t is a big deal...
<rgrinberg> yes, but it should really be optional
<rgrinberg> it shouldn't be the only way of using the api
<nullcat> another thing is that
<rgrinberg> because then you get the worst of both worlds. the client exposes the implementation details and its inflexible
<rgrinberg> yep
<rgrinberg> and you really should add a local opam file, otherwise it's annoying to work with it locally
<rgrinberg> :P
<nullcat> ok I am adding it now...
hilquias has joined #ocaml
<rgrinberg> e.g. i have some hacked versions of ocaml-re, cohttp, etc. installed
<rgrinberg> i need a clean environment for otter
mfp has joined #ocaml
dav- has joined #ocaml
ontologiae_ has joined #ocaml
dav has quit [Ping timeout: 244 seconds]
ontologiae_ has quit [Ping timeout: 272 seconds]
adc90 has quit [Read error: Connection reset by peer]
keen______ has joined #ocaml
adc90 has joined #ocaml
<Drup> rgrinberg: alias switch :3
keen_____ has quit [Ping timeout: 255 seconds]
palomer has joined #ocaml
<rgrinberg> nullcat: wrong ticket ^_^
<nullcat> ...
<nullcat> hold..
<nullcat> i need to remove this commit... something is wrong
<nullcat> with the opam file
struktured has quit [Ping timeout: 256 seconds]
palomer has quit [Ping timeout: 264 seconds]
<nullcat> rgrinberg: i upload the opam flie
<nullcat> ...actually I am not quite sure if this opam works..
<nullcat> this is the second time i write an opam file...
<rgrinberg> Drup: will assemblage generate opam files?
<Drup> nullcat: do opam pin my_package /directory
<nullcat> yes and it works
<Drup> and opam will create an opam file
<Drup> if you don't have one
<nullcat> oh...
<Drup> and you just have to fill the holes
<nullcat> i wrote one opam file and test it with $opam pin add otter .
<nullcat> well... there is nothing under ~/.opam/4.02.1/lib/otter ......
<nullcat> oh i need to specify "install: true" in _oasis..
palomer has joined #ocaml
<nullcat> don't know why this "opam pin add" does not compile the library...
<rgrinberg> nullcat: you don't have install:
<rgrinberg> e.g. look at cohttp's opam file
<rgrinberg> also, don't GPL your libs...
<nullcat> adding "Install: true" in _oasis ?
<nullcat> um, why not GPL?
<nullcat> i mean... i dont't really care but i wonder what the reason is
<rgrinberg> it forces your license onto potential users
<rgrinberg> use LGPL with linking exception at most
<rgrinberg> e.g. now if i make some program that uses your lib i must gpl it too
<rgrinberg> (if i'm to publish it)
<nullcat> ok i'll use ISC...
<nullcat> see this one is used everywhere in Mirage
<nullcat> ok i pushed
<Drup> nullcat: reading for you: http://choosealicense.com/ https://tldrlegal.com/
<Drup> licenses are important, don't choose "because someone else use it"
<rgrinberg> Drup: i think there should also be a link about ocaml's situation
<rgrinberg> e.g. about the linking exception
<Drup> huum, do you have a nice explanation ?
<nullcat> thx, drup
<Drup> (in some sense, it's minor, because it's mostly for the LGPL)
<rgrinberg> Drup: yeah but it's a common pitfall b/c the lgpl is equivalent to the gpl in ocaml
<rgrinberg> without teh exception
<rgrinberg> not a real source but https://github.com/vincenthz/ocaml-sha/issues/17
<Drup> yeah, but everyone in the OCaml communti basically does s/LGPL/LGPL with linking exception/ anyway :>
<rgrinberg> yeah, maybe opam lint should even warn about lgpl
<rgrinberg> :P
<Drup> "you are using the LGPL license, BOUUUH"
<Drup> :D
idegen has quit [Quit: Leaving.]
palomer has quit [Ping timeout: 250 seconds]
palomer has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
kido1412 has joined #ocaml
palomer has quit [Client Quit]
<kido1412> There are ```String.Map```, ```Int.Map``` ... in Janestreet's OCaml Core lib, I'm wondering how it do it. In java, I can create a base class and some sub class using ```extends``` to polymorphism. Anybody give me some keyword in OCaml so I can search the polymorphism mechanism in this case?
<Drup> the keyword is functor :)
manizzle has quit [Ping timeout: 252 seconds]
b0mbastus has joined #ocaml
keen_______ has joined #ocaml
keen______ has quit [Ping timeout: 264 seconds]
<kido1412> Thanks Drup:)
<kido1412> I found ```include Comparable.Map_and_set_binable (T)``` in core_int.ml, then, ```module Map = Core_map.Make_binable_using_comparator (C)``` in comparable.ml. At last, I found a lot of function in core_map.ml.
<kido1412> The module system in OCaml is too powerful and complicate.
ygrek has joined #ocaml
<Algebr> compared to what
<Drup> I don't think you should start by reading core.
<kido1412> Yes, the code base of Core is very large.
<kido1412> any alternative to core?
<Drup> well, you could just read the stdlib.
<Drup> It's small and most of it is simple
<Drup> (in particular, the map module)
Algebr has quit [Ping timeout: 255 seconds]
tnguyen has quit [Quit: tnguyen]
<kido1412> Oh, yeah, I should read stdlib before. I just read the map.ml as you suggested. There is one module type OrderedType, one type S, and a functor Make. Make has a param which match type OrderedType and produce a new module which match S. It's simpler.
manizzle has joined #ocaml
ygrek has quit [Ping timeout: 258 seconds]
MercurialAlchemi has joined #ocaml
palomer has joined #ocaml
Arlen_ has joined #ocaml
c74d has quit [Remote host closed the connection]
palomer has quit [Ping timeout: 245 seconds]
c74d has joined #ocaml
palomer has joined #ocaml
Arlen_ has quit [Ping timeout: 246 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
arj has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
creichert has quit [Ping timeout: 276 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
Simn has joined #ocaml
palomer has quit [Ping timeout: 264 seconds]
palomer has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 264 seconds]
kido1412 has quit [Quit: Page closed]
hay207 has joined #ocaml
swgillespie has joined #ocaml
djellemah_ has quit [Ping timeout: 272 seconds]
palomer has quit [Quit: palomer]
djellemah has joined #ocaml
hay207 has quit [Ping timeout: 256 seconds]
Haudegen has quit [Ping timeout: 256 seconds]
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
matason has joined #ocaml
hay207 has joined #ocaml
Cyanure has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 255 seconds]
Denommus` has quit [Ping timeout: 255 seconds]
b0mbastus has quit [Ping timeout: 265 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Haudegen has joined #ocaml
jonludlam has quit [Ping timeout: 252 seconds]
palomer has joined #ocaml
palomer has quit [Ping timeout: 246 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ia0 has quit [Quit: leaving]
<Unhammer> if something doesn't have a license, then I can use it privately and commercially? that's simply not true
ia0 has joined #ocaml
palomer has joined #ocaml
<Cypi> That's strange. They have this page http://choosealicense.com/no-license/ which is more accurate.
mengu has joined #ocaml
Gama11 has joined #ocaml
<adrien_znc> websites which "help you chose/understand a license" typically are bad
<adrien_znc> "oh we forgot half the clauses of the GPL and interpreted the other in our own and very special way"
<Unhammer> you'd think github could have one of their lawyers take a look at it since it's their project :/
<adrien_znc> ah
<adrien_znc> that one might not be the one I had in mind
monod has joined #ocaml
<adrien_znc> (I had license;dr and another one in mind)
<adrien_znc> ok, from a quick look, it seems good enough
<adrien_znc> you should still read the licenses in full (like any contract) but at least it's really not a misguiding summary
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 272 seconds]
<Unhammer> adrien_znc, but http://choosealicense.com/licenses/no-license/ is just wrong
monod has quit [Remote host closed the connection]
<Cypi> Unhammer : you can alwais file an issue https://github.com/github/choosealicense.com/issues
<Cypi> always*
<Unhammer> did
larhat has quit [Quit: Leaving.]
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
larhat has joined #ocaml
asQuirreL has joined #ocaml
Cyanure has quit [Remote host closed the connection]
hilquias has quit [Remote host closed the connection]
palomer has quit [Quit: palomer]
xificurC_ has quit [Quit: WeeChat 1.1.1]
xificurC has joined #ocaml
badon has joined #ocaml
<xificurC> TIL the difference between LGPL and GPL
<xificurC> no idea about the linking exception you guys are mentioning though, does it have something to do with ocaml's license?
<adrien_znc> static linking exceptions
<adrien_znc> s/s$//
<adrien_znc> basically that the terms of the LGPL for dynamic linking also apply when used with static linking as ocaml does
Haudegen has quit [Ping timeout: 255 seconds]
jonludlam has joined #ocaml
mengu has quit [Remote host closed the connection]
creichert has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 240 seconds]
A1977494 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
<dmbaturin> xificurC: Default LGPL requires that if you link a lib statically, you must provide object files so the users can relink it, which turns out to be of little use in practice. So libs that are normally linked statically usually add a clause that removes this obligation.
<xificurC> I see, thanks adrien_znc and dmbaturin
Haudegen has joined #ocaml
Kakadu has joined #ocaml
yomimono has joined #ocaml
dsheets has joined #ocaml
lordkryss has joined #ocaml
sdothum has joined #ocaml
TheLemonMan has joined #ocaml
freling has joined #ocaml
siddharthv has quit [Ping timeout: 272 seconds]
muzzle has joined #ocaml
johnelse has quit [Ping timeout: 256 seconds]
jonludlam has quit [Ping timeout: 250 seconds]
jonludlam has joined #ocaml
ocp has joined #ocaml
rgrinberg has joined #ocaml
siddharthv has joined #ocaml
johnelse has joined #ocaml
johnelse is now known as Guest10048
rgrinberg has quit [Ping timeout: 250 seconds]
AltGr has left #ocaml [#ocaml]
Tekilla has joined #ocaml
manizzle has quit [Remote host closed the connection]
jwatzman|work has joined #ocaml
Tekilla has quit [Quit: Quitte]
muzzle has quit [Quit: Leaving.]
_andre has joined #ocaml
jabesed has joined #ocaml
rgrinberg has joined #ocaml
<Unhammer> this is what I hate about OO:
<Unhammer> someobject.cleanup(); someobject.preprocess(); if someobject.furhterprocessing(): someobject.moar(); someobject.print_thing_because_we've_processed_our_stuff()
rgrinberg has quit [Ping timeout: 252 seconds]
mengu has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
dav- has quit [Ping timeout: 276 seconds]
dav has joined #ocaml
Haudegen has quit [Ping timeout: 245 seconds]
asQuirreL has quit [Ping timeout: 245 seconds]
A1977494 has joined #ocaml
asQuirreL has joined #ocaml
jabesed has quit [Ping timeout: 272 seconds]
ggole has joined #ocaml
Haudegen has joined #ocaml
keen________ has joined #ocaml
keen_______ has quit [Ping timeout: 245 seconds]
badkins has joined #ocaml
mengu has quit [Read error: Connection reset by peer]
mengu has joined #ocaml
mengu has joined #ocaml
siddharthv is now known as siddharthv_away
rgrinberg has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
<Enjolras> Drup: hi, i remember you wanted to fix aspucd on archlinux. I was using dragonflybsd lately where it works fine, but i moved back on archlinux and it fails
freling has quit [Quit: Leaving.]
<Enjolras> Drup: any pointer ?
<Enjolras> My bad luck with opam will become legendary !
<reynir> Uh, it works fine for me
<Enjolras> i get [WARNING] External solver failed with inconsistent return value. Request saved to
rgrinberg has quit [Ping timeout: 264 seconds]
Kakadu has quit [Ping timeout: 246 seconds]
octachron has joined #ocaml
chambart has joined #ocaml
<Drup> same here, no problem
jabesed has joined #ocaml
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
krishnav has joined #ocaml
pyon has quit [Quit: fix config]
krishnav has quit [Client Quit]
pyon has joined #ocaml
chitti has joined #ocaml
<chitti> Hi
<chitti> I am trying to run OCaml binaries (ocamlc, ocamlopt), compiler in another computer.
<chitti> Someone I know, has already got this to work for OCaml 3.10, but I am not able to replicate it for OCaml 4.01.0 or 4.02.1.
nonuby has joined #ocaml
<chitti> My question is, can this be done for OCaml 4.02 or 4.01? Or is it a dead end to try this?
Guest10048 is now known as johnelse
<Snark> chitti: what do you mean exactly by "run ocaml binaries, compiler in another computer" ?
sepp2k has joined #ocaml
jabesed has quit [Ping timeout: 245 seconds]
lordkryss has joined #ocaml
<chitti> OCaml binaries: ocamlc, ocaml.opt, used to compile ML files.
<chitti> I would like to use ocamlc to compile programs I have written, but through a package manager that gets the compiler binaries installed elsewhere.
<chitti> The OCaml compiler has the absolute path of where it is installed, hardcoded inside.
<Drup> just run "ocamlrun your_binary"
<chitti> What does that do?
<chitti> Can I run "./ocamlrun ocamlc" for example?
jabesed has joined #ocaml
<Drup> ocamlc(.opt) produces a bytecode, not a native executable
<Drup> ocamlrun is the vm that executes the bytecode
<Drup> you need ocamlrun installed on your system to run any bytecode
<Drup> if you want to produce *native* codes for other architecture, I'll let you talk with adrien who will very happy to talk about cross compil.
idegen has joined #ocaml
<chitti> The binaries I have are the OCaml compiler itself.
<chitti> That is, I want to use the compiler from a place other than first-install location
<arj> chitti: is it the same machine type?
<arj> i.e. same operating system?
<chitti> Yes, it is
<chitti> Same os, and even processor/memory
<arj> then it should just be executable when you install it in the same path.
pdewacht has quit [Ping timeout: 258 seconds]
<chitti> But I would like to use it from a different path (I am forced by constraints of the package builder I am using).
<arj> then you can use it with the mehod Dru'p suggested.
<chitti> I replace mention of ocamlc with ocamlrun in Makefiles?
<chitti> Would that work?
<arj> the simplest might be, to create a shellscript named ocamlc and remove the real ocamlc from the path. And in the shellscript you just call /path/to/ocamlrun /path/to/ocamlc
<adrien_znc> you can make a function instead
<arj> or you just use opam that handles all the nasty things for you.
<arj> and can work within a non-root user environment.
<chitti> I am constrained against using OPAM too. The shellscript seems best.
jabesed has quit [Ping timeout: 258 seconds]
<arj> chitti: why not opam?
<arj> what are your constraints?
amirmc has joined #ocaml
asQuirreL has quit [Ping timeout: 265 seconds]
asQuirreL has joined #ocaml
jabesed has joined #ocaml
hilquias has joined #ocaml
asQuirreL has quit [Read error: Connection reset by peer]
asQuirreL has joined #ocaml
jabesed has quit [Ping timeout: 256 seconds]
rgrinberg has joined #ocaml
Haudegen has quit [Ping timeout: 244 seconds]
<chitti> I am forced to use an internal build system
<chitti> I can't use another package manager like opam
rgrinberg has quit [Ping timeout: 264 seconds]
<jwatzman|work> chitti: if you know where your package manager will put ocamlc, i.e., it doesn't keep moving, you can specify "this is where ocamlc will eventually end up"
<jwatzman|work> i had to do this at work too, since we also use our own package management, incompatible with the way opam insists on thinking about the world
freling has joined #ocaml
<jwatzman|work> (i don't rememer how to do that but can look it up if you want)
<jwatzman|work> aha, here it is: ./configure -prefix where-it-will-eventually-end up ; make world.opt ; make install PREFIX=where-to-copy-it-right-now
ingsoc has quit [Quit: Leaving.]
mengu has quit [Remote host closed the connection]
darkf has quit [Quit: Leaving]
Algebr has joined #ocaml
A1977494 has quit [Ping timeout: 256 seconds]
tmtwd has quit [Quit: Leaving]
psy_ has joined #ocaml
jabesed has joined #ocaml
mengu has joined #ocaml
amirmc has quit [Quit: Leaving.]
dav has quit [Quit: leaving]
obadz has joined #ocaml
ollehar has quit [Ping timeout: 258 seconds]
obadz has left #ocaml [#ocaml]
ollehar has joined #ocaml
palomer has joined #ocaml
shinnya has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 272 seconds]
OnkV has joined #ocaml
amirmc has joined #ocaml
<chitti> jwatzman|work: How can I specify "this is where ocamlc will eventually end up"?
<jwatzman|work> chitti: you set "where eventually end up" with -prefix to ./configure; then you use "make install PREFIX=blah" for where you want to install it temporarily
<chitti> I'm sorry, I see your reply in the midst of all the people who quit.
A1977494 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
nonuby has quit [Quit: Leaving]
<chitti> I tried going that route, but I could use ocamlc in different computers.
<adrien_znc> DESTDIR for the second one
<adrien_znc> make install DESTDIR=/tmp/package-ocaml/
<chitti> So even though ocamlc would eventually end up in specified place in one computer, I need to use it for multiple computers (could be).
<jwatzman|work> adrien_znc: i think DESTDIR is only since 4.02; i managed to get PREFIX to work even on 4.01
<jwatzman|work> chitti: ah, this will only work if ocamlc ends up at the same path every time
<chitti> Yes, DESTDIR from 4.02.0
<adrien_znc> 4.01 iirc but, yes, "fairly" recent
<adrien_znc> hmm, ok
<chitti> I got a reply from the mailing list about DESTDIR, it was introduced from 4.02.
<chitti> I think that using ocamlrun, would work for bytecode compilation. Is there a similar work-around for native code?
rand000 has joined #ocaml
<adrien_znc> there's no such requirement for native code executables
matason has quit []
matason has joined #ocaml
jabesed has quit [Ping timeout: 264 seconds]
<chitti> I am not able to run ocamlopt, if I copy it to a different path though.
<adrien_znc> ocamlopt create native code but it's itself bytecode
<adrien_znc> (ocamlopt.opt is itself native code)
arj has quit [Quit: Leaving.]
<chitti> Oh, so I can use ocamlc.opt as well, instead of ocamlc?
<adrien_znc> yes
mengu has quit [Remote host closed the connection]
struk|work has joined #ocaml
<struk|work> In ocaml-re: "The most notable missing features are back-references and look-ahead/look-behind assertions.". DOH!
mengu has joined #ocaml
<adrien_znc> :D
thomasga has joined #ocaml
<adrien_znc> well, their absence is definitely notable
<struk|work> Do you know of an ocaml regex lib that does support lookaround?
<adrien_znc> pcre binding?
mengu has quit [Remote host closed the connection]
<chitti> People still use ocamlc instead of ocamlc.opt because of architectural limitations then?
<chitti> Thanks so much!
<adrien_znc> yes, ocamlc.opt is not available everywhere
<ggole> ...or occasionally, because it's shorter to type
<struk|work> adrien_znc: yep pcre has it. too bad re doesn't though. would prefer to continue using the api
<chitti> Oh I see, thanks!
<adrien_znc> that absence is precisely the reason why re is fast while pcre is slow
<apache2> oh, on the topic of ocaml and regexes, is there a regex library that supports streaming matching (a return type signaling "partial match, I need more data to reach a conclusion")
<struk|work> adrien_znc: yeah that would make sense
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
jabesed has joined #ocaml
rgrinberg has joined #ocaml
OnkV has quit [Ping timeout: 258 seconds]
AlexRussia has quit [Ping timeout: 272 seconds]
chitti has quit [Quit: Page closed]
jabesed has quit [Ping timeout: 250 seconds]
Haudegen has joined #ocaml
amirmc has quit [Quit: Leaving.]
wraithm has joined #ocaml
slash^ has joined #ocaml
rgrinberg has quit [Ping timeout: 272 seconds]
Hannibal_Smith has joined #ocaml
AlexRussia has joined #ocaml
rgrinberg has joined #ocaml
oscar_toro has quit [Ping timeout: 264 seconds]
jabesed has joined #ocaml
octachron has quit [Quit: Leaving]
ygrek has joined #ocaml
milosn has quit [Quit: leaving]
matason has quit []
jabesed has quit [Ping timeout: 255 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
xificurC has quit [Quit: WeeChat 1.1.1]
kdef has joined #ocaml
Algebr has quit [Remote host closed the connection]
palomer has quit [Quit: palomer]
yaewa has joined #ocaml
jabesed has joined #ocaml
moei has quit [Read error: Connection reset by peer]
obadz has joined #ocaml
bobfang has joined #ocaml
<bobfang> so a question about js_of_ocaml
<bobfang> if I use the getElementMethodByID method to get an element
<bobfang> it is a generic dom element, how can I specialise it to something say a button if I know it is a button?
<bobfang> thanks :)
ygrek has quit [Ping timeout: 256 seconds]
seako has joined #ocaml
<Drup> Js.coerce
palomer has joined #ocaml
nullcat has joined #ocaml
ollehar1 has joined #ocaml
Denommus has quit [Ping timeout: 258 seconds]
jonludlam has quit [Ping timeout: 258 seconds]
bobfang has quit []
<smondet> Drup: (bobfang has left but) for this case (DMO elements) there is Dom_html.tagged which may be nicer/safer
<Drup> smondet: pretty much equivalent, it's going to end with an assert false in both cases anyway.
<Drup> (but I must say, I didn't knew that one :D)
<Drup> note that I said Js.coerce. *NOT* Js.Unsafe.coerce :3
Algebr has joined #ocaml
ocp has quit [Quit: Leaving.]
jwatzman|work has quit [Quit: jwatzman|work]
pyon is now known as stack-pyon
rgrinberg has joined #ocaml
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Anarchos has joined #ocaml
rgrinberg has quit [Ping timeout: 250 seconds]
ggole has quit []
rgrinberg has joined #ocaml
kushal has joined #ocaml
dsheets has quit [Ping timeout: 272 seconds]
palomer has quit [Quit: palomer]
ygrek has joined #ocaml
yomimono has quit [Ping timeout: 240 seconds]
rgrinberg has quit [Quit: WeeChat 1.1.1]
hilquias has quit [Remote host closed the connection]
Algebr has quit [Read error: Connection reset by peer]
Algebr has joined #ocaml
ontologiae_ has joined #ocaml
kdef has quit [Ping timeout: 272 seconds]
ericwa has joined #ocaml
jabesed has quit [Ping timeout: 265 seconds]
jabesed has joined #ocaml
kdef has joined #ocaml
jonludlam has joined #ocaml
badkins has quit [Remote host closed the connection]
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
thomasga1 has joined #ocaml
jonludlam has quit [Ping timeout: 256 seconds]
thomasga has quit [Ping timeout: 256 seconds]
milosn has joined #ocaml
badkins has joined #ocaml
jabesed has quit [Ping timeout: 264 seconds]
jabesed has joined #ocaml
chambart has quit [Ping timeout: 256 seconds]
djellemah has quit [Ping timeout: 256 seconds]
Algebr` has joined #ocaml
bjorkintosh has quit [Quit: Leaving]
Algebr has quit [Ping timeout: 272 seconds]
freling has quit [Quit: Leaving.]
MrScout has joined #ocaml
TheLemonMan has joined #ocaml
Algebr` has quit [Remote host closed the connection]
NhanH has quit []
NhanH has joined #ocaml
asQuirreL has joined #ocaml
bjorkintosh has joined #ocaml
ygrek_ has joined #ocaml
ygrek has quit [Remote host closed the connection]
ygrek_ has quit [Remote host closed the connection]
ygrek has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
thomasga1 has quit [Quit: Leaving.]
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tane has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
yaewa has quit [Quit: Leaving...]
moei has joined #ocaml
ontologiae_ has quit [Ping timeout: 250 seconds]
ontologiae_ has joined #ocaml
ygrek has joined #ocaml
ygrek_ has joined #ocaml
asQuirreL has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
cojy_ has quit []
cojy_ has joined #ocaml
Cyanure has joined #ocaml
ontologiae_ has quit [Ping timeout: 272 seconds]
jonludlam has joined #ocaml
<companion_cube> anyone knows whether ocaml-tls is easy to use?
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mort___ has joined #ocaml
<MercurialAlchemi> companion_cube: non idea
manizzle has joined #ocaml
<companion_cube> gah, camlp4
hilquias has joined #ocaml
Denommus has joined #ocaml
slash^ has left #ocaml [#ocaml]
nullcat_ has joined #ocaml
<reynir> there's tlstunnel. It's fairly short. I guess you could look at it and judge for yourself :)
<companion_cube> looks quite simple in the end
<smondet> companion_cube: don't know if it is merged, but TLS should be in Conduit, which makes its use very declarative/easy
<companion_cube> hmmmm
<companion_cube> looks more complicated in the end
<companion_cube> I don't need certificates
<companion_cube> (yet?)
WraithM_ has joined #ocaml
mengu has joined #ocaml
jyc_ has quit [Excess Flood]
jyc has joined #ocaml
Kakadu has joined #ocaml
WraithM_ has quit [Quit: leaving]
stack-pyon has quit [Ping timeout: 272 seconds]
chambart has joined #ocaml
ollehar has quit [Remote host closed the connection]
hay207 has quit [Ping timeout: 245 seconds]
ollehar has joined #ocaml
ollehar has quit [Remote host closed the connection]
ollehar1 has quit [Quit: ollehar1]
jabesed has quit [Ping timeout: 264 seconds]
ollehar has joined #ocaml
matason has joined #ocaml
kdef has quit [Ping timeout: 255 seconds]
wraithm has quit [Quit: leaving]
Anarchos has joined #ocaml
kdef has joined #ocaml
pyon has joined #ocaml
matason has quit []
<flux> zero reaction in 10 days, I guess it's best to use libcurl then :-o https://github.com/mirage/ocaml-cohttp/issues/345
djellemah has joined #ocaml
Denommus has quit [Ping timeout: 265 seconds]
oriba has joined #ocaml
tinhead has joined #ocaml
freling has joined #ocaml
<MercurialAlchemi> flux: ugh, that's a bit crap
pii4 has quit [Max SendQ exceeded]
pii4 has joined #ocaml
<MercurialAlchemi> download a file and max your CPU
<MercurialAlchemi> at least OCaml is not multicore, so it can't freeze a modern machine :)
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
badkins has quit []
kdef has quit [Ping timeout: 256 seconds]
ontologiae_ has joined #ocaml
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ontologiae_ has quit [Ping timeout: 245 seconds]
_andre has quit [Quit: leaving]
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
kdef has joined #ocaml
sdothum has joined #ocaml
kushal has quit [Ping timeout: 256 seconds]
tane has quit [Quit: Verlassend]
Unhammer has quit [Ping timeout: 250 seconds]
n1ftyn8 has quit []
n1ftyn8 has joined #ocaml
mort___ has quit [Quit: Leaving.]
Haudegen has quit [Ping timeout: 252 seconds]
MercurialAlchemi has quit [Ping timeout: 258 seconds]
<oriba> I'm exploring OUnit now. Looks nice for unit testing. How to test my main.ml, which contains "let _ =" ? Does OUnit provide ways to test this compilation unit too? Or is this a blind spot?
<companion_cube> it's probably a blind spot
<companion_cube> I mean, if you don't want to run the let _ = ...
Cyanure has quit [Remote host closed the connection]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Haudegen has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
ollehar1 has joined #ocaml
<ollehar1> test
<ollehar1> good evening
<ollehar1> separated_list(BARLINE, expr) --> 'tv_expr type?
ygrek_ has quit [Ping timeout: 246 seconds]
ygrek has quit [Ping timeout: 252 seconds]
<ollehar1> no, 'tv_expr list
<ollehar1> but why not `expr list`?
<companion_cube> expr is a grammar production, tv_expr is probably an OCaml type, part of the AST
<ollehar1> hm, my ast definition has expr as type
<ollehar1> maybe I should rename it
<companion_cube> if the production expr returns values of type expr, then separated_list(FOO, expr) should be expr list indeed
<ollehar1> yeah, it's strange
<ollehar1> BUT, tried with `separated_list(BARLINE, nameterm)` ---> nameterm list
<ollehar1> so
Denommus has joined #ocaml
<ollehar1> heh, neither `exp` nor `expr` worked, but `expa` is ok...
thomasga has joined #ocaml
mengu has quit [Remote host closed the connection]
<ollehar1> phew
<ollehar1> it works
<ollehar1> ocaml wins again
<companion_cube> yaaay!
<ollehar1> the template engine I use at work uses regexp for parsering
<ollehar1> :)
<ollehar1> *parsing
<ollehar1> many deeply nested \\\\\\
<ollehar1> I tried that method but turned to menhir ---> much less headaches
<ollehar1> *fewer
Simn has quit [Quit: Leaving]
robink has quit [Ping timeout: 255 seconds]
mcclurmc has quit [Remote host closed the connection]
<ollehar1> zzz
ollehar1 has quit [Quit: ollehar1]
robink_ has joined #ocaml
dsheets has joined #ocaml
<l1x> hi guys
<l1x> newbie here
<l1x> this is causing stack owerflow
<l1x> what is the right way of having a function like this that is not throwing a stack owerflow
<struk|work> l1x: can't see that at work (pastebin is blocked), but I'm guessing you need make your algorithm tail recursive or stream based
<smondet> l1x: yes your function is not tail-recursive
<l1x> let rec range ~first:a ~last:b =
<l1x> if a > b then []
<l1x> else a :: range ~first:(a+1) ~last:b;;
<companion_cube> the idea is to use an additional "accumulator" argument that holds partial results
MrScout has quit [Read error: Connection reset by peer]
MrScout has joined #ocaml
<l1x> i see
<smondet> l1x: funny, the example in the tutorial is also `range`: https://ocaml.org/learn/tutorials/if_statements_loops_and_recursion.html#Tailrecursion
<l1x> smondet: thanks this is exactly what i need
<companion_cube> nice
ygrek has joined #ocaml
ygrek_ has joined #ocaml
hilquias has quit [Remote host closed the connection]
asQuirreL has joined #ocaml
tmtwd has joined #ocaml
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mcclurmc has joined #ocaml
Kakadu has quit [Remote host closed the connection]
freling has quit [Quit: Leaving.]
ontologiae_ has joined #ocaml
rand000 has quit [Quit: leaving]
ontologiae_ has quit [Ping timeout: 245 seconds]
BitPuffin|osx has joined #ocaml
psy_ has quit [Ping timeout: 265 seconds]
struk|desk has joined #ocaml
struk|desk2 has quit [Read error: Connection reset by peer]
Gama11 has quit [Read error: Connection reset by peer]
Denommus has quit [Ping timeout: 250 seconds]
<dmbaturin> What is the proper way to organize Lwt-based daemons? If I have a main loop like let rec loop () = do_things () >>= fun () -> loop (), and I write let _ = Lwt.async loop, the executable terminates immediately (but it works fine in the REPL).
sepp2k has quit [Quit: Leaving.]
tinhead has quit [Remote host closed the connection]
<dora-molly> Lwt_main.run
madroach has quit [Ping timeout: 264 seconds]
jeffmo has joined #ocaml
madroach has joined #ocaml
hilquias has joined #ocaml
<dmbaturin> dora-molly: Thanks!
ontologiae_ has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
thomasga has quit [Quit: Leaving.]
kdef has quit [Quit: Leaving]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
AltGr has joined #ocaml