rwmjones changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | Grab Ocaml 3.10.2 from http://caml.inria.fr/ocaml/release.html (featuring new camlp4 and more!)
pnou has joined #ocaml
pnou has quit [Client Quit]
evn_ has quit []
seafood_ has joined #ocaml
seafood_ has quit [Client Quit]
hkBst has quit ["Konversation terminated!"]
seafood_ has joined #ocaml
ziph has joined #ocaml
pango has quit [Remote closed the connection]
eelte has quit ["bye ca veut dire tchao en anglais"]
pango has joined #ocaml
yangsx_ has joined #ocaml
psnively has quit []
m3ga has joined #ocaml
thelema has quit [Read error: 110 (Connection timed out)]
bzzbzz has joined #ocaml
donny has joined #ocaml
seafood_ has quit []
donny_ has quit [Read error: 110 (Connection timed out)]
delamarche has quit []
__suri has left #ocaml []
<ikatz> hello all
<ikatz> i have a question on design and organization... which i thought i understood better
seafood_ has joined #ocaml
<ikatz> i am working on some basic AI search stuff, like A*
<ikatz> i have all the search functions inside one module (expansion, solution handling, etc)
<ikatz> er... inside a functor
<ikatz> which takes as an argument a structure representing the problem domain (initial state, successor function, goal test, etc)
<ikatz> here's where i'm stuck:
<ikatz> the problem domain depends on data read from stdin
<ikatz> in other words, the initial state, successor function, and goal test are not known at compile time
<ikatz> is my entire design flawed, or have i missed the tutorial on creating structs at runtime?
evn has joined #ocaml
Cosmos95 has quit []
AxleLonghorn has joined #ocaml
goalieca has joined #ocaml
dibblego has joined #ocaml
shortcircuit_ has joined #ocaml
thelema has joined #ocaml
shortcircuit has quit [Read error: 110 (Connection timed out)]
shortcircuit_ has quit [Connection timed out]
seafood__ has joined #ocaml
seafood_ has quit [Read error: 110 (Connection timed out)]
donny_ has joined #ocaml
donny has quit [Read error: 110 (Connection timed out)]
bubblegumtate has joined #ocaml
coucou747 has joined #ocaml
jargonjustin has quit []
jargonjustin has joined #ocaml
<jargonjustin> Are there ocaml binaries available somewhere for a Solaris 10 sparc?
jargonjustin has quit []
jargonjustin has joined #ocaml
<thelema> jargonjustin: I've found some binaries for 3.01, but that's pretty old.
<thelema> (and they're for solaris 2.6, although I'd expect they'd still work)
<evn> anyone used ex-nunc
<thelema> evn: not I.
<evn> anyone used any ocaml webframework that they liked :p
* thelema hasn't done web programming in ocaml
<thelema> I think Oscigen's method of html generation is interesting, but maybe a bit too straitjacket.
<evn> do you think ocaml on the web is a reasonable endeavor or not really
<evn> yeah oscigen solves problems i dont have and ignores most that i do
<evn> from what i can tell
<thelema> depends on what you're trying to do - what scale of engineering.
<evn> small to medium i guess
<thelema> If you have to do a huge project, all dynamically generated with lots of typed constraints, ocaml might suit
<thelema> if your site stays small, I have no problems using catalyst or rails
<evn> hrm thats interesting you say the advantage would be for large sites
<thelema> mod_caml might help you out, but I haven't used it.
<thelema> http://demexp.org/dokuwiki/doku.php?id=en:web_client_development_framework
coucou747 has quit ["bye ca veut dire tchao en anglais"]
<thelema> merjis actually uses that code for its work, so it passes tests of 'probably reliable' and 'not too theoretical / practical'
<evn> that is an important test
<evn> oh, interesting page
<thelema> It gives access to internals of Apache, but doesn't seem to do the MVC framework like rails
<evn> does mod_caml abstract any templating/routing/session handling
<evn> ah...
<evn> i dont know anything about apache internals
<thelema> it also has a nice template language, CGI interface and somr string escaping.
<evn> oh
<thelema> as for session handling, I imagine the authors use their very nice postgresql bindings to handle that kinda manually
<evn> hmm that chart at the bottom makes mod_caml look best
<evn> well cookie session is fine
<thelema> I don't know what you want from routing.
<evn> just... some routing
<evn> rest is nice but not required
<evn> uri stuff instead of just get params basically
<thelema> apache can do that iirc - URI rewriting.
<evn> true
<thelema> I assume you've no problems using apache as your web server - mod_caml is tied to apache
<evn> no i would use apache anyway
<thelema> good luck with mod_caml - I'd love to know how things turn out
<evn> haha... me too :p
<evn> i will try it
<evn> is mod caml in godi
* thelema doesn't use godi
<evn> ok. im not seeing it but theres no search
mikeX has joined #ocaml
<evn> wow merjis does all seo and adwords stuff
<evn> i would kill myself
<thelema> yeah, an interesting puzzle, but somehow... well, they're in the crazy world of marketing
<evn> mod_caml-1.3.6.tar.gz31-Mar-2005 15:17 70K :(
<evn> no updates for 3 years
<evn> maybe it's perfect :)
<thelema> stable code? I guess it's a company, and they've got it as they want it.
<thelema> they're not a software company - it's reached the state of 'good enough', so they leave it alone.
<evn> yeah
<thelema> there's some newer code in CVS, but most is that old.
<evn> whats the cvs link
<evn> interesting
<evn> all right im gonna pass out
<evn> thanks for all the tips
<tsuyoshi> rwmjones: well, I see the callback stuff but my_realloc/my_free just call realloc/free without doing anything else
<tsuyoshi> so I was speculating that they did something in a previous version
<tsuyoshi> can't get the example programs to work btw.. they need much more ram than I have
rutlov has joined #ocaml
<tsuyoshi> after reading that I should set the stack size to unlimited, I looked at what the default was, and the default is half my ram, so I didn't bother
<tsuyoshi> so I was going to rewrite the example to incrementally mark stuff, but that's hard because you can't mark stuff into a sharable file without using a key
<tsuyoshi> it would be useful if you could just mark something in without a key.. then you can still refer to it in whatever data structure you're building, which would ultimately get a key
rutlov has left #ocaml []
mikeX has quit ["leaving"]
|Catch22| has quit [Read error: 113 (No route to host)]
ttamttam has joined #ocaml
goalieca has quit ["keep your stick on the ice"]
AxleLonghorn has quit [Read error: 110 (Connection timed out)]
Snark has joined #ocaml
szell has joined #ocaml
szell` has quit [Read error: 110 (Connection timed out)]
szell` has joined #ocaml
bubblegumtate has left #ocaml []
szell has quit [Read error: 110 (Connection timed out)]
schme has joined #ocaml
szell has joined #ocaml
malc_ has joined #ocaml
szell` has quit [Read error: 110 (Connection timed out)]
Yoric[DT] has joined #ocaml
szell` has joined #ocaml
Yoric[DT] has quit ["Ex-Chat"]
szell has quit [Read error: 110 (Connection timed out)]
szell has joined #ocaml
szell` has quit [Connection timed out]
jargonjustin has quit []
yangsx_ has quit [Read error: 110 (Connection timed out)]
szell` has joined #ocaml
jlouis has joined #ocaml
szell has quit [Read error: 110 (Connection timed out)]
jlouis_ has quit [Read error: 110 (Connection timed out)]
prince has quit [Client Quit]
szell has joined #ocaml
szell` has quit [Read error: 113 (No route to host)]
malc__ has joined #ocaml
AndreWe has joined #ocaml
malc___ has joined #ocaml
malc_ has quit [Read error: 110 (Connection timed out)]
hkBst has joined #ocaml
seafood__ has quit []
malc__ has quit [Read error: 110 (Connection timed out)]
seafood_ has joined #ocaml
seafood_ has quit [Client Quit]
malc_ has joined #ocaml
seafood_ has joined #ocaml
malc_ has quit ["leaving"]
AndreWe has quit [Remote closed the connection]
malc___ has quit [Read error: 110 (Connection timed out)]
jlouis_ has joined #ocaml
m3ga has quit ["disappearing into the sunset"]
bongy has joined #ocaml
jlouis has quit [Read error: 110 (Connection timed out)]
Demitar_ has quit ["Burn the land and boil the sea. You can't take the sky from me."]
<rwmjones> tsuyoshi, their only purpose is to drop the first argument
<rwmjones> tsuyoshi, the first arg is needed by mmalloc to refer to the specific memory pool in use, but for global malloc/free there is just the C heap
<rwmjones> tsuyoshi, 32 bit? 64 bit?
<rwmjones> tsuyoshi, also read the section of the documentation which discusses how to mark structures incrementally
schme has quit [Remote closed the connection]
ttamttam has left #ocaml []
naufraghi has joined #ocaml
naufraghi_ has joined #ocaml
naufraghi has quit [Read error: 104 (Connection reset by peer)]
ita has joined #ocaml
ttamttam has joined #ocaml
<flux> palomer, apprently these guys ended up into this kind of solution to the problem value restriction solves: http://www.haskell.org/haskellwiki/DDC/PolymorphicUpdate
<flux> looks like value restriction to me..
<flux> but otherwise the project is an interesting one.. it solves the shared field names -problem, has an effect system instead of monads, strict evaluation with annotated laziness
Smerdyakov has quit ["Leaving"]
bongy has quit ["Leaving"]
naufraghi_ has quit [Read error: 104 (Connection reset by peer)]
naufraghi has joined #ocaml
shortcircuit has joined #ocaml
naufraghi_ has joined #ocaml
naufraghi has quit [Read error: 113 (No route to host)]
RobertFischer has joined #ocaml
seafood_ has quit []
ygrek has joined #ocaml
<naufraghi_> hello
<naufraghi_> I'm searching for some tutorial on using modules, like Set
<RobertFischer> I don't know of one, sorry.
Yoric[DT] has joined #ocaml
AxleLonghorn has joined #ocaml
* rwmjones is in a twisty maze of camlp4 modules, all alike
* Yoric[DT] sympathizes.
* Yoric[DT] hope his modules are not part of the maze.
bongy has joined #ocaml
ygrek has quit [Remote closed the connection]
ygrek has joined #ocaml
<rwmjones> Values do not match:
<rwmjones> val print_implem :
<rwmjones> ?input_file:'a -> ?output_file:string -> Ast.str_item -> unit
<rwmjones> is not included in
<rwmjones> val print_implem :
<rwmjones> ?input_file:string -> ?output_file:string -> Syntax.Ast.str_item -> unit
<rwmjones> apparently because Ast != Syntax.Ast
<rwmjones> this is genuinely starting to drive me up the wall jnow
<rwmjones> now
* Yoric[DT] knows the feeling.
<rwmjones> http://pastebin.ca/951606 if anyone has a clue
<rwmjones> I'm about to post on caml-list
coucou747 has joined #ocaml
<Yoric[DT]> I remember having that kind of issue when trying to write a pretty-printer.
<Yoric[DT]> It seems that you havent opened Syntax.
<Yoric[DT]> Maybe that's the problem ?
<palomer> flux, yeah, it looks like the value restriction to me too
<palomer> actually, it looks like ML90 style typing
<thelema> rwmjones: you need some signature massaging
<rwmjones> Yoric[DT], thelema I've tried a dozen different variations
<rwmjones> open include changing paths etc
<thelema> module constraints? 'with'?
<thelema> : Camlp4.Sig.Printer(Syntax.Ast).S with module Ast=Syntax.Ast
<Yoric[DT]> In my code, I have a
<Yoric[DT]> module PP_o = Camlp4.Printers.OCaml.Make Syn;
<Yoric[DT]> open PP_o;
<Yoric[DT]> I don't remember why, of course, but it could be related.
<Yoric[DT]> I also open Camlp4 and Camlp4.Precast.
Yoric[DT] has quit ["Ex-Chat"]
ttamttam has left #ocaml []
<rwmjones> ocamlc -I +camlp4 -I /usr/lib64/ocaml/camlp4/Camlp4Parsers -pp camlp4of.opt camlp4lib.cma test.ml -o test.cmo
<rwmjones> that's the compile line if you'd like to try :-)
bluestorm has joined #ocaml
AxleLonghorn has left #ocaml []
RobertFischer has quit ["I'm out of here. Check out my blog at http://enfranchisedmind.com/blog or my company website at http://smokejumperit.com"]
RobertFischer has joined #ocaml
pango has quit [Remote closed the connection]
<palomer> hrmph
<RobertFischer> ??
<thelema> palomer: struggling with a new paradigm?
<palomer> http://pastebin.com/m6778ae52 <--how do I solve this problem?
<palomer> thelema, which new paradigm?
<thelema> mutually recursive modules can't have separate compilation.
<thelema> palomer: ocaml's paradigms.
<palomer> I've been doing haskell for the last 2 years
<palomer> and I did some OO in my college days
<palomer> thelema, so how do I compile them together?
<thelema> and that's great, but ocaml isn't either.
<palomer> and I did a little sml
<thelema> palomer: there's a verbose syntax for recursive modules, but the best way I know just breaks the recursion.
<thelema> you could pass foo a (unit -> bar) generator on constructing a foo.
pango has joined #ocaml
<palomer> thelema, how does that work?
<thelema> and close the cycle when you use the two modules.
<palomer> example?
<thelema> class foo bar_gen = object val a = bar_gen () end
<thelema> class bar = object val b = new (foo (fun () -> new bar)) end
<thelema> that should work
<thelema> even across modules.
<bluestorm> late binding, late binding %%
<palomer> what's late binding?
<palomer> what'st he verbose syntax?
postalchris has joined #ocaml
<thelema> specifying all the signatures and module definitions in one mega declaration
<palomer> that was what I used to do in haskell
munga has quit [Read error: 110 (Connection timed out)]
<palomer> checking out 7.9
<bluestorm> i think that when possible, recursive module dependencies should not be used
Morphous has joined #ocaml
<palomer> bluestorm, why?
munga has joined #ocaml
gim_ has joined #ocaml
<bluestorm> with it, you can't use separate compilation, and most of the time the de-recursification is quite easy to achieve, and a better choice on the long run
ppsmimram has joined #ocaml
gim has quit [Read error: 110 (Connection timed out)]
ppsmimou has quit [Success]
<RobertFischer> Recursive module definitions are a bad code smell in Ocaml.
<RobertFischer> Really, you usually can and should avoid it.
* thelema agrees with bluestorm and RobertFischer
<bluestorm> (because they make explicit the shared dependency of the modules, not entangling them in a big circle of things whose you don't know what they depends on, and end up enlarging constantly because you don't want to think of it)
<palomer> In haskell I would have a value which contains all the global variables
<palomer> I would need mutually recursive modules for this
<bluestorm> a bit like "let's put every function in a bit let rec ... and ... and, it's more natural", you could eventually get bitten
<bluestorm> hm
<palomer> but my classes refer to each other
<bluestorm> your use case has is share of uglyness too :D
<palomer> this is a normal thing
<bluestorm> (-y+i)
<bluestorm> hm
<palomer> I'm constructing a parse tree
<palomer> so parent nodes refer to child nodes
<palomer> and vice versa
<thelema> palomer: as I said, you're trying to do the normal thing (for other languages), and you find that it's not the normal thing in OCaml.
<petchema> palomer: that works thanks to lazyness
<bluestorm> do you need to represent a parse tree as an object ?
<palomer> in haskell I used a datatype
<palomer> but an object is more natural
<RobertFischer> The correct answer is problaby something like `a Node.
<bluestorm> than an algebraic data type ?
<bluestorm> strange
<palomer> because I can write functions like f x = x#a
<RobertFischer> Why do you want to write that?
<palomer> lemme explain
ygrek has quit [Remote closed the connection]
<palomer> so I have a toplevel virtual class Node
<palomer> but, for any given node subclass, the siblings of instances of that node subclass can have more specific siblings
<palomer> so in my toplevel Node class I have a method getSibling : () -> Node
ygrek has joined #ocaml
<palomer> and then I can write generic function getSiblingSpecific which works on any object with a sibling field
* RobertFischer has to run.
RobertFischer has left #ocaml []
<palomer> (and other generic functions that return all the siblings of a Node, etc...)
<palomer> that's how I did it in haskell
* rwmjones is (still) in a twisty maze of camlp4 modules, all alike
<palomer> it seems section 7.9 forces you to put all the modules in the same file
<thelema> palomer: yes, it does.
<bluestorm> rwmjones: does that mean you're lost ?
<thelema> palomer: one thing that ocaml doesn't do as well as haskell is type classes.
<bluestorm> :p
<rwmjones> Failure: "No implementation printer"
<palomer> I don't really need typeclasses
<palomer> since I have objects
<bluestorm> palomer: what i don't understand is : to represent a tree, isn't the plain algebraic data types enough ?
<bluestorm> (and it looks much more concise that all that quite subtile object stuff)
<bluestorm> rwmjones: what are you trying to do ?
<palomer> but I'm also browsing the parse tree
<palomer> so I need a toplevel node supertype
<palomer> which stores the current node
<palomer> hrmph
<rwmjones> bluestorm, I'm trying to fix sylvain's gettext to work with camlp4 3.10.x
<thelema> palomer: try it with a variant type instead of objects.
<palomer> maybe I can get away without mutually recursive modules
<rwmjones> what is mkcamlp4 supposed to do? build a standalone preprocessor binary, right?
<palomer> thelema, I have 10 different node types right now
<palomer> (many more later)
Amorphous has quit [Read error: 110 (Connection timed out)]
<palomer> and, besides, what I end up doing looks exactly like stuff you would do with OO
<palomer> print x = case x of `Type1 x -> printType1 x | `Type2 x -> printType2 x ....
<palomer> I could probably have some toplevel virtual classes that everyone refers to
* palomer will ponder this
* palomer is off
<thelema> print always looks a bit ugly in ocaml.
<bluestorm> rwmjones: ExApp(_, ExApp(_, e, _), ExStr(loc, singular)), ExStr(_, plural) , hmm
<rwmjones> bluestorm?
<rwmjones> I've rewritten all of that stuff
<rwmjones> all I need now is to build a binary of the camlp4 preprocessor and I'm done
<bluestorm> ok, i was just looking at the original code to see what it's like
<bluestorm> as it's not something i've tried yet (a standalone printer), i'm afraid i won't be of any help there
<bluestorm> but i'd noticing that the code is quite uncamlish as is
<bluestorm> (uncamlp4ish)
psnively has joined #ocaml
naufraghi_ has quit [Read error: 110 (Connection timed out)]
|Catch22| has joined #ocaml
coucou747 has quit [Read error: 113 (No route to host)]
coucou747 has joined #ocaml
evn has quit []
vpalle has joined #ocaml
ttamttam has joined #ocaml
johnnowak has joined #ocaml
evn has joined #ocaml
AxleLonghorn has joined #ocaml
ttamttam has left #ocaml []
|Catch22| has quit [Read error: 113 (No route to host)]
johnnowak has quit []
psnively has quit []
schme has joined #ocaml
Morphous is now known as Amorphous
Linktim has joined #ocaml
Yoric[DT] has joined #ocaml
bongy has quit ["Leaving"]
johnnowak has joined #ocaml
schme has quit ["leaving"]
ziph has quit []
naufraghi has joined #ocaml
l_a_m has quit [Remote closed the connection]
munga_ has joined #ocaml
munga__ has joined #ocaml
munga__ has quit ["Ex-Chat"]
|Catch22| has joined #ocaml
|Catch22| has quit [Remote closed the connection]
|Catch22| has joined #ocaml
Linktim_ has joined #ocaml
catch22 has joined #ocaml
|Catch22| has quit [Read error: 104 (Connection reset by peer)]
munga_ has quit [Connection timed out]
Linktim has quit [Read error: 110 (Connection timed out)]
Linktim- has joined #ocaml
AxleLonghorn has quit [Read error: 110 (Connection timed out)]
pango- has joined #ocaml
pango has quit [Remote closed the connection]
pango- is now known as pango
Linktim_ has quit [Read error: 110 (Connection timed out)]
evn has quit []
johnnowak has quit []
Snark has quit ["Ex-Chat"]
<palomer> ok, I'm pumped
* palomer starts translating everything to ocaml
<flux> fun approach ;)
szell has quit [Connection timed out]
<flux> what kind of stuff were you thinking of translating?
<aminore1> the quran
<flux> wouldn't it be more efficient to attempt simply interface with the old stuff, if they are libraries?
* mbishop awaits quran bindings for ocaml
<Yoric[DT]> Doesn't Swig do that kind of things ?
<hcarty> Swig's bindings are rather thick - they wrap everything to and from C in a big variant type (I think that's the correct name...)
<palomer> flux, my thesis in progress
<palomer> how do I define a constructor in ocaml?
<thelema> palomer: type foo = Num of int | Real of float | Letter of char
<palomer> oh, wait, they're called initializers in ocaml
<palomer> no wonder google wasn't returning anything
<thelema> palomer: ah, oblect initialization.
<palomer> yeah
<palomer> so, I'd write something like let _ = ....
<palomer> where ... computes something and initializes my references
coucou747 has quit ["bye ca veut dire tchao en anglais"]
<hcarty> palomer: The OO chapters in Jason Hickey's book give a nice overview of OCaml's object system
<palomer> reading it
<palomer> not much on initializers
<palomer> (that I can see)
<hcarty> Oh, sorry... I was thinking of the official manual in this case, though I do like those OO chapters
<palomer> ahh, thx
<hcarty> You're welcome
<hcarty> I have used class foo x = let ... in object .. end more than initializers directly, but they are both useful
<palomer> http://pastebin.com/m7af9d05a <-having problems here
<palomer> #
<palomer> This expression has type GWindow.window but is here used with type
<palomer> #
<palomer> Gtk.window Gtk.obj = Gtk.window Gobject.obj
<palomer> woops, didn't know it would paste in 5 lines
<flux> I think you need to write _something_ like inputWindow#set_transient_for window#obj
<flux> that is, you need to convert the Gtk.window into Gtk.window Gobject.obj
<thelema> #coerce
<flux> I haven't used lablgtk for a while, so I don't remember specifics
<palomer> wait, window is a class
<palomer> it takes a type argument?
<palomer> are there two different Gtk.window?
<thelema> inputWindow#set_transient_for window#coerce
<palomer> This expression has type GObj.widget but is here used with type
<palomer> Gtk.window Gtk.obj = Gtk.window Gobject.obj
<palomer> that's what the coerce gave me
naufraghi has quit [Read error: 113 (No route to host)]
evn has joined #ocaml
<evn> it looks like ex-nunc doesn't support any routing whatsoever
<evn> current page is stored in the session
bongy has joined #ocaml
<palomer> the full code is
<palomer> let window = GWindow.window () in
<palomer> let inputWindow = GWindow.window () in
<palomer> inputWindow#set_transient_for window#coerce;
<thelema> inputWindow#set_transient_for window#as_window
<thelema> sorry, #coerce goes to a generic widget, #as_window goes to a window.
<palomer> but don't windows already have window type?
* palomer is confused by this type stuff
<thelema> well, almost. There's two nearly equivalent types: GWindow.window and Gtk.Window Gtk.obj
<thelema> the second is a gtk object that has the ocaml type tag Gtk.Window
<palomer> ahh, the caps
<thelema> the first actually has all the useful methods of things you'd want to deal with.
<thelema> s/deal with/do/
<palomer> I'm guessing they did this for efficiency?
<thelema> you'll have to ask Jacques Garrigue about that.
<palomer> how would I call the function set_decorated in module GtkBaseProps.Window? (GtkBaseProps.Window.set_decorated doesn't work)
<palomer> I have to give props to Jacques
<palomer> he's always answered my emails
<thelema> he's quite a person.
<palomer> in a timely manner, too!
<palomer> and he has the same first name as me
<palomer> so that's double props
<thelema> it looks like set_decorated is inside a module S
<palomer> Unbound value GtkBaseProps.Window.S.set_decorated
<thelema> I'm not sure... There's no .mli file for gtkBaseProps.ml, so I don't think Jacques intended for that code to get called directly...
<thelema> gtk does use the gobject property system, but I've never needed to modify any properties directly...
<palomer> so the best bet is to send an email to Jacques?
<palomer> or are there any other channels?
<palomer> or many I'm looking for another method?
<palomer> s/many/maybe
<thelema> read more documentation.
<palomer> in haskell I can set window attributes with the set function
<palomer> I've noticed that lablgtk also has a set function
<palomer> are they the same thing?
naufraghi has joined #ocaml
<thelema> I've not used lablgtk's set function.
<thelema> looking at things again, [GtkBaseProps.Window.set_decorated window#as_window false] should work
<palomer> Unbound value GtkBaseProps.Window.set_decorated
vpalle_ has joined #ocaml
<thelema> apparently there's a set_properties method somewhere...
<thelema> only for some objects...
<thelema> maybe set is what you're looking for...
<thelema> hmm.. but there's no property for decorated...
coucou747 has joined #ocaml
Linktim- has quit [Remote closed the connection]
bluestorm has quit ["Konversation terminated!"]
vpalle has quit [Read error: 110 (Connection timed out)]
vpalle_ has quit ["Leaving"]
ita has quit ["Hasta luego!"]
ygrek has quit [Remote closed the connection]
jlouis has joined #ocaml
jlouis_ has quit [Read error: 110 (Connection timed out)]
szell has joined #ocaml
seafood_ has joined #ocaml
Yoric[DT] has quit ["Ex-Chat"]