lapinou changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | http://www.ocaml.org | OCaml 4.01.0 announce at http://bit.ly/1851A3R | Public logs at http://tunes.org/~nef/logs/ocaml/
ontologiae has joined #ocaml
nikki93 has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
nikki93 has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
ontologiae has quit [Ping timeout: 260 seconds]
contempt has quit [Ping timeout: 260 seconds]
contempt has joined #ocaml
nikki93 has joined #ocaml
claudiuc has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 252 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has joined #ocaml
nikki93 has joined #ocaml
contempt has quit [Ping timeout: 264 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has joined #ocaml
mort___ has quit [Quit: Leaving.]
contempt has quit [Ping timeout: 265 seconds]
nikki93 has joined #ocaml
contempt has joined #ocaml
nikki93 has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 265 seconds]
contempt has joined #ocaml
nikki93 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
avsm has joined #ocaml
contempt has quit [Ping timeout: 264 seconds]
talzeus has quit [Read error: Connection reset by peer]
Simn has quit [Quit: Leaving]
avsm has quit [Ping timeout: 252 seconds]
talzeus has joined #ocaml
contempt has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
zarul has quit [Remote host closed the connection]
contempt has quit [Remote host closed the connection]
contempt has joined #ocaml
nikki93 has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has joined #ocaml
bicgena has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
nikki93 has joined #ocaml
madroach has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
nikki93 has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 260 seconds]
avsm has joined #ocaml
contempt has joined #ocaml
struktured has quit [Ping timeout: 260 seconds]
nikki93 has joined #ocaml
avsm has quit [Ping timeout: 264 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 260 seconds]
contempt has joined #ocaml
nikki93 has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has joined #ocaml
nikki93 has joined #ocaml
q66 has quit [Quit: Leaving]
contempt has quit [Remote host closed the connection]
contempt has joined #ocaml
nikki93 has quit [Remote host closed the connection]
arjunguha has joined #ocaml
jao` has joined #ocaml
jao` has quit [Changing host]
jao` has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
nikki93 has joined #ocaml
yacks has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has joined #ocaml
nataren has joined #ocaml
nikki93 has joined #ocaml
contempt has quit [Ping timeout: 272 seconds]
nikki93 has quit [Remote host closed the connection]
contempt has joined #ocaml
nikki93 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
yacks has quit [Ping timeout: 265 seconds]
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
nataren has quit [Remote host closed the connection]
nataren has joined #ocaml
struktured has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
nikki93 has joined #ocaml
contempt has joined #ocaml
nataren has quit [Remote host closed the connection]
shinnya has joined #ocaml
zxqdms has quit [Quit: leaving]
contempt has quit [Ping timeout: 260 seconds]
contempt has joined #ocaml
struktured has quit [Read error: Operation timed out]
contempt has quit [Ping timeout: 272 seconds]
contempt has joined #ocaml
yacks has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
zpe_ has quit [Remote host closed the connection]
zpe has joined #ocaml
nataren has joined #ocaml
zpe has quit [Ping timeout: 272 seconds]
contempt has quit [Ping timeout: 265 seconds]
contempt has joined #ocaml
Myk267 has quit [Quit: Myk267]
avsm has joined #ocaml
nataren has quit [Remote host closed the connection]
avsm has quit [Ping timeout: 265 seconds]
contempt has quit [Ping timeout: 265 seconds]
contempt has joined #ocaml
talzeus has quit [Read error: Connection reset by peer]
contempt has quit [Ping timeout: 265 seconds]
contempt has joined #ocaml
nataren has joined #ocaml
nataren has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 265 seconds]
ygrek has joined #ocaml
contempt has joined #ocaml
ggole has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
nataren has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
nataren has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 260 seconds]
contempt has joined #ocaml
avsm has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
avsm has quit [Ping timeout: 264 seconds]
nikki93 has quit [Remote host closed the connection]
jao` has quit [Ping timeout: 272 seconds]
Guest___ has joined #ocaml
contempt has quit [Ping timeout: 265 seconds]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
arjunguha has joined #ocaml
contempt has joined #ocaml
contempt has quit [Remote host closed the connection]
contempt has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
axiles has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
ygrek has joined #ocaml
contempt has joined #ocaml
Kakadu has joined #ocaml
arjunguha has joined #ocaml
arjunguha has quit [Client Quit]
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
contempt has quit [Ping timeout: 272 seconds]
contempt has joined #ocaml
Guest___ has quit [Quit: Computer has gone to sleep.]
Guest___ has joined #ocaml
contempt has quit [Ping timeout: 260 seconds]
contempt has joined #ocaml
nikki93 has joined #ocaml
nikki93_ has joined #ocaml
nikki93 has quit [Read error: Connection reset by peer]
contempt has quit [Ping timeout: 265 seconds]
contempt has joined #ocaml
<Kakadu> Guys, how to debug errors like Camlp4: Uncaught exception: Unix.Unix_error (20 | CstTag21, "connect", "") ?
<Kakadu> I have tried to connect with same parameters using `psql` and it works!
contempt has quit [Remote host closed the connection]
contempt has joined #ocaml
<Kakadu> Ah, PGHOST=localhost
contempt has quit [Ping timeout: 260 seconds]
contempt has joined #ocaml
contempt has quit [Ping timeout: 252 seconds]
contempt has joined #ocaml
Dongyancai has quit [Ping timeout: 260 seconds]
Dongyancai has joined #ocaml
contempt has quit [Ping timeout: 265 seconds]
bjorkintosh has quit [Quit: Leaving]
bjorkintosh has joined #ocaml
cyanure__ has joined #ocaml
madroach has joined #ocaml
zpe has joined #ocaml
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 265 seconds]
zarul has joined #ocaml
<rwmjones> grrrr I hate functors
* rwmjones gives up and uses a class instead
cyanure__ has quit [Ping timeout: 252 seconds]
Kakadu has quit [Remote host closed the connection]
Kakadu has joined #ocaml
<mrvn> rwmjones: hehe. I'm at that choice too.
Simn has joined #ocaml
nikki93_ has quit [Remote host closed the connection]
<mrvn> Functors, Objects or first class modules.
angerman has joined #ocaml
cyanure__ has joined #ocaml
bicgena has quit [Quit: Connection closed for inactivity]
dant3 has quit [Ping timeout: 265 seconds]
aurynj has joined #ocaml
<Kakadu> Any ideas why OCaml doesn't return from this function? http://paste.in.ua/9383/#297
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
dant3 has joined #ocaml
zpe has quit [Ping timeout: 252 seconds]
ski has joined #ocaml
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 252 seconds]
<mrvn> Poll: [ ] module DirEntry or [ ] module Dir_entry?
<mrvn> or [ ] module Dir_Entry
<Kakadu> 1st
ygrek has quit [Ping timeout: 264 seconds]
<Qrntz> [x] module DirEntry
<mrvn> I have a module type ORDERED_TYPE for a functor. Can I specify that module DirEntry must at least have sig ORDERED_TYPE but can extend it?
<gasche> no, but strengthening will generally do the job of making it look like "yes"
<mrvn> strengthening?
avsm has joined #ocaml
Guest___ has quit [Quit: Computer has gone to sleep.]
<ggole> Can't you module CheckIsOrderedType (Arg: ORDERED_TYPE) = struct end or something?
mort___ has joined #ocaml
<mrvn> ggole: A dummy functor and apply that to check the type? Sounds like a plan
<ggole> Bit of a hack, but it should work.
<mrvn> but how do I apply it? I can't apply it in the module itself.
<ggole> In some other convenient module, I suppose :/
<mrvn> I have Foo.ml and want to make sure Foo implements ORDERED_TYPE
<mrvn> So when I compile Foo.ml I get an error, not half an hour later when Bar.ml gets compiled.
<ggole> Hrm
avsm has quit [Ping timeout: 265 seconds]
<ggole> You could wrap the contents of Foo in an inner module: but that's pretty ugly
Guest has joined #ocaml
talzeus has joined #ocaml
<mrvn> indeed.
<ggole> Have the build system compile CheckFoo.ml whenever Foo.ml is compiled?
<companion_cube> [x] DirEntry
<companion_cube> rwmjones: what's the context?
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
thomasga has joined #ocaml
Thooms has joined #ocaml
ulfdoz has joined #ocaml
<rwmjones> companion_cube: so .. what I want, I think, is to define a module signature which others can implement .. the twist is that I want to provide defaults for some functions in that module (so if they are not overriden in the "derived" modules, then they get the default impl)
<rwmjones> inheritence basically
<mrvn> module MPlus = struct include MBase let foo () = 17 end
<rwmjones> if a function in MBase calls foo, will it call the overridden function?
<adrien> it is shadowed
<mrvn> no
zpe has joined #ocaml
<adrien> as usual
<rwmjones> i need that too
<adrien> err
<adrien> forget what I said, I had misread :)
<adrien> but, yeah, you want objects :)
<companion_cube> looks so, indeed
<mrvn> or first class modules.
<rwmjones> right, except :-)
<rwmjones> I tried to use classes, but I also need each object to have an abstract type, like type t (hidden impl)
<rwmjones> I think what I need is a module with a class inside it
<mrvn> if it is abstract then how can users override functions?
<rwmjones> no I mean an abstract type t inside the class
<rwmjones> each class will implement t differently
<companion_cube> GADT + polymorphic class into the t type? ^^
<rwmjones> the class as a whole will be inherited from
<rwmjones> however classes only let me parameterize on the type, which doesn't work as I want to store objects of different types in a list
<mrvn> module M = struct type t let foo () = () ... class x = obecjt ... end end
<rwmjones> right, class in a module is what I'm doing
<rwmjones> it's a bit ugly, that's all
<mrvn> rwmjones: you need to define a base class and then cast all objects to base class for the list.
zpe has quit [Ping timeout: 265 seconds]
<rwmjones> for the class alone (without the module), it doesn't work if the class is parameterized
<mrvn> rwmjones: try: class x = let M = module ... in object ... end
<rwmjones> ok I don't know what that does
<mrvn> rwmjones: defines a first class module locally for the class
<mrvn> the syntax might be a bit off
<mrvn> As for your parameterized class. The base class must not be parameterized and you must be able to cast the parameterized class to base.
<mrvn> The base class can't have any method that depends on the parameterized thing.
<mrvn> Otherwise you need GADTs.
<rwmjones> unfortunately the parameter is exposed in method signatures of the base class
* rwmjones checks out GADTs
<mrvn> rwmjones: Say you have class 'a foo with method add : 'a -> unit. If you put int foo and float foo into a list what would "List.iter (x#add 1) list" do?
<mrvn> rwmjones: can you show your classes?
<rwmjones> it's a bit half-arsed at the moment, give me a sec
<rwmjones> so 'pkg is the abstract t type I was talking about earlier
<rwmjones> each class will want to define its own type for that
<rwmjones> each *subclass*
<rwmjones> get_all_requires is a function that subclasses might override if they have a more efficient way to implement it
<rwmjones> and i want to put several of these subclassed objects on the same lits
<rwmjones> list
<mrvn> Why have a package_handler that works for mayn pkg names? Why not have one instance per pkg?
<rwmjones> mrvn: not sure I understand the question?
<rwmjones> well a package handler is a module with many implementations, like for rpm, dpkg et
<rwmjones> etc
<mrvn> class virtual package = object(self) method virtual to_string : string ... end
<rwmjones> and what does get_all_requires look like?
<mrvn> let get_all_requires pkgs = let deps = List.map (fun pkg -> pkg#get_requires) pkgs in let deps = List.flatten deps in ...
<mrvn> compare is a bit of a problem. You need to be able to compare packages from different systems. I guess you would compare a name and version
<rwmjones> but most modules will need to override that function, since they will have more efficient ways to implement it .. the default impl will be dog slow
<rwmjones> also I specifically don't want to mix packages from different systems
<rwmjones> that should not happen
<mrvn> Then you need a GADT: type deb type rpm type _ pkg_system = Deb : deb pkg_system | Rpm : rpm pkg_system
<mrvn> Here is an example for storing different types in a common list: http://fpaste.org/79453/13930665/
<mrvn> rwmjones: maybe it would be simpler to just have multiple lists. One per package system. You only have a few of them.
<adrien> you forgot Yypkg in your variants! ='(
Simn is now known as Simn|gone
tty56 has joined #ocaml
<Kakadu> Any ideas why this line never returns? http://paste.in.ua/9384/#308
arjunguha has joined #ocaml
<flux> it's being run in isolation, not during other transactions?
mcclurmc has joined #ocaml
tty56 has quit [Quit: tty56]
mcclurmc has quit [Ping timeout: 265 seconds]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ygrek has joined #ocaml
arjunguha has joined #ocaml
Guest has quit [Quit: Computer has gone to sleep.]
q66 has joined #ocaml
<mrvn> type leaf = Leaf type 'a node = Node type _ tree = | LeafNode : leaf tree | InnerNode : 'a tree -> 'a node tree;;
<mrvn> Error: In this definition, a type variable has a variance that is not reflected by its occurrence in type parameters.
<mrvn> What's is wrong with that?
<companion_cube> type 'a node = Node, I guess
<companion_cube> you need type 'a node = Node : 'a node;; I think
<mrvn> It complains about the last type.
avsm has joined #ocaml
<mrvn> companion_cube: ok. What's the difference?
<companion_cube> the second definition is a GADT
<companion_cube> but I'm not even sure you really can do it, because the type variable is free
<bernardofpc> strangely, separating in two lines it works for me
<mrvn> type 'a node = Node of 'a works too. Why not just Node?
<bernardofpc> (doing leaf and 'a node , then ;;, then type _ tree = .. ;; after)
<bernardofpc> (utop 1.11 / Ocaml 4.01)
<mrvn> OCaml version 4.00.1
<mrvn> fails.
<bernardofpc> but I don't see exactly what you're trying to do
<mrvn> bernardofpc: I want to create a tree structure where the height of the tree is encoded in a GADT and not in the data of the tree itself.
<companion_cube> mrvn: what would the type of let x = Node;; be?
<mrvn> companion_cube: '_a node
avsm has quit [Ping timeout: 252 seconds]
<flux> hmm, the original version works for me?
<mrvn> flux: version?
<flux> 4.01.00
<flux> does someone know how to add an accelerator in LablGTK2 to a button? (not a menu entry)
<mrvn> time to update then
<flux> I think my problem is finding a value of type (widget, unit -> unit) GtkSignal.t
<flux> I only have ([`button), unit -> unit) GtkSignal.t available via GtkButtonProps.S.activate
<flux> ie: quit_button#misc#add_accelerator ~sgn:GtkButtonProps.Button.S.activate ~group:accel_group GdkKeysyms._q
<adrien> hmmm
<adrien> 13:15 flux : I only have ([`button), unit -> unit) GtkSignal.t available via GtkButtonProps.S.activate
<adrien> that's [`button] or [>`button] ?
<Kakadu> flux: yeah, it seems it is in isolation
<mrvn> Hmm, another GADT question: Given an integer x how do I produce the type (InnerNode : leaf node node node ... <x times> ... node tree)?
pminten has joined #ocaml
<flux> GtkButtonProps.Button.S: val activate : ([> `button ], unit -> unit) GtkSignal.t
<Kakadu> flux: the problem is that I don't understand how to rewrite in PGOCaml something like 'SELECT id, name, path FROM employees WHERE path && ARRAY[2]'
<Kakadu> So, I'm going to do some unsafe magic
thomasga has quit [Quit: Leaving.]
<companion_cube> mrvn: recursively, I'd say
<flux> adrien, my problem is 'solved' with Obj.magic as well :). but there is probably some cast functionality I'm missing..
<companion_cube> with a successor function
<companion_cube> but the integer has to be known at compile time, for the lack of dependent types
<mrvn> companion_cube: the integer is read from disk.
<companion_cube> aww.
<companion_cube> well then you can build a _ tree, I guess
<adrien> flux: I'm wondering if the type is right
tty56 has joined #ocaml
<adrien> flux: maybe it should be [`button|widget]
<flux> maybe the type should be somehow parametrized?
<flux> it comes through the #misc method of a widget
<mrvn> companion_cube: the question is how. I can't write a function int -> _ tree, that won't type.
<adrien> I'm really not sure and still wondering
<adrien> #misc returns a GObj.widget iirc
<companion_cube> mrvn: you need to wrap _ tree into an existential
<adrien> or some "base" type like that
<companion_cube> type some_tree : SomeTree : 'a tree -> some_tree
<companion_cube> and then you can return this type from an int
<mrvn> companion_cube: I think I need to change the read_node function to take the depth and return a tuple of ('a tree, 'a)
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<companion_cube> a GADT then
<mrvn> 'a tree is a GADT
<adrien> flux: you wanted to send the signal "activate" to quit_button when pressing M-q ?
<companion_cube> because you can't decide which 'a it is based on a runtime value
<flux> adrien, yes
<mrvn> supposed to be the witness type for the depth of the tree.
<companion_cube> mrvn: yes, but another GADT, I think
<companion_cube> mrvn: type some_tree : 'a tree * 'a -> some_tree
<companion_cube> oops, forgot the constructor
<companion_cube> type some_tree = SomeTree : 'a tree * 'a -> some_tree
<mrvn> hmm. maybe. Will see once 4.01 is installed.
<companion_cube> because you need to existentially quantify on 'a
<companion_cube> "there is a 'a such that the function returns a 'a tree"
<mrvn> companion_cube: I need that to store the result of the read_node function. But the read_node can return ('a tree, 'a) I think.
<flux> adrien, I swept the problem under a rug with let cast_button_signal_as_widget_signal (x : ([`button], unit -> unit) GtkSignal.t) : (Gtk.widget, unit -> unit) GtkSignal.t = Obj.magic x
<companion_cube> i don't think so, but you can try :)
<adrien> flux: can you mention your issue on the lablgtk mailing-list? I have a few other things going on right now and
<flux> can I send it without being a subscriber?
<adrien> flux: I believe your workaround is safe btw
<adrien> well, try it and I'll tell you it it works :P
<flux> :)
<adrien> (if not, I'll forware the email)
<flux> adrien, what's the address?
<adrien> good question :D
<adrien> lablgtk-list@lists.forge.ocamlcore.org
mcclurmc has joined #ocaml
<flux> sent
<flux> I even wrote a complete self-containing test case!
* flux gives a brownie-point for himself
mcclurmc has quit [Ping timeout: 260 seconds]
darkf has quit [Quit: Leaving]
<mrvn> companion_cube: You were right about the extra GADT: http://paste.debian.net/83474/
<mrvn> companion_cube: Any idea how to convince ocaml that the pattern at the end ist exhaustive?
<companion_cube> ah, it can't be a leaf because n > 2 ?
<mrvn> companion_cube: exactly.
<companion_cube> I think you need to write the case and put a assert false
<companion_cube> arithmetic is beyond what the type checker knows...
<mrvn> http://paste.debian.net/83476/ seems to work
<flux> adrien, "You mail.. " "..Is being held until the list moderator can review it for approval."
<adrien> flux: thanks, I'll wait a bit to see if it gets approved (not something I can do myself) and if not, I'll send it myself
troydm has quit [Ping timeout: 252 seconds]
troydm has joined #ocaml
Simn|gone is now known as Simn
pminten has quit [Quit: Leaving]
pminten has joined #ocaml
milosn has quit [Ping timeout: 265 seconds]
ygrek has quit [Ping timeout: 260 seconds]
ontologiae has joined #ocaml
milosn has joined #ocaml
madroach has quit [Quit: leaving]
csakatoku has joined #ocaml
Dongyancai has quit [Quit: leaving]
ulfdoz has quit [Quit: kernel upgrade]
ontologiae has quit [Ping timeout: 252 seconds]
ulfdoz has joined #ocaml
<mrvn> if only one could write: # type _ foo = D : 0 -> int foo | D : n -> float foo;;
csakatoku has quit [Remote host closed the connection]
arjunguha has joined #ocaml
pyon has quit [Quit: zzz]
watermind has joined #ocaml
ygrek has joined #ocaml
thomasga has joined #ocaml
smerz_ has joined #ocaml
smerz has joined #ocaml
tty56 has quit [Quit: tty56]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Sim_n has joined #ocaml
njcomsec has joined #ocaml
japesina- has joined #ocaml
NoNNaN has quit [Ping timeout: 240 seconds]
rgrinberg has quit [Ping timeout: 272 seconds]
dRbiG has quit [Ping timeout: 272 seconds]
marky_ has joined #ocaml
yastero has joined #ocaml
maurer has quit [Ping timeout: 272 seconds]
caligula_ has quit [Ping timeout: 272 seconds]
dinosaure has quit [Ping timeout: 272 seconds]
Armael_ has quit [Ping timeout: 272 seconds]
s4muel has quit [Ping timeout: 272 seconds]
bholst_ has joined #ocaml
ulfdoz_ has joined #ocaml
dinosaure has joined #ocaml
r0b4 has joined #ocaml
mort___1 has joined #ocaml
yastero_ has quit [Ping timeout: 260 seconds]
marky has quit [Ping timeout: 260 seconds]
gargawel has quit [Ping timeout: 260 seconds]
j0sh_ has quit [Ping timeout: 260 seconds]
cross has quit [Ping timeout: 260 seconds]
chris2 has quit [Ping timeout: 260 seconds]
tristero has quit [Ping timeout: 260 seconds]
julm has quit [Ping timeout: 260 seconds]
brendan has quit [Ping timeout: 260 seconds]
hnrgrgr_ has quit [Ping timeout: 260 seconds]
caligula__ has joined #ocaml
WraithM has quit [Ping timeout: 260 seconds]
hyperboreean has quit [Ping timeout: 260 seconds]
cross has joined #ocaml
smondet has quit [Ping timeout: 260 seconds]
tristero has joined #ocaml
axiles_ has joined #ocaml
sad0ur_ has joined #ocaml
uggwar_ has joined #ocaml
The-Mad-Pirate-2 has joined #ocaml
ousado_ has joined #ocaml
pminten has quit [*.net *.split]
talzeus has quit [*.net *.split]
mort___ has quit [*.net *.split]
cyanure__ has quit [*.net *.split]
ddosia has quit [*.net *.split]
Nahra has quit [*.net *.split]
The-Mad-Pirate has quit [*.net *.split]
rob3 has quit [*.net *.split]
siddharthv has quit [*.net *.split]
rwmjones has quit [*.net *.split]
jpdeplaix` has quit [*.net *.split]
aurynj has quit [*.net *.split]
angerman has quit [*.net *.split]
Simn has quit [*.net *.split]
hcarty has quit [*.net *.split]
srcerer has quit [*.net *.split]
japesinator has quit [*.net *.split]
_5kg has quit [*.net *.split]
jbrown has quit [*.net *.split]
olasd has quit [*.net *.split]
the-gibson has quit [*.net *.split]
whitequark has quit [*.net *.split]
tov has quit [*.net *.split]
pedagand has quit [*.net *.split]
jzelinskie_ has joined #ocaml
dRbiG has joined #ocaml
gasche has quit [Ping timeout: 272 seconds]
passiveobserver has quit [Ping timeout: 272 seconds]
bholst has quit [Ping timeout: 272 seconds]
kerneis has quit [Ping timeout: 272 seconds]
mfp has quit [Ping timeout: 272 seconds]
ulfdoz has quit [*.net *.split]
axiles has quit [*.net *.split]
rom1504 has quit [*.net *.split]
jzelinskie has quit [*.net *.split]
gereedy has quit [*.net *.split]
leifw has quit [*.net *.split]
_habnabit has quit [*.net *.split]
bitbckt has quit [*.net *.split]
andreypopp has quit [*.net *.split]
via has quit [*.net *.split]
Ptival has quit [*.net *.split]
Cypi has quit [*.net *.split]
tnguyen has quit [*.net *.split]
yroeht2 has quit [*.net *.split]
ccasin has quit [*.net *.split]
robink has quit [*.net *.split]
so has quit [*.net *.split]
dlat has quit [*.net *.split]
Leonidas has quit [*.net *.split]
NaCl has quit [*.net *.split]
ulfdoz_ is now known as ulfdoz
jzelinskie_ is now known as jzelinskie
Khady1 has joined #ocaml
axiles_ has quit [Quit: Quitte]
dinosaure has quit [*.net *.split]
Sim_n has quit [*.net *.split]
njcomsec has quit [*.net *.split]
demonimin has quit [*.net *.split]
lopex has quit [*.net *.split]
leifw has joined #ocaml
mdenes1 has joined #ocaml
whitequa1k has joined #ocaml
andreypopp has joined #ocaml
ccasin has joined #ocaml
robink has joined #ocaml
so has joined #ocaml
dlat has joined #ocaml
Leonidas has joined #ocaml
NaCl has joined #ocaml
robink has quit [Max SendQ exceeded]
robink has joined #ocaml
Ptival has joined #ocaml
pedagand_ has joined #ocaml
bjorkintosh is now known as 17WAA57PG
bjorkintosh has joined #ocaml
srcerer has joined #ocaml
uggwar has quit [*.net *.split]
vbmithr has quit [*.net *.split]
smerz has quit [Ping timeout: 245 seconds]
smerz_ has quit [Ping timeout: 264 seconds]
mort___1 has quit [Quit: Leaving.]
chris2 has joined #ocaml
tov has joined #ocaml
talzeus has joined #ocaml
Cypi has joined #ocaml
thomasga has quit [*.net *.split]
watermind has quit [*.net *.split]
zarul has quit [*.net *.split]
17WAA57PG has quit [*.net *.split]
sad0ur has quit [*.net *.split]
Khady has quit [*.net *.split]
adrien has quit [*.net *.split]
mrvn has quit [*.net *.split]
jdoles has quit [*.net *.split]
jave has quit [*.net *.split]
dkg has quit [*.net *.split]
ousado has quit [*.net *.split]
nickmeha1ry has quit [*.net *.split]
kristi_k1dare has quit [*.net *.split]
samebchase has quit [*.net *.split]
mdenes has quit [*.net *.split]
mrvn has joined #ocaml
hyperboreean has joined #ocaml
arjunguha has joined #ocaml
watermind has joined #ocaml
julm has joined #ocaml
kerneis has joined #ocaml
_5kg has joined #ocaml
pminten has joined #ocaml
jdoles has joined #ocaml
the-gibson has joined #ocaml
the-gibson has quit [Changing host]
the-gibson has joined #ocaml
ddosia has joined #ocaml
gasche has joined #ocaml
dkg has joined #ocaml
via has joined #ocaml
s4muel has joined #ocaml
cyanure__ has joined #ocaml
dRbiG has quit [Ping timeout: 248 seconds]
clog has quit [Ping timeout: 248 seconds]
clog_ has joined #ocaml
sgnb has quit [Ping timeout: 260 seconds]
maurer has joined #ocaml
zarul has joined #ocaml
kristi_kodare has joined #ocaml
talzeus_ has joined #ocaml
rks_ has joined #ocaml
Brocoli_ has joined #ocaml
BiDOrD_ has joined #ocaml
rixed_ has joined #ocaml
zarul has quit [Max SendQ exceeded]
Nahra has joined #ocaml
hcarty_ has joined #ocaml
andreypopp_ has joined #ocaml
Nahra has quit [Changing host]
Nahra has joined #ocaml
leifw_ has joined #ocaml
ulfdoz has quit [Ping timeout: 252 seconds]
the-gibs1n has joined #ocaml
dkg has quit [Ping timeout: 252 seconds]
cyanure__ has quit [Ping timeout: 252 seconds]
tov has quit [Ping timeout: 252 seconds]
bjorkintosh has quit [Ping timeout: 252 seconds]
tnguyen has joined #ocaml
vbmithr has joined #ocaml
dlat_ has joined #ocaml
willb1 has joined #ocaml
leifw has quit [Ping timeout: 245 seconds]
andreypopp has quit [Ping timeout: 245 seconds]
Leonidas has quit [Ping timeout: 245 seconds]
ccasin has quit [Ping timeout: 245 seconds]
jdoles has quit [Ping timeout: 245 seconds]
dlat has quit [Ping timeout: 245 seconds]
NaCl has quit [Ping timeout: 245 seconds]
passiveobserver has joined #ocaml
mdenes1 has quit [Ping timeout: 245 seconds]
caligula has joined #ocaml
sgnb` has joined #ocaml
Cypi_ has joined #ocaml
pango_ has joined #ocaml
tlockney_ has joined #ocaml
alex_nx has joined #ocaml
rom1504 has joined #ocaml
dkg_ has joined #ocaml
rwmjones has joined #ocaml
leifw_ is now known as leifw
andreypopp_ is now known as andreypopp
dRbiG has quit [Ping timeout: 248 seconds]
clog has quit [Ping timeout: 248 seconds]
iZsh has quit [Ping timeout: 248 seconds]
rks has quit [Ping timeout: 248 seconds]
Cypi has quit [Ping timeout: 248 seconds]
talzeus has quit [Ping timeout: 248 seconds]
nicoo has quit [Ping timeout: 248 seconds]
ivan\ has quit [Ping timeout: 248 seconds]
rixed has quit [Ping timeout: 248 seconds]
vpm has quit [Ping timeout: 248 seconds]
rs0 has quit [Ping timeout: 248 seconds]
xaimus has quit [Ping timeout: 248 seconds]
mrvn has quit [Ping timeout: 248 seconds]
jlouis has quit [Ping timeout: 248 seconds]
Asmadeus has quit [Ping timeout: 248 seconds]
via has quit [Ping timeout: 248 seconds]
_5kg has quit [Ping timeout: 248 seconds]
arjunguha has quit [Ping timeout: 248 seconds]
nicoo has joined #ocaml
mrvn has joined #ocaml
nicoo has quit [Changing host]
nicoo has joined #ocaml
uggwar has joined #ocaml
hnrgrgr has joined #ocaml
iZsh_ has joined #ocaml
mdenes1 has joined #ocaml
jdoles has joined #ocaml
angerman has joined #ocaml
cross has quit [Ping timeout: 260 seconds]
sad0ur_ has quit [Ping timeout: 260 seconds]
kerneis has quit [Ping timeout: 260 seconds]
saarin has quit [Ping timeout: 260 seconds]
uggwar_ has quit [Ping timeout: 260 seconds]
tristero has quit [Ping timeout: 260 seconds]
caligula__ has quit [Ping timeout: 260 seconds]
pminten has quit [Ping timeout: 260 seconds]
jpdeplaix has joined #ocaml
dRbiG has joined #ocaml
saarin_ has joined #ocaml
saarin_ is now known as saarin
bjorkintosh has joined #ocaml
trystero has joined #ocaml
ivan\ has joined #ocaml
gargawel has joined #ocaml
kerneis has joined #ocaml
cdidd has joined #ocaml
cyanure__ has joined #ocaml
cross has joined #ocaml
struktured has joined #ocaml
siddharthv has joined #ocaml
zarul has joined #ocaml
vpm has joined #ocaml
_5kg has joined #ocaml
dinosaure1 has joined #ocaml
asmanur has joined #ocaml
jave has joined #ocaml
orbitz has joined #ocaml
NaCl has joined #ocaml
NaCl has quit [Changing host]
NaCl has joined #ocaml
smondet has joined #ocaml
wolfnn has joined #ocaml
adrien_oww has joined #ocaml
testcocoon has joined #ocaml
rks has joined #ocaml
Nahra_ has joined #ocaml
maurer_ has joined #ocaml
rixed has joined #ocaml
julm_ has joined #ocaml
hcarty has joined #ocaml
tov has joined #ocaml
j0sh has joined #ocaml
Sim_n has joined #ocaml
demonimin has joined #ocaml
lopex has joined #ocaml
sad0ur has joined #ocaml
smerz has joined #ocaml
smerz_ has joined #ocaml
Dongyancai has joined #ocaml
mort___1 has joined #ocaml
kristi_k1dare has joined #ocaml
rs0 has joined #ocaml
struktured has quit [Ping timeout: 260 seconds]
the-gibs1n has quit [*.net *.split]
hcarty_ has quit [*.net *.split]
Nahra has quit [*.net *.split]
rixed_ has quit [*.net *.split]
BiDOrD_ has quit [*.net *.split]
Brocoli_ has quit [*.net *.split]
rks_ has quit [*.net *.split]
talzeus_ has quit [*.net *.split]
kristi_kodare has quit [*.net *.split]
maurer has quit [*.net *.split]
gasche has quit [*.net *.split]
s4muel has quit [*.net *.split]
ddosia has quit [*.net *.split]
julm has quit [*.net *.split]
n0v has quit [*.net *.split]
IbnFirnas_ has quit [*.net *.split]
pango_ has quit [*.net *.split]
alex_nx has quit [*.net *.split]
tlockney_ has quit [*.net *.split]
Cypi_ has quit [*.net *.split]
sgnb` has quit [*.net *.split]
caligula has quit [*.net *.split]
hyperboreean has quit [*.net *.split]
whitequa1k has quit [*.net *.split]
so has quit [*.net *.split]
leifw has quit [*.net *.split]
andreypopp has quit [*.net *.split]
chris2 has quit [*.net *.split]
rossberg has quit [*.net *.split]
lopho has quit [*.net *.split]
Drup has quit [*.net *.split]
thorsten` has quit [*.net *.split]
ohama has quit [*.net *.split]
patronus has quit [*.net *.split]
flux has quit [*.net *.split]
cthuluh has quit [*.net *.split]
amiller has quit [*.net *.split]
wormphlegm has quit [*.net *.split]
mal`` has quit [*.net *.split]
diethyl has quit [*.net *.split]
jzelinskie has quit [Changing host]
jzelinskie has joined #ocaml
passiveobserver has quit [Changing host]
passiveobserver has joined #ocaml
hto has joined #ocaml
passiveobserver has quit [Ping timeout: 252 seconds]
jave_ has joined #ocaml
watermind has joined #ocaml
vpm has quit [Ping timeout: 252 seconds]
dlat_ has quit [Ping timeout: 252 seconds]
vbmithr has quit [Ping timeout: 252 seconds]
madroach has joined #ocaml
mrvn_ has joined #ocaml
cdidd has quit [Read error: Operation timed out]
rom1504 has quit [Write error: Broken pipe]
hnrgrgr has quit [Read error: Operation timed out]
jave has quit [Write error: Broken pipe]
pippijn has joined #ocaml
rks has quit [Ping timeout: 252 seconds]
pippijn has quit [Changing host]
pippijn has joined #ocaml
mrvn has quit [Ping timeout: 248 seconds]
saarin has quit [Ping timeout: 260 seconds]
dRbiG has quit [Ping timeout: 260 seconds]
clog_ has quit [Ping timeout: 260 seconds]
clog has joined #ocaml
sad0ur has joined #ocaml
asmanur has joined #ocaml
zarul has quit [Ping timeout: 245 seconds]
kristi_kodare has joined #ocaml
kristi_kodare has left #ocaml []
jbrown has quit [Ping timeout: 245 seconds]
zarul has joined #ocaml
gasche has joined #ocaml
rs0 has joined #ocaml
mcclurmc has joined #ocaml
mort___ has quit [Read error: Connection reset by peer]
xaimus has joined #ocaml
mcclurmc has quit [Ping timeout: 245 seconds]
clog has quit [^C]
clog has joined #ocaml
maurer has joined #ocaml
mrvn_ has joined #ocaml
hyperboreean is now known as Guest33356
sad0ur has joined #ocaml
julm has joined #ocaml
jdoles has joined #ocaml
pippijn_ has joined #ocaml
olasd has joined #ocaml
BiDOrD has quit [Write error: Broken pipe]
tlockney has joined #ocaml
jave has joined #ocaml
rks has quit [Write error: Broken pipe]
via has quit [Write error: Broken pipe]
kakadu__ has joined #ocaml
nicoo has joined #ocaml
cross has quit [Remote host closed the connection]
alex_nx has joined #ocaml
flx_ has joined #ocaml
Nahra has joined #ocaml
Nahra has quit [Changing host]
Nahra has joined #ocaml
pippijn has quit [*.net *.split]
avsm has quit [*.net *.split]
willb1 has quit [*.net *.split]
devn has quit [*.net *.split]
Dongyancai has quit [*.net *.split]
dkg_ has quit [*.net *.split]
tnguyen has quit [*.net *.split]
Ptival has quit [*.net *.split]
pedagand_ has quit [*.net *.split]
the-gibs1n has joined #ocaml
flx_ is now known as Guest22508
watermind has joined #ocaml
alex_nx has quit [Ping timeout: 260 seconds]
clog has quit [Ping timeout: 260 seconds]
clog_ has joined #ocaml
gargawel_ has joined #ocaml
watermind has quit [Ping timeout: 272 seconds]
vbmithr has quit [Ping timeout: 272 seconds]
kerneis has joined #ocaml
Cypi_ has joined #ocaml
smondet has joined #ocaml
rixed_ has joined #ocaml
jave has joined #ocaml
rks has quit [Write error: Broken pipe]
via has quit [Write error: Broken pipe]
kakadu__ has joined #ocaml
zarul has joined #ocaml
ivan\ has joined #ocaml
nicoo has joined #ocaml
cross has quit [Remote host closed the connection]
alex_nx has joined #ocaml
clog_ has quit [^C]
clog has joined #ocaml
jdoles has joined #ocaml
philtor has joined #ocaml
uggwar_ has joined #ocaml
ddosia has joined #ocaml
pippijn has quit [*.net *.split]
Asmadeus has quit [*.net *.split]
asmanur has quit [*.net *.split]
njcomsec has quit [*.net *.split]
nicoo has quit [*.net *.split]
kakadu__ has quit [*.net *.split]
Guest50168 has quit [*.net *.split]
chris2 has quit [*.net *.split]
jzelinskie has quit [*.net *.split]
j0sh has quit [*.net *.split]
Simn has quit [*.net *.split]
demonimin has quit [*.net *.split]
lopex has quit [*.net *.split]
bicgena has joined #ocaml
zarul has joined #ocaml
sad0ur has quit [Quit: leaving]
Asmadeus_ has quit [*.net *.split]
nicoo_ has quit [*.net *.split]
Cypi has quit [*.net *.split]
iZsh has quit [*.net *.split]
ulfdoz has joined #ocaml
cthuluh has joined #ocaml
gargawel1 has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest41744
rgrinberg has joined #ocaml
Guest41744 has quit [Remote host closed the connection]
tane has joined #ocaml
cesar_ has joined #ocaml
mcclurmc has joined #ocaml
cyanure__ has joined #ocaml
cesar_ is now known as Guest31094
Cypi has joined #ocaml
watermind has joined #ocaml
angerman has quit [Quit: Gone]
olasd has joined #ocaml
Asmadeus has joined #ocaml
yacks has quit [Ping timeout: 252 seconds]
axiles has joined #ocaml
_5kg has joined #ocaml
kakadu__ has joined #ocaml
Guest50168 has joined #ocaml
chris2 has joined #ocaml
jzelinskie has joined #ocaml
j0sh has joined #ocaml
Simn has joined #ocaml
demonimin has joined #ocaml
lopex has joined #ocaml
groovy2shoes has joined #ocaml
amiller has joined #ocaml
alex_nx has joined #ocaml
rwmjones has joined #ocaml
asmanur has joined #ocaml
nikki93 has joined #ocaml
ccasin has joined #ocaml
maurer has joined #ocaml
gasche has joined #ocaml
cross has joined #ocaml
mal`` has joined #ocaml
NaCl has joined #ocaml
willb1 has joined #ocaml
devn has joined #ocaml
Dongyancai has joined #ocaml
dkg_ has joined #ocaml
tnguyen has joined #ocaml
Ptival has joined #ocaml
pedagand_ has joined #ocaml
Nahra has joined #ocaml
Nahra has quit [Changing host]
Nahra has joined #ocaml
rand000 has joined #ocaml
vbmithr has joined #ocaml
NaCl is now known as Guest32183
amiller is now known as Guest27600
nicoo has joined #ocaml
jbrown has joined #ocaml
ggherdov has quit [Ping timeout: 245 seconds]
dinosaure has joined #ocaml
japesina- has quit [Quit: Goodbye.]
japesinator has joined #ocaml
dinosaure1 has joined #ocaml
|jbrown| has joined #ocaml
wormphlegm has joined #ocaml
dinosaure has quit [*.net *.split]
jbrown has quit [*.net *.split]
ggherdov has joined #ocaml
arjunguha has joined #ocaml
rom1504 has joined #ocaml
groovy2shoes has quit [Ping timeout: 264 seconds]
ulfdoz has quit [Ping timeout: 252 seconds]
iZsh has joined #ocaml
amiller_ has joined #ocaml
groovy2shoes has joined #ocaml
77CABK8L7 has joined #ocaml
77CABK8L7 has quit [Changing host]
77CABK8L7 has joined #ocaml
alex_nx_ has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
Guest27600 has quit [Read error: Operation timed out]
asmanur has quit [Ping timeout: 252 seconds]
asmanur has joined #ocaml
nicoo has quit [*.net *.split]
iZsh has quit [*.net *.split]
kakadu__ has quit [*.net *.split]
Guest50168 has quit [*.net *.split]
chris2 has quit [*.net *.split]
jzelinskie has quit [*.net *.split]
j0sh has quit [*.net *.split]
Simn has quit [*.net *.split]
demonimin has quit [*.net *.split]
lopex has quit [*.net *.split]
iZsh has joined #ocaml
alex_nx has quit [*.net *.split]
rwmjones has quit [*.net *.split]
nikki93 has quit [*.net *.split]
ccasin has quit [*.net *.split]
maurer has quit [*.net *.split]
gasche has quit [*.net *.split]
cross has quit [*.net *.split]
Guest32183 has quit [*.net *.split]
mal`` has quit [*.net *.split]
willb1 has quit [*.net *.split]
devn has quit [*.net *.split]
Dongyancai has quit [*.net *.split]
dkg_ has quit [*.net *.split]
tnguyen has quit [*.net *.split]
Ptival has quit [*.net *.split]
pedagand_ has quit [*.net *.split]
tlockney has left #ocaml []
ousado is now known as IMNSHO
IMNSHO is now known as ousado
nikki93 has joined #ocaml
ccasin has joined #ocaml
maurer has joined #ocaml
gasche has joined #ocaml
cross has joined #ocaml
mal`` has joined #ocaml
Guest32183 has joined #ocaml
willb1 has joined #ocaml
devn has joined #ocaml
Dongyancai has joined #ocaml
dkg_ has joined #ocaml
tnguyen has joined #ocaml
Ptival has joined #ocaml
pedagand_ has joined #ocaml
77CABK8L7 has quit [*.net *.split]
<adrien> I love the screenshots
passiveobserver has joined #ocaml
<adrien> basically they show how static analysis can find leaks in a code and langage which use reference-counting :)
jlouis has joined #ocaml
The-Mad-Pirate-2 has quit [Read error: Connection reset by peer]
struktured has quit [Ping timeout: 272 seconds]
yroeht2 has joined #ocaml
nikki93 has quit [*.net *.split]
ccasin has quit [*.net *.split]
maurer has quit [*.net *.split]
gasche has quit [*.net *.split]
cross has quit [*.net *.split]
Guest32183 has quit [*.net *.split]
mal`` has quit [*.net *.split]
willb1 has quit [*.net *.split]
devn has quit [*.net *.split]
Dongyancai has quit [*.net *.split]
dkg_ has quit [*.net *.split]
tnguyen has quit [*.net *.split]
Ptival has quit [*.net *.split]
pedagand_ has quit [*.net *.split]
cyanure__ has quit [Remote host closed the connection]
tlockney_away has joined #ocaml
tlockney_away is now known as tlockney
Thooms has quit [Ping timeout: 252 seconds]
<mrvn> I wonder why there is no Lazy.un_force
<adrien> what would be the use?
cyanure__ has joined #ocaml
Guest31094 has quit [Remote host closed the connection]
<mrvn> I have a function to read values from disk. I would like to make lazy values from that function. So Lazy.force would read the value from disk the first time and return the cached value on the second. Then when ram gets tight I would like to un_force it so the memory gets freed and the next access reads the value again.
<mrvn> A Cache.t
<adrien> Weak?
<adrien> although that's unpredictable
angerman has joined #ocaml
<Drup> mrvn: I wouldn't reimplement that on top of lazy, it sounds easy to do with an internal reference
<adrien> it sounds like that would be trying to use lazy for too many things
<adrien> and Lazy is already enough magic; it's not unlikely this wouldn't fit
<adrien> I think this sums it up well: external force : 'a t -> 'a = "%lazy_force";;
<Drup> purple magic \o/
<adrien> (:
<adrien> there should be a "unicorn" module in OCaml
<mrvn> The force probably destroys the closure that computes the value.
<mrvn> adrien: There is. But it is pink and invisible.
<adrien> I knew this unicorn was around! \o/
<adrien> probably fighting with the flying spaghetti monster for control of the universe
jpdeplaix` has joined #ocaml
<mrvn> I've gotten quite a bit further with my BTree: http://paste.debian.net/83528/
<mrvn> Disk based BTree that is.
<adrien> :)
<ousado> mrvn: is that part of a bigger project?
<mrvn> ousado: yes.
<ousado> mrvn: what is it?
<mrvn> It's going to be a filesystem using fuse.
<ousado> ah, ok
cyanure__ has quit [Remote host closed the connection]
<ousado> open source?
<mrvn> sure.
<ousado> nice
<ousado> any special features, encryption perhaps?
AdmiralBumbleBee has joined #ocaml
milosn has quit [Read error: No route to host]
<mrvn> Special feature: No special features. None at all. totaly KISS.
<adrien> :)
watermind has quit [Remote host closed the connection]
watermind has joined #ocaml
<mrvn> The desing Idea for the BTree is that you write a Leaf module and then call BTree.Make(Leaf) to make all the rest of the BTree.
arjunguha has quit [Ping timeout: 264 seconds]
axiles has quit [Remote host closed the connection]
Guest50168 has joined #ocaml
chris2 has joined #ocaml
jzelinskie has joined #ocaml
j0sh has joined #ocaml
Simn has joined #ocaml
demonimin has joined #ocaml
lopex has joined #ocaml
leifw_ has quit [Ping timeout: 245 seconds]
Guest50168 has quit [*.net *.split]
chris2 has quit [*.net *.split]
jzelinskie has quit [*.net *.split]
j0sh has quit [*.net *.split]
Simn has quit [*.net *.split]
demonimin has quit [*.net *.split]
lopex has quit [*.net *.split]
milosn has joined #ocaml
nikki93_ has joined #ocaml
devn has joined #ocaml
mal`` has joined #ocaml
maurer has joined #ocaml
Dongyancai has joined #ocaml
smerz_ has quit [Ping timeout: 245 seconds]
smerz has quit [Ping timeout: 245 seconds]
ccasin has joined #ocaml
Ptival has joined #ocaml
cdidd has joined #ocaml
willb1 has joined #ocaml
tnguyen has joined #ocaml
philtor has quit [Ping timeout: 264 seconds]
tane has quit [Quit: Verlassend]
nk0 has quit [Ping timeout: 252 seconds]
q66 has quit [Ping timeout: 252 seconds]
angerman has quit [Quit: Gone]
q66 has joined #ocaml
jpdeplaix` is now known as jpdeplaix
nikki93_ has quit [Remote host closed the connection]
watermind has quit [Quit: Konversation terminated!]
watermind has joined #ocaml
<andreypopp_> would it be a good idea to write ocaml to javascript compiler using typed tree as a starting point?
Drup has left #ocaml []
Drup has joined #ocaml
<Drup> andreypopp_: why the typedtree ?
<andreypopp_> Drup: I want to follow closely JS semantics, I think
<Drup> and ?
<andreypopp_> so AST to AST transform would be the simplest thing
<andreypopp_> I'd get also readable output (to some extent)
<Drup> (I assume you know already about this : http://ocsigen.org/js_of_ocaml/)
<andreypopp_> yes, didn't investigate it much though
<Drup> I'm not sure what is your goal, but you should
<andreypopp_> sure
<andreypopp_> the most important goal is to learn ocaml
<Drup> learning ocaml by doing a compiler from it may not be the most easy way =)
<Drup> andreypopp_: in general, the "good" way to do a compiler from OCaml to something is to start from the bytecode
<andreypopp_> Drup: because it optimization passes already applied?
<Drup> because the ocaml compiler as already done some optimization, it's quite simple and it's very stable and
<Drup> -and*
nk0 has joined #ocaml
<Drup> and because the type-checking is out of the way
<andreypopp_> I guess typedtrees are also typed checked
<Drup> sure, but you still have a lot of type informations
q66 has quit [Quit: Leaving]
<Drup> and it's not very documented, nor garanted to be as stable as the bytecode
<adrien> andreypopp_: there was ocamljs earlier on
<andreypopp_> ok, I think bytecode to js would be much faster than ast to ast
<adrien> but keeping up with the changes in the compiler ast was too much work
rwmjones has joined #ocaml
nikki93 has joined #ocaml
dkg has joined #ocaml
pedagand has joined #ocaml
gasche has joined #ocaml
NaCl has joined #ocaml
<adrien> bytecode, especially for the ocaml vm, is far less work
<Drup> andreypopp_: another (big) advantage of starting from the bytecode, is that you don't have to "recompile" all the libray
<andreypopp_> because ocaml programs tend to "allocate" a lot which optmization passes remove
<adrien> I don't think anything in the compiler tries to optimize allocations away
<Drup> andreypopp_: you can just use the bytecode library (.cma/.cmo) and you're good to go =)
<andreypopp_> i mean it inlines function calls
<andreypopp_> probably I'd just use js_of_ocaml then
<Drup> js_of_ocaml is really nice :p
<andreypopp_> thought ast to ast compiler would be useful but now I see it'd not
<andreypopp_> thank you
<Drup> it's very hard to maintain
<andreypopp_> I thought typedtree is also a stable interface
<andreypopp_> ocp-index seems to use it
NaCl is now known as Guest42303
<adrien> but not updated in years
<andreypopp_> adrien: I've seen this, it's also a lot of code
<Drup> trough compiler_libs, I suppose
<andreypopp_> what about js_of_ocaml performance of generated code?
<adrien> can be faster than bytecode on ocamlrun
<andreypopp_> wow
<adrien> and there's quite a lot of work behind it so it gets faster over time
<adrien> night
<Drup> thanks to crazy optimized javascript JIT stuff, it's quite fast =)
<andreypopp_> js_of_ocaml looks cool
<andreypopp_> but I guess it doesn't generate source maps for code
<Drup> huum, let me dig into the git log, I've seen a patch about it
cross has joined #ocaml
Guest50168 has joined #ocaml
chris2 has joined #ocaml
jzelinskie has joined #ocaml
j0sh has joined #ocaml
demonimin has joined #ocaml
lopex has joined #ocaml
ulfdoz has joined #ocaml
<andreypopp_> https://github.com/ocsigen/js_of_ocaml/issues/62 <- it has source maps support but not complete, it seems
<andreypopp_> anyway, I'm going to try js_of_ocaml
<Drup> also, do note that the code generated by js_of_ocaml is not meant to be looked at, even with the -pretty option :p
<andreypopp_> Drup: yep, I expect this from low-level to high-level lang compiler
<Drup> (https://github.com/ocsigen/js_of_ocaml/pull/58 the first PR about source maps)
<andreypopp_> this is why I want source maps
<andreypopp_> any attempts to make it self hosted? (besides I/O of course)
<Drup> self-hosted ?
<Drup> you mean, compile js_of_ocaml is js ?
<andreypopp_> wrong term but yeah
<Drup> not exactly that, but close enough :p
<andreypopp_> cool
<andreypopp_> Drup: thanks!
<Drup> (http://try.ocamlpro.com/ this one is regular ocaml interpreter compile with js_of_ocaml)
<Drup> compiled*
ulfdoz has quit [*.net *.split]
cross has quit [*.net *.split]
Guest50168 has quit [*.net *.split]
chris2 has quit [*.net *.split]
jzelinskie has quit [*.net *.split]
j0sh has quit [*.net *.split]
demonimin has quit [*.net *.split]
lopex has quit [*.net *.split]
ulfdoz has joined #ocaml
mcclurmc has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
tov has joined #ocaml
darkf_ has joined #ocaml
darkf_ is now known as darkf
seliopou has joined #ocaml
rand000 has quit [Quit: leaving]
rwmjones has quit [*.net *.split]
nikki93 has quit [*.net *.split]
dkg has quit [*.net *.split]
pedagand has quit [*.net *.split]
gasche has quit [*.net *.split]
Guest42303 has quit [*.net *.split]
madroach has quit [Ping timeout: 252 seconds]
mcclurmc has joined #ocaml
madroach has joined #ocaml
arj has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
ulfdoz has quit [Ping timeout: 252 seconds]