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
mort___ has quit [Quit: Leaving.]
clog_ has quit [Quit: ^C]
clog has joined #ocaml
avsm has quit [Quit: Leaving.]
<Denommus> I had made such a stupid mistake
<Denommus> how didn't I see that?
palomer has joined #ocaml
mort___ has joined #ocaml
ohama has quit [Ping timeout: 240 seconds]
struktured has quit [Ping timeout: 256 seconds]
palomer has quit [Quit: palomer]
dav- has joined #ocaml
<ollehar> anyone awake?
<ollehar> how do I get only a single \ in sprintf format string?
<ollehar> like
<ollehar> sprintf "show only \\" ---> "show only \\"
dav has quit [Ping timeout: 272 seconds]
mietek_ is now known as mietek
yomimono has quit [Ping timeout: 264 seconds]
<ollehar> hm, maybe a problem with exception printing
s1n4 has quit [Ping timeout: 240 seconds]
peterbb_ has quit [Ping timeout: 256 seconds]
<ollehar> yep, it is. damn.
peterbb has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
struktured has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 265 seconds]
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
mort___ has quit [Quit: Leaving.]
ollehar has quit [Remote host closed the connection]
ohama has joined #ocaml
struktured has quit [Ping timeout: 265 seconds]
pyon has quit [Quit: fix config]
pyon has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
osa1 has quit [Ping timeout: 256 seconds]
ilia has joined #ocaml
darkf has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Ping timeout: 276 seconds]
kapil___ has quit [Quit: Connection closed for inactivity]
ygrek has joined #ocaml
Denommus has quit [Quit: going home]
palomer has joined #ocaml
osa1 has joined #ocaml
ygrek_ has joined #ocaml
rgrinberg has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
javamonn has joined #ocaml
psy_ has quit [Quit: Leaving]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
javamonn_ has joined #ocaml
javamonn has quit [Read error: Connection reset by peer]
BitPuffin|osx has quit [Ping timeout: 255 seconds]
<ilia> how to use 'match .. with' and regular expressions together?
<ilia> reading a file line by line recursively and want to read and parse at the same time
<ilia> it looks like it is not doable
ncthom91 has joined #ocaml
manizzle has quit [Ping timeout: 272 seconds]
jabesed has quit [Ping timeout: 256 seconds]
Algebr` has quit [Ping timeout: 264 seconds]
palomer has quit [Quit: palomer]
psy has joined #ocaml
palomer has joined #ocaml
s1n4 has joined #ocaml
<ilia> I have a question about match .. with and regexp
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
manizzle has joined #ocaml
javamonn_ has quit [Read error: Connection reset by peer]
ygrek_ has quit [Ping timeout: 240 seconds]
javamonn has joined #ocaml
idegen has quit [Quit: Leaving.]
javamonn has quit [Read error: Connection reset by peer]
<jyc> ilia: go ahead and ask it! an unasked question can't be answered :P
<jyc> oh, I see you have written it out above.
javamonn has joined #ocaml
<jyc> do you mean you would like to pattern match on groups matched by the regexp?
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jyc> it is definitely doable, but you will probably have to write some helper functions.
hilquias has joined #ocaml
javamonn has quit [Remote host closed the connection]
struktured has joined #ocaml
osa1 has quit [Ping timeout: 255 seconds]
javamonn has joined #ocaml
nopf has quit [Read error: Connection reset by peer]
ncthom91 has joined #ocaml
ygrek has joined #ocaml
javamonn has quit [Remote host closed the connection]
vpm has quit [Ping timeout: 264 seconds]
kdef has joined #ocaml
javamonn has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
osa1 has joined #ocaml
psy has quit [Disconnected by services]
psy_ has joined #ocaml
kdef has quit [Quit: Leaving]
javamonn has quit [Remote host closed the connection]
Tekilla has quit [Ping timeout: 264 seconds]
ncthom91 has joined #ocaml
struktured has quit [Ping timeout: 264 seconds]
osa1 has quit [Ping timeout: 256 seconds]
ygrek has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
psy_ has quit [Ping timeout: 246 seconds]
c74d3 is now known as _8680_
_8680_ is now known as c74d
psy_ has joined #ocaml
ncthom91 has joined #ocaml
hilquias has quit [Ping timeout: 264 seconds]
swgillespie has joined #ocaml
kushal has joined #ocaml
palomer has quit [Quit: palomer]
palomer has joined #ocaml
<ilia> question still stays: how to use 'match..with' and regular expressions together?
palomer has quit [Client Quit]
<ilia> suppose, I want to read a file line by line in a recursive way, and I want to parse what is read at the same time
<ilia> is it possible?
nojb has joined #ocaml
<dmbaturin> ilia: Well, regular expression matching functionality is provided by library functions. You can use expressions that involve those functions in match ... with, just like any other expressions.
<ilia> so, people do it all the time and it is an ocaml way of doing things, right?
<flux> there are camlp4-based syntax extensions for regular expression 'match', but I guess since it's camlp4 it's no longer favored ;)
<flux> ilia, parser combinators or parser generators might be more ocamly
<nojb> you could use sedlex, but is more geared towards lexers than pure regular expressions ...
<flux> my latest contact has been using the great pcre module and just use it for splitting, matching, extracting substrings, etc..
Leonidas_ is now known as Leonidas
<flux> it worked nice.
<ilia> it is an overkill, with perl or python I do not do this yacc/lex to parse a file
<dmbaturin> ilia: Also, Str is not the most extensive or easy to use library, there are ocamlre and PCRE bindings.
<flux> so for a short example of code I've used: let split_mask mask = match Pcre.split ~pat:"@" mask with | [user; host] -> (user, host) | _ -> ("*", mask)
<flux> or: List.map trim (Pcre.split ~pat:"," str)
<flux> so I guess the code looks pretty similar in other languages using regular expressions
<flux> and a "parsing" one: let parse_command ~murmelo_nick channel msg = match channel, try_extract ~pat:"^!?([^ ]*)(?: (.+))?$" msg with | nick, Some [|_; cmd; args|] when nick = murmelo_nick -> Some (true, cmd, args) | _ -> ..
<ilia> I have to install pcre module?
<flux> (oh and let try_extract ?pat msg = try Some (Pcre.extract ?pat msg) with Not_found -> None)
<flux> for example, yes
<flux> since I've written that code there have been other regular expression matchers introduced
<flux> I understand 're' is decent, but I haven't used it
<dmbaturin> I know a guy who uses hand-coded lexers with parser generators. When it comes to formal languages, there is no least crazy thing to do. ;)
<flux> but if you have anything sort of a language, I would personally consider lexer/parser generators. it's really quite simple after all.
<dmbaturin> Yes, Pcre is not a part of the standard library (both re, the pure ocaml library, and PCRE bindings are in opam).
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ilia> ok, let me try "re"
palomer has joined #ocaml
<flux> I would indeed suggest against the Str module, it will leave a sour taste ;)
<flux> not to mention impossible threading bugs if you ever go that way
<ilia> I just want to parse a file line by line and put whatever parsed in lists, it is so difficult comparing with loops technique I used to
nojb has quit [Quit: nojb]
<dmbaturin> ilia: What is the file format like?
<ilia> X X123 A:12 B:333 C:44
<ilia> many lines of this
<flux> so first or the two first fields are special?
<dmbaturin> What are you going to do with that data?
<ilia> I've been told to use recursive way of reading a file line by line
<ilia> it is a point in a 3d space
<ilia> I want to map a set of points to another set of points
<ilia> so, it is actually X Y Z instead of A B C
mengu has joined #ocaml
mengu has joined #ocaml
pobivan has joined #ocaml
<dmbaturin> So you need to load it first and manipulate it later?
<flux> using the syntax I know it could be something like let parse input = match Pcre.split ~pat:" " input with [special1; special2]::rest -> return proper data | _ -> failwith ("failed to parse: " ^ input)
<ilia> yes, then I create some sort of a tree
<flux> and then somewhere else you might use Enum.map on that function and the input
<flux> and the input you could get with Batteries' File.lines_of function (?)
<ilia> flux, I am copying and pasting your code
<flux> well good luck with that.. ;-)
<ilia> I have to install Batteries as well
<flux> well, you can do without, but why not.
<ilia> I tried to do this with a stock OCaml
rgrinberg has quit [Ping timeout: 276 seconds]
mal`` has quit [Ping timeout: 248 seconds]
mengu__ has joined #ocaml
<dmbaturin> There's relatively little you can _easily_ do with stock ocaml. :)
<ilia> is there any list of must-have-goodies?
<ilia> or good-to-have ones
<dmbaturin> Have you installed opam already?
<ilia> yes
<flux> well, lwt and ocamlnet are some good-to-know libraries.
<flux> containers has some useful data structures you might miss
<ilia> I do not have ocamlnet
<flux> cmdliner rocks for command line parsing, though it has a steep learning curve
<dmbaturin> utop is a nice replacement for the default REPL.
<ilia> utop installed
<flux> before utop rlwrap and ledit provided command line editing facilities to the toplevel
<flux> so if utop is too multimedia for you then perhaps they are nice ;)
<dmbaturin> menhir is the most commonly user LR(1) parser generator.
<dmbaturin> * used
mengu has quit [Ping timeout: 272 seconds]
<flux> if you're doing 3d manipulation, you will probably appreciate gg
<flux> other libraries I've commonly used: xmlm, calendar (and I would perhaps say iso8601, because that maybe covers the use case I most often use the calendar module for, but the Calendar module has mmmmuch more functionality)
<ilia> it is going to be N dimensional
<flux> I don't think gg does n-dimensional sadly
<ilia> people can comprehend 3d more easily than 26d
<flux> does n=2..4 though
<flux> and matrices
<flux> ..of n=2..4 ;-)
mal`` has joined #ocaml
<flux> well, perhaps lacaml lapack bindings are then appropriate for you, whatever you're doing :)
<ilia> installed, thanks
rand000 has joined #ocaml
dubst3pp4 has joined #ocaml
mengu has joined #ocaml
mengu has joined #ocaml
nojb has joined #ocaml
wildsebastian has joined #ocaml
mengu__ has quit [Ping timeout: 245 seconds]
nojb has quit [Client Quit]
dav- is now known as dav
mort___ has joined #ocaml
mengu has quit []
nojb has joined #ocaml
psy_ has quit [Ping timeout: 256 seconds]
rgrinberg has joined #ocaml
OnkV has quit [Ping timeout: 264 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rgrinberg has quit [Ping timeout: 265 seconds]
palomer has quit [Quit: palomer]
palomer has joined #ocaml
swgillespie has joined #ocaml
<ilia> I have 8 lines in a file, ocamlc complains about line #9 and characters 0-0. What it could be?
<flux> perhaps unclosed something?
<nojb> post the code
<ilia> I fixed, it was related to a number of semicolons after statements
Haudegen has joined #ocaml
nojb has quit [Quit: nojb]
octachron has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Submarine has joined #ocaml
Submarine has joined #ocaml
bjorkintosh has quit [Ping timeout: 240 seconds]
bjorkintosh has joined #ocaml
ia0 has quit [Quit: leaving]
mort___ has quit [Quit: Leaving.]
ia0 has joined #ocaml
mort___ has joined #ocaml
<flux> drup, so the problem is visible in this file: https://modeemi.fi/~flux/software/ocaml/telkkarista.ml - if on line 23 I remove the constructor, the type definition starting on line 27 will no longer compile
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 255 seconds]
larhat has joined #ocaml
<flux> cool, actual commit activity on ocaml-multicore ;-) https://github.com/ocamllabs/ocaml-multicore/commits/master
larhat has quit [Client Quit]
nojb has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
Submarine has quit [Remote host closed the connection]
palomer has quit [Quit: palomer]
<companion_cube> o/
<flux> and seems like serious business as well
<adrien_znc> love how a third of the commits are "bootstrap"
<flux> "Suppoer moving continuations across domains" - ok soudns pretty important
<flux> adrien_znc, apparently they have some compiler binaries in the repo
<flux> and the commit always upgrades the same three binaries
<adrien_znc> yeah
<adrien_znc> bootstrap is a huge pain
<adrien_znc> imho*
<flux> I guess it's nice for the project, but I suppose for daily development process they could just use the existing ocaml compiler?
<flux> apparently the branch also comes with new syntax
<flux> "Add syntax for effect handlers"
palomer has joined #ocaml
<flux> I guess it must be important to be of syntax proper :)
mort___ has quit [Quit: Leaving.]
<flux> so I imagine it comes with some proper multicore development workflow then
palomer has quit [Client Quit]
<flux> continuations..
<flux> I've written one relatively big OCaml program that used a CPS/monadic-based 'threading' framework similar to Lwt but with more Event-kind of interface with it
<flux> I understand it could be called actor-based concurrency or perhaps something that Erlang has
<companion_cube> with asynchronous message passing?
<flux> yes
<flux> Event is synchronous, but I found async much easier to deal with
<flux> of course, there are rists of getting huge queues
<flux> ..though I don't think that never happened
<companion_cube> I don't know, Go aficionados seem to like blocking message passing
<flux> my experience with that project was nice, it was just so easy to spin off a 'worker' for any particular task that needed to be attended to
<companion_cube> but of course you need some way to wait on several channels
<flux> obviously, it was practically the key
ggole has joined #ocaml
<flux> let rec server () = match select [map (fun msg -> `Q1 msg) q1; map (fun _ -> `Abort) abort; map (fun x -> `SomethingElse x)] with .. -> server () was basically the core of it
<companion_cube> seems very redundant :/
<flux> and then some ways to shut down channels and ensure that no channel is written to if it's closed and no messages are lost when the channel is closed
gal_bolle has joined #ocaml
<companion_cube> can't you attach continuations to each possible event?
<flux> so basically callbacks?
<flux> well, it's seemed quite easier to me to manage when a single server was in a single loop
<companion_cube> well, for select, yes
<flux> and there was no question of in which order things would be done
freling has joined #ocaml
ollehar has joined #ocaml
milosn has quit [Quit: leaving]
rgrinberg has joined #ocaml
pobivan has quit [Quit: pobivan]
rgrinberg has quit [Ping timeout: 240 seconds]
jonludlam has joined #ocaml
manizzle has quit [*.net *.split]
cdidd has quit [*.net *.split]
ddub has quit [*.net *.split]
zaquest has quit [*.net *.split]
brendan has quit [*.net *.split]
vodkaInferno has quit [*.net *.split]
Lasher` has quit [*.net *.split]
manizzle has joined #ocaml
cdidd has joined #ocaml
ddub has joined #ocaml
zaquest has joined #ocaml
brendan has joined #ocaml
Lasher` has joined #ocaml
vodkaInferno has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
Submarine has joined #ocaml
Submarine has joined #ocaml
destrius has joined #ocaml
yomimono has joined #ocaml
asQuirreL has joined #ocaml
jonludlam has joined #ocaml
martintrojer has quit [Ping timeout: 256 seconds]
kakadu has joined #ocaml
martintrojer has joined #ocaml
freling1 has joined #ocaml
freling has quit [Ping timeout: 272 seconds]
freling1 has quit [Ping timeout: 276 seconds]
Gama11_ has joined #ocaml
Gama11_ has quit [Read error: Connection reset by peer]
<Drup> flux: I can't test, I lack the API module
<flux> just replace them with strings
<flux> you can replace json as well with strings :)
kushal has quit [Ping timeout: 245 seconds]
<Drup> lot's of things to replace
rgrinberg has joined #ocaml
<Drup> flux: a good amount of stuff comes from API
rgrinberg has quit [Ping timeout: 272 seconds]
manizzle has quit [Ping timeout: 256 seconds]
rand000 has quit [Quit: leaving]
Haudegen has quit [Ping timeout: 264 seconds]
rand000 has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
Gama11 has joined #ocaml
Gama11 has quit [Read error: Connection reset by peer]
Hannibal_Smith has joined #ocaml
TheLemonMan has joined #ocaml
jonludlam has joined #ocaml
Haudegen has joined #ocaml
nojb has quit [Quit: nojb]
rand000 has quit [Ping timeout: 264 seconds]
Gama11 has joined #ocaml
dubst3pp4 has quit [Quit: Ĝis la revido!]
dubst3pp4 has joined #ocaml
<apache2> does anyone have a link to a good resource on GADTs in OCAML?
larhat has joined #ocaml
larhat has quit [Client Quit]
vpm has joined #ocaml
larhat has joined #ocaml
larhat has quit [Client Quit]
<flux> drup, here's self-contained version presenting the issue: https://modeemi.fi/~flux/software/ocaml/gadt.ml
nojb has joined #ocaml
mac_ has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
jabesed has joined #ocaml
<apache2> flux: thank you! :)
<flux> apache2, thank me for what?-)
<apache2> for posting a link illustrating GADT :)
BitPuffin|osx has joined #ocaml
_andre has joined #ocaml
<mac_> I am using ocamlbuild to compile an ocaml script, and i have added lwt.syntax to the -pkgs. I get unbound value for "return" and >>= what to add to the packages, or -tags?
<nojb> nothing. you have to open Lwt to bring those values into scope
kushal has joined #ocaml
<flux> apache2, I think googing for site:reddit.com ocaml gadt will find you a few pointers on it
calderonth has joined #ocaml
johnelse has quit [Read error: No route to host]
jonludlam has quit [Read error: Connection reset by peer]
jludlam_ has joined #ocaml
sdothum has joined #ocaml
<calderonth> Hi !
<calderonth> Anyone tried using the TLS stack of Ocamlnet 4.x ?
siddharthv_away has quit [Ping timeout: 252 seconds]
Simn has joined #ocaml
johnelse has joined #ocaml
siddharthv_away has joined #ocaml
johnelse is now known as Guest92425
<xificurC> mac_: is there even a lwt.syntax package?
<nojb> yes, there is
<nojb> calderonth: no, but have you looked at https://github.com/mirleft/ocaml-tls ? (github is down at the moment, though ...)
<calderonth> Well I already have a dependency on Ocamlnet, the 4.x series switched to GnuTLS as backend
mengu has joined #ocaml
<calderonth> however, I can't enable PFS (DHE-* and ECDHE-* suites)
<xificurC> nojb: ah, the camlp4 extension, my bad
rgrinberg has joined #ocaml
avsm has joined #ocaml
jludlam__ has joined #ocaml
jludlam_ has quit [Read error: Connection reset by peer]
Guest92425 has quit [Read error: No route to host]
jludlam_ has joined #ocaml
siddharthv_away has quit [Ping timeout: 246 seconds]
rgrinberg has quit [Ping timeout: 240 seconds]
siddharthv_away has joined #ocaml
ggole has quit [Read error: Connection reset by peer]
johnelse_ has joined #ocaml
jludlam__ has quit [Ping timeout: 264 seconds]
ggole has joined #ocaml
osa1 has joined #ocaml
<nojb> now to *not* build the unix library when building the compiler ?
<flux> sounds doable, probably by modifying the Makefiles
<adrien_znc> see configure
<nojb> yes, am looking at it - but it turns out that the unix library is not the problem :)
<adrien_znc> :)
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
psy_ has joined #ocaml
wildsebastian has quit [Quit: Konversation terminated!]
Hannibal_Smith has quit [Quit: Leaving]
osa1 has quit [Ping timeout: 265 seconds]
javamonn has joined #ocaml
luzie has quit [Remote host closed the connection]
luzie has joined #ocaml
lordkryss has joined #ocaml
javamonn has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
moei has quit [Read error: Connection reset by peer]
moei has joined #ocaml
javamonn has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
s1n4 has quit [Ping timeout: 240 seconds]
s1n4 has joined #ocaml
jludlam__ has joined #ocaml
johnelse_ has quit [Read error: Connection reset by peer]
javamonn has quit [Ping timeout: 272 seconds]
dubst3pp4 has quit [Quit: Ĝis la revido!]
jludlam_ has quit [Read error: Connection reset by peer]
jonludlam has joined #ocaml
siddharthv_away has quit [Ping timeout: 272 seconds]
idegen has joined #ocaml
jludlam__ has quit [Ping timeout: 255 seconds]
siddharthv_away has joined #ocaml
johnelse has joined #ocaml
johnelse is now known as Guest93513
javamonn has joined #ocaml
milosn has joined #ocaml
jludlam_ has joined #ocaml
Guest93513 has quit [Read error: Connection reset by peer]
jonludlam has quit [Read error: No route to host]
siddharthv_away has quit [Ping timeout: 252 seconds]
javamonn has quit [Ping timeout: 272 seconds]
javamonn has joined #ocaml
jludlam_ has quit [Ping timeout: 245 seconds]
siddharthv_away has joined #ocaml
johnelse has joined #ocaml
johnelse is now known as Guest2407
avsm has quit [Quit: Leaving.]
rand000 has joined #ocaml
johnelse_ has joined #ocaml
avsm has joined #ocaml
siddhart1v_away has joined #ocaml
Guest2407 has quit [Read error: Connection reset by peer]
siddharthv_away has quit [Ping timeout: 256 seconds]
masse is now known as MasseR
siddhart1v_away has quit [Ping timeout: 264 seconds]
johnelse_ has quit [Ping timeout: 264 seconds]
johnelse_ has joined #ocaml
osa1 has joined #ocaml
siddharthv_away has joined #ocaml
t4nk532 has joined #ocaml
mort___ has joined #ocaml
<Drup> flux: I think should just have 3 parameters in request
<Drup> and get rid of the result type
<Drup> that would work better
<flux> well sure that's a possibility :)
<flux> there was just this idea that I have requests that have input data (ie. some record) and then requests that don't have input data at all
<Drup> you don't change that
<flux> and I would like to generate functions like val some_req_with_no_data : unit -> int and val some_req_with_data : data -> string
<flux> so I guess I could do that by using functions in place of gadt constructors
<Drup> no, really, you don't change anything
<flux> oh right, you were talking about the result type
<Drup> it's just that, instead of having a result type with three parameter
<Drup> you just remove it, and your gadt itself has the three parameters
<flux> I think I originally did have that and had some other issues..
<flux> but I shall try it again at home
<Drup> and it will work just better
<flux> perhaps my ideas weren't fully formed when I tried that and had other issues
idegen has quit [Remote host closed the connection]
idegen has joined #ocaml
mengu has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 255 seconds]
<companion_cube> I'm entertaining the idea of trying to write a Golang-like concurrency system…
<flux> look also at Concurrent ML
<flux> and recently Pony was on reddit.com/r/programming
<flux> both have one same idea: threads are garbage collected
avsm has quit [Quit: Leaving.]
<flux> you should implement that!
<flux> I think that's actually a key why sync message passing works in CML but not in my opinion with OCaml's Event system
<Drup> apache2: you can read the implementation of http://github.com/Drup/furl
<flux> because at least in CML you could always just 'fire and forget' a buffering thread if you wanted
<Drup> the API is still work in progress, but it uses GADT quite heavily for something interesting :]
<companion_cube> OCaml Event tries to make synchronizations first-class, and it looks very strange to me
<companion_cube> what I wish is something centered on blocking send/receive on several channels
<flux> well, Event can do that
<companion_cube> with a semantics of exactly one send/receive actually firing
<companion_cube> also, IO channels as concurrent channels
<companion_cube> and timeouts
<flux> Event.select [Event.receive..; Event.send..]
<companion_cube> select [ send x; receive (fun y -> ...); timeout 5]
<flux> and you can implement timeouts for Event.. but it's ugly and non-performant :)
<flux> I have one, somehwere..
<companion_cube> a bit like that, but with a tail-call to the callback for receive
<companion_cube> and without OS threads
<Drup> companion_cube: it seems this patch was there just to make me lie: https://github.com/ocamllabs/ocaml-multicore/commit/d54b76026db158957f49bf0490d5bb1ac810ebc0
<flux> drup, to make you lie?
<apache2> Drup: thnak you! :)
<Drup> apache2: as flux said, you can search or the ocaml reddit, you will have several links and discussion on the subject
<Drup> flux: I just said, in another discussion "I will believe in purity annotation in OCaml only when I see them"
<flux> is 'effects' really that or something else..
<Drup> yeah
javamonn has quit [Read error: Connection reset by peer]
<Drup> but considering the context, I think it is
<flux> it has documentation like [val perform : 'a eff -> 'a] performs an effect
<flux> doesn't look like side effect annotation to me?
sepp2k has joined #ocaml
<flux> given the simple return type :)
<flux> gotta love this fragment:
<flux> - empty_env)))))))))))))))))))))))))))
<flux> + empty_env)))))))))))))))))))))))))))))
<Drup> there is exactly the same line in MetaOCaml's patch
<flux> certainly those opening parens shouldn't be replaced with @@
<Drup> with a comment
<Drup> #Add a paren
<Drup> :D
<flux> what is this, lisp?
<Drup> olisp*
<flux> lispective caml
<ggole> Nice.
<ggole> Did you know that in some lisps ] used to close any number of parens?
<Drup> and that in some lisps, extra parens are not an error
<flux> yes, I knew that! woohoo :)
javamonn has joined #ocaml
<flux> it's funny how I can scroll through that entire patch and not really get any solid idea what it's trying to achieve..
<flux> and why :)
<Drup> ggole: any number of all the ones that are open ?
<Drup> or*
<ggole> Yeah.
<ggole> All the ones that are open.
<Drup> right
<Drup> the other would be ... tricky
<mac_> I am using "Lwt_io.with_connection sock fun". I observer that when this line of code executes, a connection to the server is created and immediately terminated.
<mac_> fun never executes. I have a printf inside that never prints anything
<nojb> maybe post the code ?
<mac_> the line after Lwt_io.with_connection is not reached (another print for debugging)
<mac_> ok, let me see
mort___ has quit [Quit: Leaving.]
<mac_> check if you can access to the code here:
<mac_> I used netcat to listen to the port
<nojb> no, it doesn't work for me :( can you post it in gist.github.com or similar ?
larhat has joined #ocaml
freling has joined #ocaml
<nojb> did you try flushing stdout ?
<mac_> hmmm, no.
wildsebastian has joined #ocaml
<flux> btw, %! in printf does that
<nojb> only when using Printf of course
matason has quit [Remote host closed the connection]
matason has joined #ocaml
<mac_> by the way, as i remember, print_endline flushes stdout, which I am using inside the function
agarie has joined #ocaml
<nojb> sorry - your problem is much simpler
<nojb> the program is exiting before your threads are done
<mac_> omg!
<nojb> add: let () = Lwt_main.run main at the end
<mac_> you are right
kdef has joined #ocaml
<mac_> yep, working now
<mac_> thanks nojb
larhat has quit [Quit: Leaving.]
larhat has joined #ocaml
larhat has quit [Client Quit]
darkf has quit [Quit: Leaving]
larhat has joined #ocaml
larhat has quit [Client Quit]
rgrinberg has joined #ocaml
mort___ has joined #ocaml
gal_bolle has quit [Quit: Konversation terminated!]
s1n4 has quit [Ping timeout: 244 seconds]
johnelse has joined #ocaml
javamonn has quit [Remote host closed the connection]
johnelse is now known as Guest42068
johnelse_ has quit [Read error: Connection reset by peer]
javamonn has joined #ocaml
jonludlam has joined #ocaml
johnelse_ has joined #ocaml
palomer has joined #ocaml
siddharthv_away has quit [Ping timeout: 265 seconds]
Guest42068 has quit [Ping timeout: 255 seconds]
siddharthv_away has joined #ocaml
javamonn has quit [Ping timeout: 252 seconds]
uris77 has joined #ocaml
ollehar has quit [Remote host closed the connection]
ollehar has joined #ocaml
javamonn has joined #ocaml
acieroid` has quit [Quit: Bye.]
agarwal1975 has joined #ocaml
divyanshu has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
Denommus has joined #ocaml
rgrinberg has quit [Ping timeout: 255 seconds]
rgrinberg has joined #ocaml
slash^ has joined #ocaml
octachron has quit [Quit: Leaving]
acieroid has joined #ocaml
acieroid has quit [Client Quit]
acieroid has joined #ocaml
nojb has quit [Quit: nojb]
ygrek has joined #ocaml
ncthom91 has joined #ocaml
nojb has joined #ocaml
freling1 has joined #ocaml
larhat has joined #ocaml
freling2 has joined #ocaml
freling1 has quit [Read error: Connection reset by peer]
javamonn has quit [Remote host closed the connection]
s1n4 has joined #ocaml
mort___ has quit [Quit: Leaving.]
javamonn has joined #ocaml
freling has quit [Ping timeout: 272 seconds]
palomer has quit [Quit: palomer]
swgillespie has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
mort___ has joined #ocaml
swgillespie has quit [Ping timeout: 244 seconds]
thomasga has joined #ocaml
palomer has joined #ocaml
divyanshu has quit [Ping timeout: 240 seconds]
palomer has quit [Client Quit]
BitPuffin|osx has quit [Ping timeout: 256 seconds]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
divyanshu has joined #ocaml
ncthom91 has joined #ocaml
larhat has quit [Quit: Leaving.]
mort___ has left #ocaml [#ocaml]
robink has quit [Ping timeout: 244 seconds]
Submarine has quit [Remote host closed the connection]
robink_ has joined #ocaml
javamonn has quit [Remote host closed the connection]
nojb has quit [Quit: nojb]
javamonn has joined #ocaml
yomimono has quit [Ping timeout: 246 seconds]
nojb has joined #ocaml
larhat has joined #ocaml
shinnya has quit [Ping timeout: 264 seconds]
Haudegen has quit [Ping timeout: 240 seconds]
jonludlam has quit [Ping timeout: 264 seconds]
<smondet_> hi all! Oasis seems to be ordering findlib packages on the command-line alphabetically, is there a way to bypass that and force the order? (reason: the order of application of ppx transformations is relevant)
<reynir> Just using ppx.lwt doesn't seem to work
nojb has quit [Quit: nojb]
djellemah has quit [Ping timeout: 272 seconds]
Jefffrey has joined #ocaml
<Drup> lwt.ppx
<Drup> not ppx.lwt
<Drup> smondet_: I don't know, and that seems indeed quite wrong.
<reynir> Err, yes, that's what I meant
<reynir> I don't know where to find (>>)
djellemah has joined #ocaml
<flux> drup, thanks, I did it the way you suggested and it works :)
robink_ is now known as robink
Haudegen has joined #ocaml
Jefffrey has quit [Remote host closed the connection]
s1n4 has quit [Ping timeout: 244 seconds]
Haudegen has quit [Ping timeout: 246 seconds]
divyanshu has quit [Quit: Textual IRC Client: www.textualapp.com]
milosn_ has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
<reynir> Ahh, I can use >> with ppx, just not as (>>)
<Drup> ah, yeah
<Drup> using it as (>>) doesn't really make sense anyway ...
MrScout has joined #ocaml
<reynir> Well, I thought it didn't exist since forever because [(>>)] didn't work in utop :)
<reynir> Is there a reason it's not defined as a function=
<Drup> because it doesn't evaluate the right argument
<Drup> which .. is not at all the semantic of a function call
<reynir> ah right heh
<reynir> (that was a silly question)
ygrek has quit [Ping timeout: 272 seconds]
<Drup> > As for the next major release, it will include a number of new features (including, if all goes well, support for multicore).
* Drup does the awesome performances dance.
<reynir> thanks for patience Drup :)
Jefffrey has joined #ocaml
<Drup> no problem
pyon has quit [Read error: Connection reset by peer]
milosn_ is now known as milosn
Haudegen has joined #ocaml
mac_ has quit [Ping timeout: 246 seconds]
pyon has joined #ocaml
ollehar1 has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
cmtptr has joined #ocaml
<cmtptr> if I wanted to filter a list in reverse, is there a better way to do it than List.rev (List.filter (fun ...) (List.rev l)) ?
<cmtptr> I need to traverse the list in reverse because the predicate is a closure that depends on state derived from the next element
<Drup> do your own filter function
<cmtptr> is List.rev expensive? Does it actually build a new list?
<Drup> yes it does
<cmtptr> oh wow, yeah this is terrible then
<cmtptr> thanks
<Drup> your new function will probably end up being a fold of some sort
<cmtptr> well, I had written it as a fold_right at first
kushal has quit [Quit: Leaving]
<cmtptr> I guess there's nothing wrong with that
<cmtptr> oh yeah, except that fold_right isn't tail recursive in ocaml, is it?
ollehar1 has quit [Ping timeout: 256 seconds]
<cmtptr> that's probably why I decided to rewrite it. dang
<ggole> fold_right goes the wrong way anyway
<cmtptr> how do you mean? it folds right to left, right?
<ggole> You want the result reversed?
<cmtptr> I need to traverse in reverse
<ggole> Oh, hmm
<ggole> Sorry. Should have read more carefully.
<cmtptr> no problem
<cmtptr> maybe I could change the parsing function to generate the data in reverse
<Drup> if you want the tail rec version, you must reverse, yes
<ggole> let filter_rev pred list = let rec loop acc = function | [] -> acc | x::xs -> loop (if pred x then x::acc else acc) xs in loop [] (List.rev list)
ontologiae has joined #ocaml
TheLemonMan has joined #ocaml
<ggole> Or a fold_left, I guess
djellemah has quit [Ping timeout: 276 seconds]
Haudegen has quit [Ping timeout: 246 seconds]
MercurialAlchemi has quit [Ping timeout: 264 seconds]
MercurialAlchemi has joined #ocaml
<ggole> Ooh, TRMC is sneaking in?
javamonn has quit [Read error: Connection reset by peer]
<MercurialAlchemi> RMC?
mengu has joined #ocaml
<ggole> tail recursion modulo cons
<ggole> Lets you write let rec map f = function [] -> [] | x::xs -> f x::map f xs and get tail recursive code
<ggole> (As an example.)
javamonn has joined #ocaml
kakadu has quit [Quit: Page closed]
nojb has joined #ocaml
<MercurialAlchemi> sweet
nojb has quit [Client Quit]
destrius has quit [*.net *.split]
cdidd has quit [*.net *.split]
ddub has quit [*.net *.split]
zaquest has quit [*.net *.split]
brendan has quit [*.net *.split]
vodkaInferno has quit [*.net *.split]
Lasher` has quit [*.net *.split]
ollehar has quit [*.net *.split]
idegen has quit [*.net *.split]
dav has quit [*.net *.split]
jave_ has quit [*.net *.split]
teiresias has quit [*.net *.split]
pdewacht has quit [*.net *.split]
companion_cube has quit [*.net *.split]
w1gz has quit [*.net *.split]
lobo has joined #ocaml
Haudegen has joined #ocaml
ollehar has joined #ocaml
idegen has joined #ocaml
dav has joined #ocaml
jave_ has joined #ocaml
teiresias has joined #ocaml
companion_cube has joined #ocaml
pdewacht has joined #ocaml
w1gz has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
destrius has joined #ocaml
cdidd has joined #ocaml
ddub has joined #ocaml
zaquest has joined #ocaml
brendan has joined #ocaml
vodkaInferno has joined #ocaml
Lasher` has joined #ocaml
manizzle has joined #ocaml
jonludlam has joined #ocaml
ollehar has joined #ocaml
Erylisia has joined #ocaml
Anarchos has joined #ocaml
s1n4 has joined #ocaml
Tekilla has joined #ocaml
ygrek has joined #ocaml
uris77` has joined #ocaml
Cyanure has joined #ocaml
uris77 has quit [Ping timeout: 265 seconds]
matason has quit []
cschneid has joined #ocaml
<cschneid> So how do I go about learning ocaml as a intermediate haskeller?
<cschneid> specifically I'd like to start playing with mirageos and its unikernel ideas :)
sepp2k has quit [Quit: Leaving.]
javamonn has quit [Read error: Connection reset by peer]
<cschneid> tl;dr - ML background, less pure (destructive updates), strict eval, anything else to know off the bat?
<Drup> (the rest of the book is good in general, but maybe a tiny bit slow)
<cschneid> the syntax seems 1:1 in most cases
<Drup> and then, I guess you can read the mirage tutorial
<Drup> the syntax is certainly not 1:1
<cschneid> a lot of the easy things then (just skimming that blog post you linked)
<cmtptr> most of the words are written in english
<cschneid> :) ok
<cmtptr> so in that sense, they are very similar
<Drup> there was a long syntax comparison between the two, but I can't find it
ontologiae has quit [Ping timeout: 256 seconds]
<Drup> it's supposed to be the other way around, but it gives a rather comprehensive syntax correspondence.
<Drup> However, don't be tricked by "I know it since the syntax look the same"
<cschneid> eh, I'll just go write some code and see how it goes :)
<Drup> the semantic and idioms are rather different, sometimes in a tricky manner
<Drup> yep :)
<Drup> (and also, read the section about functors)
<Drup> (you'll need it for mirage)
<cschneid> similar to ML functors? ("interfaces" to certain types I guess?)
<Drup> yes, it's ML functors, no, it's not what you said :D
<cschneid> heh, reading
ygrek has quit [Ping timeout: 240 seconds]
slash^ has quit [Read error: Connection reset by peer]
nojb has joined #ocaml
javamonn has joined #ocaml
ollehar has quit [*.net *.split]
idegen has quit [*.net *.split]
dav has quit [*.net *.split]
jave_ has quit [*.net *.split]
teiresias has quit [*.net *.split]
pdewacht has quit [*.net *.split]
companion_cube has quit [*.net *.split]
w1gz has quit [*.net *.split]
ollehar has joined #ocaml
idegen has joined #ocaml
dav has joined #ocaml
jave_ has joined #ocaml
teiresias has joined #ocaml
companion_cube has joined #ocaml
pdewacht has joined #ocaml
w1gz has joined #ocaml
Jefffrey has quit [Quit: Leaving...]
mengu__ has joined #ocaml
ggole has quit []
mengu has quit [Ping timeout: 276 seconds]
swgillespie has joined #ocaml
thomasga has quit [Ping timeout: 252 seconds]
swgillespie has quit [Ping timeout: 272 seconds]
yomimono has joined #ocaml
thomasga has joined #ocaml
nojb has quit [Quit: nojb]
mort___ has joined #ocaml
wildsebastian has quit [Read error: Connection reset by peer]
uris77` has quit [Ping timeout: 244 seconds]
<seako> Same author wrote ocaml from the very beginning which provides lots more examples of language basics.
<seako> I'm currently using More Ocaml and Real World Ocaml to get up to speed to start getting involved with mirageos and unikernels too
rgrinberg has quit [Ping timeout: 246 seconds]
mort___ has quit [Quit: Leaving.]
<seako> cschneid: ^
uris77` has joined #ocaml
<cschneid> seako: there's a haskell unikernel too but seems much younger than mirage
javamonn has quit [Read error: Connection reset by peer]
<cschneid> also an erlang one.
<cschneid> its such a cool idea
t4nk532 has left #ocaml [#ocaml]
<cmtptr> say I have a foo.mli with "type t" and "val empty : t", and in foo.ml "let empty = []". now, in the main file I do "let x = ref Foo.empty in...". this binds a ref to Foo.empty, which isn't what I wanted. How do I create a ref to a new value that is initialized with the value of Foo.empty?
<Drup> that's exactly what you did
<Drup> what is the issue ?
<cmtptr> I thought that I found "x :=" was changing the value of Foo.empty
<cmtptr> I must have mitested
<Drup> Foo.empty can't possible change
<Drup> it's immutable
<Drup> possibly*
javamonn has joined #ocaml
<Drup> that would be a very spooky action at cross module distance =')
<cmtptr> you are right, it didn't change
<cmtptr> what the eff did I do that made me thing otherwise...
<Drup> What the eff http://www.eff-lang.org/ ?
<bitbckt> haha
<cschneid> not sure what Eff is as a language, but Purescript has some cool effect management ideas built in
_andre has quit [Quit: leaving]
matason has joined #ocaml
<cschneid> no idea if thats the same thing :-/
<Drup> iirc, Purescript "effects" are just monads in disguise
ygrek has joined #ocaml
s1n4 has quit [Ping timeout: 264 seconds]
<cschneid> quite possible. They're more granular in practice than haskell's IO monad.
<cschneid> but I suppose they end up doing the same thing
<cschneid> how does ocaml handle IO? There's no magic handle that gets passed around like in haskell is there?
<Drup> nope
<reynir> I looked a bit at Purescript, but then I saw they use :: for type ascription ;-)
<cmtptr> I like :: for type notation
<cmtptr> I actually like most of haskell's syntax with the exception of significant whitespace and no trailing delimiters
<Drup> reynir: that's not a very big issue
<cmtptr> but I hate a lot more about haskell than I like
<Drup> and the do notation
matason has quit [Client Quit]
<cmtptr> oh, yeah
<Drup> cschneid: OCaml is effectful and don't constrain you in the matter of IO stuff.
<reynir> Drup: heh :)
javamonn has quit [Remote host closed the connection]
<cschneid> so in the middle of functions I can.. say... log messages without worrying. Handy :)
<Drup> without unsafePerformIO, yes
ontologiae has joined #ocaml
Hannibal_Smith has joined #ocaml
<cschneid> Is this the right website for mirage? http://openmirage.org/ -- it seems to be down?
<Drup> it's the one, and it's usually a tiny bit slow, I think they actually run it on an ARM, or something like that :p
<Drup> hum, it's indeed down :/
<Drup> thomasga: there seems to be an issue with openmirage.org
<thomasga> we are doing some upgrade/maintenance sorry
<cschneid> no biggie , just chose the wrong day to get interested :)
<Drup> thomasga: you didn't got mirage.ml ? :D
<bitbckt> all the cool kids have .io
<bitbckt> must keep up, y'know.
<Drup> But OCaml cool kids have .ml
<Drup> because reasons.
<bitbckt> :)
freling2 has quit [Quit: Leaving.]
<Drup> hey, ocsigen.ml is available =')
<bitbckt> I guess Mali is more trustworthy than Libya with these things...
<bitbckt> marginally.
<Anarchos> io is for lybia ?
<bitbckt> No. .ly is - the last hip TLD.
<bitbckt> .io is British.
<bitbckt> "[I]ndian [O]cean Territory"
ia0 has quit [Quit: leaving]
<Anarchos> ok
ia0 has joined #ocaml
<Drup> I'm rather surprised nobody managed to create the .js tld
<bitbckt> sob.js
<apache2> Drup: thank you, I'm stealing that idea
<Drup> which one ?
<apache2> .js
<dmbaturin> With that domain, there needs to be a functional programming conference in Timbuktu.
<Drup> =')
<apache2> perhaps it's because all the .js names are open source
<Drup> "As .io startups" <- I didn't know this was a thing.
jwatzman|work has joined #ocaml
<apache2> I think it's a big thing :(
<Denommus> cschneid: the most interesting part about OCaml, for me, as someone with a Haskell background, is the module system
rgrinberg has joined #ocaml
<Denommus> cschneid: ML modules subsume the use for typeclasses
BitPuffin|osx has joined #ocaml
<cschneid> Denommus: interesting. Typeclasses in haskell are certainly inelegant (easy to screw up w/ orphans)
<Denommus> cschneid: there is no need to worry about such a thing as "orphan modules" :D
rgrinberg has quit [Ping timeout: 240 seconds]
<dmbaturin> Denommus: I would argue that it's one of the most interesting parts, wherever you are coming from. :)
<cschneid> it'd be interesting to see how they feel in practice. Ugh, why must I want to learn so much .
<cschneid> not enough time
<bitbckt> move to Lake Baikal and become a hermit.
<cschneid> do they have free food & internet?
<bitbckt> if you can catch it, sure.
<Denommus> cschneid: I have a simple gist that may get you some idea
<Drup> bitbckt: and you catch the internet with an inter net ? :]
<bitbckt> :)
<dmbaturin> cschneid: You can't catch the internet there though, it's flying too high on the low earh orbit.
<bitbckt> Drup: wild packets roam the forest
ygrek has quit [Remote host closed the connection]
<Denommus> cschneid: a "sig" declares a signature for modules - like a type for modules. Below the PERMUT_CONTAINER sig, there is a functor (don't mistake it for the Functor typeclass), which is similar to a function that takes a module by parameter and produces a new module
rgrinberg has joined #ocaml
<Denommus> cschneid: in this case, PERMUT_CONTAINER is filling the role of a type class, while the Permutations functor is filling the role of code that depends on that typeclass
<Drup> Denommus: you could minimize that a lot.
<Denommus> Drup: probably
<cschneid> Denommus: yeah, that makes sense based on the functor chaptor of the book recommended earlier
<Denommus> Drup: singleton could be defined as cons x empty, for instance, right?
<bitbckt> well, now I have to click.
Hannibal_Smith has quit [Quit: Leaving]
<Drup> and personally, I think the abstraction is not really the good one
<cschneid> is there the idea of haskell's Functor type class? (apply a function to the inside of some sort of "container" type)
<Drup> it's leaning too much on the immutable side
<Drup> cschneid: no
<Denommus> Drup: I did it more for didactic purposes
<Denommus> cschneid: any type 'a t in a module with a val map: ('a -> 'b) -> 'a t -> 'b t can be treated as a Haskell functor
ygrek has joined #ocaml
<Denommus> cschneid: you could even create something like module type FUNCTOR = sig type 'a t val map: ('a -> 'b) -> 'a t -> 'b t end
<Denommus> cschneid: if you really wanted to
<cschneid> :)
<cschneid> ok. I'll have to poke around more to figure out idioms
<cschneid> and how stuff ends up looking like when you actually use it
<bitbckt> it's usually best to place the 'a t arg first, to curry nicely.
<Denommus> cschneid: it's just that most of the time you don't need to worry about that. As I said, there isn't such a problem as orphan instances, so if there isn't a sig that fills your need, you can always create it and put your generic code in a functor that uses it
<Denommus> cschneid: and then you create an "anonymous module" with struct ... end and pass it to the functor
<cschneid> cool, ok.
<Denommus> cschneid: like I did
s1n4 has joined #ocaml
javamonn has joined #ocaml
s1n4 has quit [Ping timeout: 256 seconds]
agarie has quit []
asQuirreL has joined #ocaml
<thomasga> cschneid: it's back now
uris77` has quit [Remote host closed the connection]
uris77` has joined #ocaml
<jyc> is there a way to have -I somedir in my ocamlbuild _tags file?
hilquias has joined #ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
MercurialAlchemi has quit [Ping timeout: 272 seconds]
<Denommus> hm, tuareg-electric-pipe seems broken to me
<Denommus> weird
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
Gama11 has quit [Read error: Connection reset by peer]
Cyanure has quit [Remote host closed the connection]
ncthom91 has joined #ocaml
larhat has quit [Quit: Leaving.]
lobo has quit [Quit: leaving]
javamonn has quit [Remote host closed the connection]
mengu__ has quit [Remote host closed the connection]
Simn has quit [Read error: Connection reset by peer]
MrScout_ has joined #ocaml
ygrek_ has joined #ocaml
brendan has quit [Remote host closed the connection]
ygrek has quit [Remote host closed the connection]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
MrScout has quit [Ping timeout: 256 seconds]
tonyg has left #ocaml [#ocaml]
swgillespie has joined #ocaml
brendan has joined #ocaml
<Denommus> what is tuareg-support-metaocaml?
agarwal1975 has quit [Quit: agarwal1975]
javamonn has joined #ocaml
osa1 has quit [Ping timeout: 265 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Denommus> I filled an issue: https://github.com/ocaml/tuareg/issues/45
ygrek_ has quit [Ping timeout: 256 seconds]
shinnya has joined #ocaml
ontologiae has quit [Ping timeout: 256 seconds]
s1n4 has joined #ocaml
CissWit has quit [Ping timeout: 250 seconds]
manizzle has quit [Remote host closed the connection]
thomasga has quit [Quit: Leaving.]
s1n4 has quit [Ping timeout: 272 seconds]
manizzle has joined #ocaml
CissWit has joined #ocaml
ontologiae has joined #ocaml
badkins has joined #ocaml
rand000 has quit [Quit: leaving]
osa1 has joined #ocaml
ncthom91 has joined #ocaml
The_Mad_Pirate has quit [Quit: Konversation terminated!]
Algebr has joined #ocaml
ontologiae has quit [Ping timeout: 246 seconds]
The_Mad_Pirate has joined #ocaml
agarwal1975 has joined #ocaml
javamonn has quit [Remote host closed the connection]
ygrek_ has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
GeorgeHahn has joined #ocaml
maufred has quit [Ping timeout: 256 seconds]
hilquias has quit [Ping timeout: 264 seconds]
rgrinberg has quit [Ping timeout: 264 seconds]
yomimono has quit [Ping timeout: 272 seconds]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
kdef has quit [Quit: Leaving]
s1n4 has joined #ocaml
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
uris77` has quit [Remote host closed the connection]
s1n4 has quit [Ping timeout: 264 seconds]
GeorgeHahn has quit [Ping timeout: 250 seconds]
javamonn has joined #ocaml