flux 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!)
bzzbzz has quit ["leaving"]
seafood has joined #ocaml
seafood has quit [Client Quit]
Associat0r has quit []
Ched- has quit [Read error: 110 (Connection timed out)]
Ched- has joined #ocaml
seafood has joined #ocaml
seafood has quit []
sbok has quit ["leaving"]
Mr_Awesome has quit [Read error: 60 (Operation timed out)]
coucou747 has joined #ocaml
Mr_Awesome has joined #ocaml
lecas has joined #ocaml
pleroma_ has joined #ocaml
lecas has left #ocaml []
jeremiah has quit [Read error: 110 (Connection timed out)]
pleroma has quit [Read error: 110 (Connection timed out)]
pleroma_ is now known as pleroma
seafood has joined #ocaml
seafood has quit []
seafood has joined #ocaml
seafood has quit [Client Quit]
michaelgg has joined #ocaml
Mr_Awesome has quit [Read error: 110 (Connection timed out)]
Camarade_Tux has quit []
sbok has joined #ocaml
Mr_Awesome has joined #ocaml
bluestorm has joined #ocaml
michaelgg has left #ocaml []
bohanlon has quit [Read error: 60 (Operation timed out)]
bohanlon has joined #ocaml
jlouis has quit [Remote closed the connection]
ttamttam has joined #ocaml
<flux> funny, it looks like google is doing just the browser we talked about a few days back: each page is its own process
<flux> s/page/tab/
davidrichards has joined #ocaml
<ulfdoz> IE8 will do that, too.
<ulfdoz> However, i think, this will introduce a lot of bloat which would usually be shared.
davidrichards has left #ocaml []
<mrvn> ulfdoz: just because you fork you can still share
<ulfdoz> we'll see how well they'll do that.
<mrvn> and ram is cheap.
<pango_> not to mention computers, for those that can't upgrade their memory ;)
<ulfdoz> At last FF has to long start-up-time in my opinion.
<ulfdoz> But my machine is six years old.
<mrvn> My amiga did boot faster than FF starts
<bluestorm> flux: yes i noticed that too :p
<bluestorm> "#ocaml : even Google takes advice here"
<bluestorm> -even
<bluestorm> mrvn: your Amiga did not support Ajax 3.0 and XUL 3.1415; no XFormPathQuery either
<mrvn> It was also 500 times slower
filp has joined #ocaml
seafood has joined #ocaml
Yoric[DT] has joined #ocaml
mishok13 has joined #ocaml
<kig> re: process per page, share what? i don't think there's a whole lot that can be shared apart from dlls and those are already shared.
<kig> hmm, fonts and gui widgets maybe
<kig> most memory use is from images but there's not much use overlap between pages for those
<mrvn> fonts and pixmaps.
<Yoric[DT]> hi
<kig> is there something for using SIMD extensions with bigarrays or somesuch?
<Yoric[DT]> I haven't heard of anything such.
<Yoric[DT]> I guess it wouldn't be too hard to implement it in C, but that's all I know/believe.
<kig> I was dreaming of some kind of stream processing language CUDA/GLSL-style. Define a purely functional (i.e. gather) kernel with reads from closure, compile to SIMD, parallelizing from there is trivial.
<kig> the kernel and parallelize bits i sort of have already, if in a fork way
<kig> http://fhtr.blogspot.com/2008/08/preludeml-some-parallel-combinators.html <- if someone with more than two cores would give that a spin with different process counts, i'd be delighted
<Yoric[DT]> There's at least one library with parallel combinators in OCaml.
<flux> nice, now I know there's atleast two people writing OCaml in Finland
filp has quit ["Bye"]
OChameau has joined #ocaml
coucou747 has quit [Read error: 60 (Operation timed out)]
coucou747 has joined #ocaml
rwmjones has quit [Remote closed the connection]
rwmjones has joined #ocaml
bluestorm has quit [Remote closed the connection]
<kig> flux: yay
itewsh has joined #ocaml
hkBst has joined #ocaml
itewsh has quit ["KTHXBYE"]
jeremiah has joined #ocaml
Amorphous has quit [Read error: 104 (Connection reset by peer)]
<Yoric[DT]> gasp
<Yoric[DT]> I'm just realizing that, when asked to generate documentation, OCamlBuild actually runs ocamldoc several times.
<Yoric[DT]> So all my code is for naught, I guess.
itewsh has joined #ocaml
<gildor> Yoric[DT]: nope
<gildor> if it is as i have already seen
<gildor> ocamldoc is run several time to produce .odoc file (dump of ocamldoc internal structure)
<gildor> and merge everything at the end
<Yoric[DT]> mmmhhhhh.....
<gildor> i.e. truc.odoc + toto.odoc -> index.html
<Yoric[DT]> Interesting.
<gildor> if i am correct
<Yoric[DT]> Looks correct.
<gildor> this is a trick to have kind of "incremental doc generation" using ocamldoc
<Yoric[DT]> Ok.
<Yoric[DT]> Now, I have no clue how it interfers with my plug-in.
<Yoric[DT]> I'm currently attempting to write a custom generator for two purposes:
<gildor> if your plugin is always used there should have no problem
<Yoric[DT]> * inline some [import M] directives
<Yoric[DT]> * replace some references according to a custom tag.
<gildor> (i.e. at every step of .odoc generation)
<Yoric[DT]> I'm not sure.
<gildor> I think it should works
<Yoric[DT]> Well, actually, it doesn't work, but that may quite well be my fault :)
<gildor> BTW, do you have move documentation to batteries.forge.ocamlcore.org as suggested in my mailing list post of yesterday ?
<Yoric[DT]> I don't know.
<Yoric[DT]> bluestorm is in charge of that
<gildor> ok
<gildor> i think it is worth the move
<Yoric[DT]> Do you have experience with ocamldoc generators, btw?
<gildor> you will get something better
<Yoric[DT]> Yes, seems to have moved.
<gildor> Yoric[DT]: not at all, most of my documentation doesn't look pretty well
<Yoric[DT]> ok
Amorphous has joined #ocaml
<Yoric[DT]> That's bound to interact poorly with "-intro".
Ched- has quit [Remote closed the connection]
Associat0r has joined #ocaml
tomh_-_ has joined #ocaml
Ched- has joined #ocaml
sporkmonger has quit []
sporkmonger has joined #ocaml
sporkmonger_ has joined #ocaml
sporkmonger has quit [Read error: 110 (Connection timed out)]
seafood has quit [Read error: 104 (Connection reset by peer)]
seafood has joined #ocaml
filp has joined #ocaml
Ched- has quit [Remote closed the connection]
marmotine has joined #ocaml
Ched- has joined #ocaml
vpalle has joined #ocaml
seafood has quit []
bluestorm has joined #ocaml
vpalle has quit [Read error: 110 (Connection timed out)]
Snark has joined #ocaml
mishok13 has quit [Read error: 145 (Connection timed out)]
<Yoric[DT]> I'm pretty sure that "-load" stuff is preventing my documentation generator from working.
pango_ has quit [Remote closed the connection]
pango_ has joined #ocaml
coucou747 has quit ["bye ca veut dire tchao en anglais"]
ttamttam has left #ocaml []
Oatschool has quit ["Leaving"]
Oatschool has joined #ocaml
coucou747 has joined #ocaml
filp has quit ["Bye"]
<Yoric[DT]> Well, at least when not using ocamlbuild, I have succeeded in getting [string] to hyperlink to [String.t], [array] to [Array.t], etc.
jlouis has joined #ocaml
ttamttam has joined #ocaml
coucou747 has quit [Read error: 113 (No route to host)]
coucou747 has joined #ocaml
Asmadeus has joined #ocaml
jderque has joined #ocaml
<Yoric[DT]> Ahaha, this looks like a bug in OCamlDoc.
Jedai has joined #ocaml
lorph has joined #ocaml
Linktim has joined #ocaml
<Yoric[DT]> Is there anyone around here with experience using ocamlfind?
<ttamttam> You? :-D
<Yoric[DT]> tssss
<ttamttam> Sorry
<bluestorm> Yoric[DT]: if that's not too difficult, i may help you :]
<Yoric[DT]> :)
lorph has left #ocaml []
<Yoric[DT]> I'm using ocamlfind + ocamldoc.
<Yoric[DT]> I have installed a custom generator which adds some new command-line argument.
<Yoric[DT]> Now, if I attempt to use "ocamlfind ocamldoc -mykeyword", ocamlfind complies.
<Yoric[DT]> s/complies/*complains*
<Yoric[DT]> For the moment, I solve the problem by removing ocamlfind.
<Yoric[DT]> But that won't be possible forever.
<bluestorm> well
<bluestorm> ah
<bluestorm> well you could bypass the problem by using a config file instead of cli arguments
<Yoric[DT]> Can I do that?
<bluestorm> i guess you could ask your generator to open the file and read the config to dynamically modify his behavior
<bluestorm> with sane defaults if no file available
<bluestorm> it may even be "easy" (to have something easy to write for an human, and easy to parse for your program) with JSON and what not
<Yoric[DT]> No, that's not possible, I'm afraid.
<bluestorm> ah
<Yoric[DT]> I'm trying to get around a bug in OCamlDoc.
<Yoric[DT]> My problem is that if I register my generator in ocamldoc, this registration is forgotten when "-load" is executed.
<Yoric[DT]> I'm trying to get around that by using the fact that my custom arg is interpreted after "-load".
wlmttobks has joined #ocaml
<bluestorm> well the 3.11 release will probably happen moderately soon
<bluestorm> if you fix the bug, you could hope to see it included :]
<Yoric[DT]> :)
OChameau has quit [Read error: 113 (No route to host)]
rwmjones has quit ["Closed connection"]
Linktim_ has joined #ocaml
ttamttam has left #ocaml []
Linktim has quit [Read error: 113 (No route to host)]
coucou747 has quit [Read error: 113 (No route to host)]
filp has joined #ocaml
itewsh has quit [Read error: 110 (Connection timed out)]
itewsh has joined #ocaml
sporkmonger_ is now known as sporkmonger
middayc has joined #ocaml
Waleee has joined #ocaml
itewsh has quit ["KTHXBYE"]
psnively has joined #ocaml
ygrek has joined #ocaml
itewsh has joined #ocaml
rwmjones has joined #ocaml
<itewsh> I do not understand a thing
<itewsh> # printf;; => I get => - : ('a, out_channel, unit) format -> 'a = <fun>
<itewsh> ('a, out_channel, unit) format <= what means this type ?
<Smerdyakov> Have you read the OCaml manual about printf
<Smerdyakov> ?
<itewsh> no
<Smerdyakov> Then you should do that before asking such a question.
<itewsh> In fact, I do not understand anymore by reading the manual ...
<Myoma> itewsh: try printf "%d%d";;
<Myoma> it wont answer your question but it might give you some distraction
<itewsh> oh ... it's true ...
<Jedai> itewsh: printf "format" is just supported specially by the computer and translated to a well-typed function during the compilation
<itewsh> So printf's arguments do not have any well defined type ... but are build during the evaluation ?
jderque has left #ocaml []
<bluestorm> itewsh: nope, compile-time usually
<Myoma> usually ?
rog1 has joined #ocaml
<Jedai> itewsh: There is a way to create an equivalent of printf() well typed in any functional language with as rich a type system as ML, but it relies on a presentation that is not familiar to users of printf in other languages, it isn't very convenient to type, and you can't do the little bit of localization that you can with printf format string, so what OCaml compiler does is merely to translate
<Jedai> printf "format string" to this well typed formulation at compile-time, ensuring the soundness of the type of the program at compile time while conserving printf convenience
<Jedai> I don't like much this solution (especially the fact that it is hardcoded in the compiler), but it's pretty good as solutions to this problem goes
<itewsh> why does this syntax (('a, out_channel, unit)) work as it ? How ocaml understand that he have to translate the type of the arguments in order to run with the user definition ? Is there any function to translate ?
filp has quit ["Bye"]
<Smerdyakov> itewsh, handling of format string types is built into the compiler.
<itewsh> yes I understood that, but : ('a, out_channel, unit) why do we have "unit" and "out_channel" keyword ? I cannot get the link between a string and that !
<Myoma> don't think about it too much
<Jedai> You can also read the paper "functional unparsing" to see how to do a type-safe printf substitute without compiler tricks
<Yoric[DT]> itewsh: trust me, it's tricky.
<Yoric[DT]> [('a, 'b, 'c) format] is a shortcut for [('a, 'b, 'c, 'c) format4]
<Yoric[DT]> in [('a, 'b, 'c, 'd) format4], we have
<Yoric[DT]> * ['a] is the currified type of your arguments, as a function whose final result has type -> ['d]
<Yoric[DT]> * ['b] and ['c] are used with unparsing -- you can call auxiliary functions from within printf, in which case ['b] is the type of argument which these functions take and ['c] is their result
<Yoric[DT]> * ['d] is the final result of your printf
<itewsh> hum I'm starting to understand ...
<Yoric[DT]> So if you have a printf variant which returns nothing and is created by manipulating strings, ['d] is [unit], ['c] is [string], ['a] depends on your format string and ['b] is inferred from the arguments which you pass after the format string.
ygrek has quit [Remote closed the connection]
<Yoric[DT]> Actually, I'm wrong with ['b].
<Yoric[DT]> Chances are that ['b] is [unit].
<Yoric[DT]> If you have a printf variant which returns a string and is created by manipulating channels, ['d] is [string], ['c] is [unit], ['b] is [channel_out] and ['a] depends on your format string.
<Yoric[DT]> etc.
<Yoric[DT]> It's quite powerful, although the inner mechanism is not completely exposed.
<Yoric[DT]> There's also a [format6], which I haven't attempted to reverse engineer yet.
<Yoric[DT]> It's a super-set of [format4] with 6 type parameters and which is sufficient to express both printf and scanf.
<Jedai> Yoric[DT]: I quite like the result though the fact that it's trying to pretend it's just a string is annoying
<Yoric[DT]> Well, a non-string syntax would have been more satisfying (although perhaps a tad less readable).
<Jedai> Yoric[DT]: I would prefer something a little bit more exposed and with first-class format
<Yoric[DT]> First-class as in "giving you the ability to combine"?
<Jedai> Yoric[DT]: Yeah, that's one problem, the other is localization
<Yoric[DT]> [manually]
<Yoric[DT]> Actually, for localization, there's possibly the sole occurrence of dynamic typing in OCaml.
<Yoric[DT]> (with safe unmarshalling)
<Jedai> Yoric[DT]: As in "it's a value like any other"
<Yoric[DT]> i.e. you can transform a string into a format6
<Jedai> Well it is of course, just the format is, not the string itself
<Yoric[DT]> It's type-checked during the execution.
<Yoric[DT]> So localisation works.
<Jedai> Yoric[DT]: Really ? I didn't knew that, from the type of string_to_format I would have guessed that it was at compilation
<Yoric[DT]> I was thinking about [Scanf.format_from_string].
<Jedai> Yoric[DT]: I meant to say that most tools for localization worked much better with a string based solution like this "printf"
<Jedai> Yoric[DT]: Oh right, I didn't saw this one
<itewsh> ok thanks to all of you !
<itewsh> good bye !
itewsh has quit ["KTHXBYE"]
* rwmjones finds yet another place where I need a segment tree type of structure
<rwmjones> I can't be the only person to have implemented a segment tree structure in ocaml
<rwmjones> my version sucks!
<rwmjones> I'm looking for a good version
Waleee has quit []
<Yoric[DT]> I think I'll need one before long, too.
<rwmjones> it sucks, too complicated, inflexible, and only uses signed int64s (I need the full range of 64 bits)
sporkmonger_ has joined #ocaml
sporkmonger_ has quit [Client Quit]
sporkmonger has quit [Read error: 60 (Operation timed out)]
bluestorm has quit [Remote closed the connection]
psnively has quit []
seafood has joined #ocaml
Snark has quit ["Ex-Chat"]
Ched- has quit [Remote closed the connection]
Ched- has joined #ocaml
Jedai has quit [Read error: 110 (Connection timed out)]
sporkmonger has joined #ocaml
tomh_-_ has quit ["http://www.mibbit.com ajax IRC Client"]
tomh_-_ has joined #ocaml
Linktim_ has quit ["Quitte"]
psnively has joined #ocaml
psnively has quit [Remote closed the connection]
psnively has joined #ocaml
<Yoric[DT]> Actually, come to think about it, I might not need something that powerful.
<Yoric[DT]> I'll think about it later.
<Yoric[DT]> Good night everyone.
Yoric[DT] has quit ["Ex-Chat"]
jeremiah has quit [Read error: 104 (Connection reset by peer)]
netx has joined #ocaml
Camarade_Tux has joined #ocaml
struktured has joined #ocaml
netx has quit [Remote closed the connection]
tomh_-_ has quit ["http://www.mibbit.com ajax IRC Client"]
jeremiah has joined #ocaml
Camarade_Tux has quit []
netx has joined #ocaml
Quadrescence has joined #ocaml
struktured has quit ["Konversation terminated!"]
Asmadeus has quit ["nighters"]
hkBst has quit [Read error: 104 (Connection reset by peer)]
<Quadrescence> Is #Ocaml ever very chatty? :)
<Smerdyakov> You don't want this place to descend into #haskell-ness.
<Quadrescence> Smerdyakov: Heheh, what's wrong with #haskell?
<Smerdyakov> It's full of chattering fanboys.
<Quadrescence> I guess you're right.
<psnively> Well, chattering fanboys, most of whom actually know what they're talking about. But for any given individual, yeah, the S/N ratio seems a bit low.
<psnively> (IMHO, of course.)
psnively has quit []
<Quadrescence> Is OCaml "easier" than Haskell? I'm still reading about it, but one thing that I found difficult in Haskell was stuff like IO.
sporkmonger has quit []
marmotine has quit ["mv marmotine Laurie"]