flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
travisbrady has joined #ocaml
eikke has quit [Ping timeout: 256 seconds]
so has quit [Ping timeout: 268 seconds]
osnr has quit [Quit: Leaving.]
ontologiae has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
so has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Read error: Connection reset by peer]
Watcher7 is now known as Watcher7|off
gnuvince has joined #ocaml
q66 has quit [Remote host closed the connection]
thelema has quit [Ping timeout: 245 seconds]
nlucaroni has joined #ocaml
bkpt has quit [Read error: Connection reset by peer]
madroach has quit [Ping timeout: 248 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
madroach has joined #ocaml
raichoo has quit [Quit: leaving]
foo808 has joined #ocaml
osnr has quit [Read error: Connection reset by peer]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
foo808_ has quit [Ping timeout: 240 seconds]
foo808 has quit [Ping timeout: 246 seconds]
foo808 has joined #ocaml
eikke has quit [Ping timeout: 256 seconds]
osnr has quit [Quit: Leaving.]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
jcao219 has quit [Ping timeout: 276 seconds]
foo808 has quit [Ping timeout: 246 seconds]
foo808 has joined #ocaml
jcao219 has joined #ocaml
darkf has joined #ocaml
jcao219 has quit [Ping timeout: 268 seconds]
thelema has joined #ocaml
pootler_ has quit [Ping timeout: 256 seconds]
pootler__ has quit [Ping timeout: 260 seconds]
pootler_ has joined #ocaml
tane has joined #ocaml
pootler_ has quit [Ping timeout: 240 seconds]
travisbrady has quit [Quit: travisbrady]
Drup has quit [Quit: Leaving.]
tane has quit [Quit: Verlassend]
lusory has joined #ocaml
nlucaroni has quit [Quit: leaving]
ygrek has joined #ocaml
yacks has quit [Quit: Leaving]
so has quit [Ping timeout: 252 seconds]
shinnya has quit [Quit: ZNC - http://znc.in]
so has joined #ocaml
gautamc has quit [Read error: Connection reset by peer]
gautamc has joined #ocaml
UncleVasya has joined #ocaml
pootler_ has joined #ocaml
pootler__ has joined #ocaml
Yoric has joined #ocaml
Snark has joined #ocaml
so has quit [Ping timeout: 252 seconds]
Kakadu has joined #ocaml
so has joined #ocaml
ggole has joined #ocaml
pootler_ has quit [Ping timeout: 240 seconds]
pootler__ has quit [Ping timeout: 264 seconds]
LeNsTR has quit [Changing host]
LeNsTR has joined #ocaml
LeNsTR is now known as lenstr
gautamc has quit [Ping timeout: 256 seconds]
osa1 has joined #ocaml
Kakadu has quit [Ping timeout: 245 seconds]
UncleVasya has quit [Ping timeout: 252 seconds]
UncleVasya has joined #ocaml
UncleVasya has quit [Ping timeout: 245 seconds]
Neros has joined #ocaml
ollehar has joined #ocaml
UncleVasya has joined #ocaml
lusory has quit [Quit: leaving]
ttamttam has joined #ocaml
ttamttam has left #ocaml []
lusory has joined #ocaml
ttamttam has joined #ocaml
ttamttam has left #ocaml []
ygrek has quit [Ping timeout: 252 seconds]
q66 has joined #ocaml
spanish has joined #ocaml
contempt has quit [Ping timeout: 240 seconds]
ontologiae has joined #ocaml
contempt has joined #ocaml
tane has joined #ocaml
structuralist has joined #ocaml
Kakadu has joined #ocaml
malo has joined #ocaml
<spanish> in this function: http://pastebin.com/5HUPMSFJ
<spanish> how is it lp :: l matches `lines' if it wasn't even an argument for the loop?
<spanish> I mean, an argument the `rec loop' construction said it would accept
<bernardofpc> loop n delta = function ... ;; means that loop has *three* arguments
<spanish> and which is the third one?
<bernardofpc> it's unnamed
<spanish> I only see n and delta
<bernardofpc> and it's the one upon which you do the pattern-match
<spanish> and that's because of using the function keyword, no?
<balouis> yes
<balouis> the third one is a list
<bernardofpc> other than that, I don't really understand this funciton, but that's another problem
<spanish> I was actually going to ask is some guru having had a look to mtasc would say that is proper ocaml programming
<bernardofpc> (lines is an int list, which already is misleading)
<spanish> what's actually on the list is the lexer position at the end of the lines
ttamttam has joined #ocaml
ttamttam has left #ocaml []
ontologiae has quit [Ping timeout: 248 seconds]
<gasche> spanish: Nicolas Cannasse is a fine OCaml programmer; I haven't read MTASC source code but I would expect it to be done well-enough
<gasche> and "function ..." is equivalent to "fun x -> match x with ...", for a free name 'x' (that doesn't appear anywhere else)
<spanish> ah, something I can't support from ocaml is functions with no specification or it's arguments
<spanish> it makes the code so difficult to follow
eikke has joined #ocaml
<spanish> unless for some "static" inline function, I wouldn't use that
<spanish> s/or/of
<ggole> It becomes easier once you become accustomed to it
chambart has joined #ocaml
<ousado> you can do that, but it's not very common.
<spanish> if you're used to ocaml it might, but still, how can you get that code after a year and call it maintainable?
<ggole> Argument names are nice to have when things are not clear, but if something is just a list you are iterating over they don't really help much
<ggole> Point free can definitely be taken too far, but I think that function is fairly readable.
<spanish> yes, some times seen it's sole names is enough, that's true as well
ygrek has joined #ocaml
<gasche> the "delta" naming is not very good
<ggole> It's just a short-circuiting fold, really
<gasche> (one would expect (p - delta) to be named delta)
<ggole> And what is p?
<ggole> I assume it is "position"
<spanish> yes, an integer
<spanish> hehe, not even you have it clear, how would you expect me having it?
<spanish> that function is fine if you see the code arround
<ggole> I can tell what the function does quite easily, which is different from telling what the things it operates on mean.
<spanish> but there are many others I'll need quite a time to decode
<bernardofpc> ggole: exact
<ggole> Both are important for good readable code.
<gasche> spanish: I feel mildly sorry about you spending time on something that is probably a rather simple change to the lexer (if you're still working on cpp directives support)
<bernardofpc> s/delta/last/
<gasche> on the other hand, you do look like you're learning a lot while doing this
<spanish> yes, but's normal, I don't know ocaml at all gasche
<spanish> yes, that's true, as when you get to something, you learn by doing, asking, trying
<gasche> well you could probably just request for help for the implementation around here, and get a rough patch from someone that does
<gasche> but not doing that also has upsides for you
<ggole> Diving in like that is an excellent way to learn very fast
<spanish> no, thanks, this is just a spare-time thing, want to leaarn some ocaml as well
<spanish> yes
Kakadu has quit []
Kakadu_ has joined #ocaml
chambart has quit [Ping timeout: 256 seconds]
<spanish> appart from cpp support, I also want to
<spanish> disallow creation od dynamic properties or variables on the fly, something that action script allows, whether because of spec or inherited from ecma, but that I find so stupid
<spanish> you have a typo, the compiler sees it as a valid construction, and compiles it, but the then movie fails and you don't know where
<ggole> That's allowed in many languages, unfortunately.
<spanish> yeah, they call that "facility"
<ousado> why was it again you're using mtasc here?
<spanish> I used it to create and audio and video player integrated with a fast-cgi
<spanish> now we're releasing it, together with the compiler patch, as free software
<spanish> we were in a hurry, so just implemented cpp support and looked at the errors the dirty way, now I want to fuly integrate it and post it
<ousado> I see
<ousado> I still think you could make use of the haxe ecosystem
wmeyer has joined #ocaml
<spanish> there are some bugs in as3 regarding mp3 handling, so we wen't as2 instead
<ousado> oh.. right, as2
<ousado> wmeyer: o//
eikke has quit [Ping timeout: 246 seconds]
<wmeyer> ousado: \\o
* wmeyer drinking coffee after good sleep on Saturday
<ousado> sounds good :)
zRecursive has joined #ocaml
<zRecursive> find .opam/ | grep -i topfind => .opam/system/lib/toplevel/topfind .opam/system/lib/findlib/topfind.mli .opam/system/lib/findlib/topfind.cmi. However, <#use "topfind"> still doesnot work
<wmeyer> and enjoying good weather
<wmeyer> zRecursive: did you do [eval `opam config -env`] ?
<wmeyer> in your shell.
<zRecursive> wmeyer: i am using csh, eval `opam config -env` seems not work
<wmeyer> I see. So it's best just to do print it, and set it manually then.
<zRecursive> ok
<wmeyer> (as I say setting this manually is pain, but on other hand you know what you do)
<zRecursive> sure
<wmeyer> zRecursive: also, I would be tempted to raise a bug in the opam, as this switch is not transparent for tcsh I think. But that's maybe for the reason of that it's not so popular.
Drup has joined #ocaml
<wmeyer> also, you might have misguided the shell, you use 'system' switch which then have different path depending on your system.
<wmeyer> if you do: [opam switch 4.00.1] and set your PATH, that should work I hope
<zRecursive> wmeyer: i will put those into ~/.cshrc
<zRecursive> on my freebsd box
<zRecursive> it is already 4.00.1
<wmeyer> yes, but .opam path you given is /system/ where is it should something with 4.00.1, you you have to install findlib, which comes with any package. BTW, when you do switch you have to reinstall packages, as the installation works just for the current compiler and is not shared.
<wmeyer> this is how OCaml works.
<ousado> there is some shortcut for that
<ousado> for creating a list of the packages and installing them for another compiler I mean
<gasche> it may be possible to have opam config -env depend on the shell used? I think creating an issue on OPAM's bugtracker is a good idea -- better if you can provide an example of syntax csh would accept, and even better if you could provide a patch for that
<zRecursive> echo $CAML_LD_LIBRARY_PATH => ~/.opam/system/lib/stublibs ~/ocaml/lib/ocaml/stublibs echo $OCAML_TOPLEVEL_PATH => ~/.opam/system/lib/toplevel but still canot use topfind
<gasche> what about `ocamlfind printconf`?
<gasche> hm
<zRecursive> gasche: it works
<wmeyer> ousado: in past I did it manually (yes, I know there should be direct support for that, but just wasn't sure how to do this)
<gasche> zRecursive: opam config has a --csh switch already, have you tried that?
<ousado> found it: opam switch export
<wmeyer> ousado: thanks, noted!
<ousado> + opam switch import
<wmeyer> ousado: the only bit I am missing in the opam at the moment are my unifished libraries :-)
<ousado> hehe :)
<gasche> I'll pass the bucket to other people that know opam more than I do
<wmeyer> it would be so nice to package them :-)
<zRecursive> gasche: `opam config -env --csh` seems same as `opam config -env` ?
<zRecursive> `ocamlfind printconf` => Effective configuration:
<zRecursive> Configuration file: ~/.opam/system/lib/findlib.conf
<zRecursive> Search path: ~/.opam/system/lib
<zRecursive> Packages will be installed in/removed from: ~/.opam/system/lib
<zRecursive> META files will be installed in/removed from: the corresponding package directories
<zRecursive> The standard library is assumed to reside in: ~/ocaml//lib/ocaml
<zRecursive> The ld.conf file can be found here: ~/ocaml//lib/ocaml/ld.conf
<wmeyer> zRecursive: if you select this switch, it should work, but that implies that maybe it's not frequently used (people like me, use tcsh at work, and my preference is to have something like bash at the moment)
<gasche> zRecursive: do you have a .ocamlinit? the doc for opam config --ocamlinit in the --help says that it helps with #topfind
<gasche> (and what's the error when '#use topfind'?)
<zRecursive> there is .ocamlinit, '#use topfind' => Cannot find file topfind
<wmeyer> zRecursive: that's strange and is hard to tell what is it, but I can only see you use system compiler where findlib is under .opam.
<wmeyer> so :-) anyway, I hope you get your configuration right!
<wmeyer> it's very fragile to get it right in the begining, but once you configure your ocaml it gets smooether
<zRecursive> wmeyer: have you ever tested opam on freebsd ?
<wmeyer> I don't use freebsd, but it looked like there is no much difference, apart from the BSD like world
<gasche> zRecursive: is there something related to $OCAML_TOPLEVEL_PATH in your .ocamlinit?
chambart has joined #ocaml
<zRecursive> nope
<gasche> that's probably the issue
<wmeyer> gasche: that would be good bet.
<gasche> mine is
<gasche> (* Added by OPAM. *)
<gasche> let () = try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") with Not_found -> ()
<gasche> ;;
<gasche> and indeed I have a "topfind" file in $OCAML_TOPLEVEL_PATH, with ocaml directives inside; do you?
<zRecursive> $ls $OCAML_TOPLEVEL_PATH => topfind
<zRecursive> cat ~/.ocamlinit => #use "topfind";; #require "str";; #require "unix";; #thread;;
chambart has quit [Ping timeout: 256 seconds]
<zRecursive> find .opam/| grep -i topfind => .opam/system/lib/toplevel/topfind .opam/system/lib/findlib/topfind.mli .opam/system/lib/findlib/topfind.cmi
ulfdoz has joined #ocaml
<gasche> zRecursive: well, I suggest you add my line at the beginning of your .ocamlinit
<gasche> as "opam config --ocamlinit" would probably have done automatically
<gasche> (I must say I don't understand how OPAM setup handles those config files; I feel like I've had to call this 'opam config' stuff and take care of completion myself, but maybe it's because my first opam install was pre-1.0)
<zRecursive> cat /usr/ports/devel/ocaml-findlib/Makefile |grep -i version => PORTVERSION=1.3.3 i will test the findlib in ports
<wmeyer> gasche: it feels like this, and indeed it's not a good feeling :-)
<zRecursive> the findlib in ports works before, iirc
<gasche> zRecursive: that's not a findlib problem
<gasche> it's an OPAM problem that you have
<wmeyer> gasche: but on other hand it's automatic on my machine!
<zRecursive> gasche: it it opam problem.
<gasche> wmeyer: on my work machine, I regularly switch between versions to test things, and it's quite a hassle
<gasche> I never did the (possibly simple) work to get Emacs to respect the global switch setting
<gasche> and having a global mutable setting is a pain in any case
<gasche> I would like to have project-local switch settings, but that's not possible at the moment with OPAM
<gasche> (meaning when I'm trying to debug stuff in OCaml I'm usually in a +dev-switch, but then when I go back to regular development I want a 4.00.1, and in practice those two activities happen in parallel across multiple directories and screen sessions)
<wmeyer> gasche: I see, I use single session Emacs, so I have to be able to switch between versions too, and then I use some custom elisp for doing that (this script is a bit hacky, but actually that's purely me who uses that script, so it's fine)
<wmeyer> gasche: mutable configuration is always painful
<wmeyer> maybe something like [opam exec-in-switch 4.00.1 <command>] would work too
<wmeyer> (but it will be slow)
zRecursive has left #ocaml []
<gasche> re. emacs, I don't understand whether there is a single blessed script that works and that people hackingly improve upon (fine), or if nobody cared to clean his or her own script and submit that upstream (painful)
<gasche> wmeyer: note that a "opam switch-if-needed 4.00.1 <command>", whose semantics wouldn't guarantee that the global switch is preserved after execution, would be a partial solution and much faster
<wmeyer> gasche: this memoizing switch would be good indeed.
<gasche> but maybe we don't need the global state at all, if all the state can be put in one's environment
<wmeyer> gasche: while I agree, my script at any rate is not ready!
osa1 has quit [Quit: Konversation terminated!]
* wmeyer thinking about grabbing the laptop and going to caffee
ontologiae has joined #ocaml
ollehar has quit [Ping timeout: 276 seconds]
breakds has joined #ocaml
<wmeyer> gasche: more over, most of people write custom code to handle that, and I think that's how it's getting with Emacs. In opam it can be standarised. More over usually people are not heavy Emacs users, so something simple would just work. In my case I know my configuration very well, and I spent a lot of time on it.
breakds has quit [Remote host closed the connection]
<gasche> wmeyer: I just sent a mail to caml-list to rant about that
<gasche> hopefully it'll work :)
<wmeyer> gasche: :)
mcclurmc has joined #ocaml
<Drup> gasche: is there an issue with using a general directory in .opam and use symlink to redirect to the correct current switch ? It would solve all the issue I think and I would not be "emacs only".
<Drup> (of course, it need a change at opam level)
* wmeyer time to read a good paper :'
beckerb has joined #ocaml
<wmeyer> Drup: somtething similar was proposed by Raphaël Proust. Can't find exactly the issue in the bug tracker. (I suppose search button is not implemented in github)
structuralist has quit []
<gasche> I remember Raphaël proposing that
<gasche> I don't understand how opam switch works, so I don't have much an opinion
<gasche> I would like other people to take care of that
<gasche> Drup: a symlink would make it simple to make sure all tools see the current switch
<gasche> but on the contrary, that would make it more difficult to have a "less global" switch setting
<Drup> gasche: I don't either, this is just a stupid solution to what I think is the problem but there is probably a reason they didn't do that directly
chambart has joined #ocaml
<gasche> that's also something I find annoying with git branching model, as opposed to darcs "just copy the repo somewhere else" philosophy
<gasche> you cannot really work on multiple branch of a single git repo in parallel
<Drup> yeah, I was precisely going to propose the solution "have a directory for each compiler" :D
<Drup> I didn't know opam was using git for that
<gasche> no it's not
<gasche> I was making an analogy
<Drup> ok
<gasche> Opam precisely has a repo for each compiler
<gasche> (but Rapahël's proposal amounts to hiding that fact, and only pointing to a single repo mutably set to "the current compiler")
UncleVasya has quit [Ping timeout: 256 seconds]
<Drup> so opam could have a directory for each compiler *and* the "current compiler" directory
<Drup> the path would be set up to the current compiler, but you could still adresse directly one of the other compiler
<Drup> s/adresse/point to/
ygrek has quit [Ping timeout: 252 seconds]
<Drup> As I said, I don't know how opam is working precisely, not sure if this is reasonable at all.
<wmeyer> gasche: thanks for informing on caml-list about the issue, I hope there will be more discussions, and people select some good solutions for up-streaming
<wmeyer> as I say, opam works for me quite well, but the missing part is in depth control over 'switch' (and mentioned before have no time to finish up work on my libraries like ilist, and at the moment this is almost purely putting them in opam)
skchrko has quit [Ping timeout: 252 seconds]
skchrko has joined #ocaml
tane has quit [Quit: Verlassend]
tane has joined #ocaml
<spanish> does this makes sense? http://pastebin.com/jiPbzatV
<wmeyer> hi spanish
<spanish> hi wmeyer
<spanish> well, the `n' is not used, just from the reusal of the previous one
<wmeyer> - you can't skip type annotations, but they make sense when somebody reads the code like me, or when you describe more complex types!
<wmeyer> - you should not return the -1 instead using option type or exception to denote the failure
<wmeyer> - you should not use List.hd, this makes sense is very limited scope, pattern matches will give you more static gurantees
<wmeyer> - therefore you can match both elements, remember to make pattern matching exhaustive and denote failire as needed
<wmeyer> - don't use mutable calles (ref data type) when it's not needed, use purely functional code as much as possible
<spanish> yes that's true, thanks for the comments, I'll try to apply them
<wmeyer> spanish: you are welcome
<spanish> thanks
<bernardofpc> spanish: the usual idiom for list unpacking is hd :: tl (for "head then tail")
<spanish> don't get how to match the head of the list, though, but that's a nice exercise
Zeev has quit [Remote host closed the connection]
<spanish> ah, you mean on the rule?
<bernardofpc> on the match
<Drup> spanish: you can have complex paterns when patern matching
<spanish> I've seen, but I was reusing a previous function
<Drup> a :: b :: t is a valid patern
<bernardofpc> I 've seen ;-)
<bernardofpc> secon to Drup
<spanish> I know, seem some, but don't know yet how to make them
<spanish> ah, let me try
<bernardofpc> but seeing the original code, i think you want lp.position
<bernardofpc> not b.position
<Drup> spanish: you could use it for your second patern
<spanish> yes, that's what I'm trying now
<bernardofpc> oh, there are more changes in the code that what I thought
<bernardofpc> spanish: what do you need "n" for ?
<spanish> nothing for, comes from the reusal of the original function
<bernardofpc> so you can just make a loop on "source_line_info list" -> number Option
<spanish> yes, though the error thing is a bit tricky, cose the original one didn't provide one either
<spanish> I can raise an exception right from the rule then
studybot_ has quit [Remote host closed the connection]
studybot_ has joined #ocaml
studybot_ has quit [Read error: Connection reset by peer]
ontologiae has quit [Quit: WeeChat 0.4.0]
studybot_ has joined #ocaml
studybot_ has quit [Remote host closed the connection]
studybot_ has joined #ocaml
studybot_ has quit [Read error: Connection reset by peer]
studybot_ has joined #ocaml
studybo__ has joined #ocaml
studybo__ has quit [Remote host closed the connection]
studybo__ has joined #ocaml
studybo__ has quit [Read error: Connection reset by peer]
studybo__ has joined #ocaml
studybot_ has quit [Ping timeout: 252 seconds]
<spanish> that's more or less a final version of what I would be integrating in mtasc
vivanov has joined #ocaml
<vivanov> how to pass arguments to ocamldebug when running it under emacs -- for example "ocamldebug `ocamlfind query -recursive -i-format da` -I _build deb.byte"
jbrown has quit [Read error: Operation timed out]
<Kakadu_> flux: hey! Any news about OCaml+Qt?
jbrown has joined #ocaml
ollehar has joined #ocaml
chambart has quit [Ping timeout: 256 seconds]
osa1 has joined #ocaml
pkl` has joined #ocaml
<pkl`> Does anyone know how to enable threads when compiling with ocp-build?
malo has quit [Quit: Leaving]
<flux> kakadu_, sorry, no
<wmeyer> flux, Kakadu_ : hello
<Kakadu_> wmeyer: hey
mattrepl has joined #ocaml
tane has quit [Quit: Verlassend]
ollehar has quit [Ping timeout: 240 seconds]
osa1 has quit [Ping timeout: 246 seconds]
osa1 has joined #ocaml
dsheets has joined #ocaml
ygrek has joined #ocaml
tobiasBora has joined #ocaml
Drup has quit [Ping timeout: 268 seconds]
darkf has quit [Quit: Leaving]
eikke has joined #ocaml
Kakadu_ has quit []
emmanuelux has quit [Read error: Connection reset by peer]
osa1 has quit [Quit: Konversation terminated!]
jbrown has quit [Ping timeout: 246 seconds]
vivanov has quit [Quit: Lost terminal]
jbrown has joined #ocaml
tobiasBora has quit [Quit: Konversation terminated!]
jbrown has quit [Ping timeout: 245 seconds]
ollehar has joined #ocaml
oriba has joined #ocaml
jbrown has joined #ocaml
Yoric has quit [Ping timeout: 256 seconds]
emmanuelux has joined #ocaml
iZsh has quit [Quit: Coyote finally caught me]
ollehar has quit [Ping timeout: 256 seconds]
iZsh has joined #ocaml
Watcher7|off is now known as Watcher7
malo has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
osa1 has joined #ocaml
emmanuelux has quit [Ping timeout: 256 seconds]
emmanuelux has joined #ocaml
emmanuelux has quit [Client Quit]
eikke has quit [Ping timeout: 268 seconds]
ollehar has joined #ocaml
travisbrady has joined #ocaml
beckerb has quit [Ping timeout: 245 seconds]
Yoric has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
oriba has quit [Remote host closed the connection]
ttamttam has joined #ocaml
rgrinberg has quit [Quit: WeeChat 0.4.1]
ggole has quit []
yacks has joined #ocaml
dsheets has joined #ocaml
travisbrady has quit [Quit: travisbrady]
ollehar has quit [Ping timeout: 256 seconds]
ollehar has joined #ocaml
Kakadu has joined #ocaml
eikke has joined #ocaml
mort___ has joined #ocaml
mort___ has left #ocaml []
ttamttam has left #ocaml []
pootler__ has joined #ocaml
pootler_1 has joined #ocaml
pootler_1 has quit [Ping timeout: 260 seconds]
pootler__ has quit [Ping timeout: 260 seconds]
ollehar has quit [Quit: ollehar]
Zeev has joined #ocaml
Kakadu has quit []
Kakadu_ has joined #ocaml
mattrepl has quit [Quit: mattrepl]
Zeev has quit [Read error: Connection reset by peer]
Snark has quit [Quit: leaving]
Zeev has joined #ocaml
cdidd has quit [Ping timeout: 264 seconds]
cdidd has joined #ocaml
eikke has quit [Ping timeout: 240 seconds]
Kakadu_ has quit []
Kakadu has joined #ocaml
<wmeyer> pippijn: ping
osa1 has quit [Quit: Konversation terminated!]
Zeev has quit [Read error: Connection reset by peer]
eikke has joined #ocaml
Zeev has joined #ocaml
pootler__ has joined #ocaml
pootler_1 has joined #ocaml
osa1 has joined #ocaml
osa1 has quit [Client Quit]
Kakadu has quit [Ping timeout: 246 seconds]
pootler_3 has joined #ocaml
pootler_4 has joined #ocaml
pootler_1 has quit [Ping timeout: 256 seconds]
pootler__ has quit [Ping timeout: 256 seconds]
osa1 has joined #ocaml
eikke has quit [Read error: Operation timed out]
spanish has quit [Quit: Leaving]
jayprich has joined #ocaml
ollehar has joined #ocaml
Yoric has quit [Ping timeout: 245 seconds]
osa1 has quit [Quit: Konversation terminated!]
Drup has joined #ocaml
gautamc has joined #ocaml
jcao219 has joined #ocaml
pootler_3 has quit [Ping timeout: 245 seconds]
pootler_4 has quit [Ping timeout: 245 seconds]
pkl2 has joined #ocaml
<pkl2> Does anyone know how to compile with threads in ocp-build?
<adrien> hmmm
<adrien> now that you mention that I'm starting to have doubts it might not be possible right now
<adrien> ocp-build has its own handling of META files for ocamlfind and the -threads support in ocamlfind has some special handling
<adrien> maybe it isn't in ocp-build
<pkl2> ok
<adrien> but that's only an hypothesis
<adrien> you should ask on one of the official media
<pkl2> ok
<adrien> I don't know if there's a dedicated ML
<pkl2> ok, I will have a look
<pkl2> Looking at the verbose output from ocp-build, it seems that the only thing missing is to add 'threads.cmxa' etc in the linking stage
<adrien> "man ocamlfind" has a section named "Fixup of the dependency graph for multi-threading"
<adrien> which mentions: (2) the package "threads" becomes prerequisite of all other packages (except of itself and a few hardcoded exceptions)
pkl` has left #ocaml []
Yoric has joined #ocaml
<pkl2> ok
pootler__ has joined #ocaml
<jayprich> so does one edit the package file and add "threads" to the requires=[] only for program then the ocamlfind will fix-up dependencies and choose compatible versions of the other libraries?
<wmeyer> adrien: hi!
<pkl2> No, it does not seem to work.
<adrien> wmeyer: morning
<wmeyer> adrien: morning morning
<adrien> jayprich: you make what makes sense; afaiu ocamlfind does this so that the threads package is linked first
* wmeyer is very sleepy
<adrien> same here
* wmeyer eaten a big dinner
pootler_1 has joined #ocaml
* wmeyer did a lot of work today though
<adrien> I'm finally done with the awful js/html/css stuff as far as I'm concerned
<adrien> waiting for some apache stats to update now :P
<wmeyer> cool
<wmeyer> is it stuff for the daytime job?
<adrien> definitely not
<adrien> did half a dozen iterations
<wmeyer> cool, I like it, do you maintain the mingw-w64?
mcclurmc has quit [Ping timeout: 252 seconds]
<Drup> adrien: it's not done in Eliom !
* Drup hides.
pkl2 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<adrien> Drup: it's static :P
* wmeyer thinks Eliom is great but not sure if he has enough time to write a webpage
<wmeyer> it looks static :-)
<Drup> adrien: then you shouldn't have any js, thats a major pain off :p
<adrien> the js was a previous try
<adrien> the php is only there to "include" common bits
<wmeyer> Drup: I am not sure if js is pain, nowdays I found first class closures as good as it goes in dynamicaly typed languages
<wmeyer> of course js_of_ocaml is superior to js in terms of how fast you can develop code
<wmeyer> but it comes with a separate pass for compilation for instance
<Drup> wmeyer: the js semantics is really really crazy
<Drup> there is a lot of extremely strange and dangerous stuff everywhere.
<wmeyer> in other words, js is used widely because it's known to be expressive too
<wmeyer> Drup: semantics are crazy, but at least are specified
<adrien> js is crap :P
<Drup> wmeyer: huu, it depends
<wmeyer> I prefer actually JS over flash for instance
<adrien> it's a minefield
<adrien> and noone does JS
<adrien> people do jquery or other libs
<wmeyer> I did some js :) and i am happy user of the js_of_ocaml compiler actually
<adrien> equivalent of Array.iter? not in IE 8 and before
Zeev has quit [Read error: Connection reset by peer]
<Drup> adrien jquery is a sort of net on top of the mindfield. Sure, normally you shouldn't touch it, but you're never sure the net is not gonna bend and let you explode violently. And it's still difficult to walk on it.
<wmeyer> nowdays however, I stopped doing any web stuff, because it seems like my limited time kills everything ;)
<wmeyer> Drup: that's why you have to be careful with this
<adrien> Drup: agreed but at least there's a net
Zeev has joined #ocaml
<adrien> I don't believe that makes the whole stuff better
<adrien> "yeah, javascript is crap but with jquery is fine"
<adrien> that's just a bad excuse
<Drup> I agree with that
<wmeyer> adrien: ok, then what is an alternative?
<ousado> proper APIs?
<adrien> wmeyer: cobol on the web of course!
<ousado> jquery is stringly typed
<ousado> (sic)
<adrien> I see no alternative; my point was not that there was better but that it was bad and that having a library on top of it to hide the bad stuff didn't make it any better
<wmeyer> adrien: :-)
<Drup> js is also terrible to compile and jquery's performanes are even worse than native js, which is already bad.
<wmeyer> cobol was fine
<Drup> ousado: allow to use this expression again, it's absolutely fantastic :D
<adrien> but cobol with objects is wonderful :P
<wmeyer> Drup: for a reason the tracing jits does it job, and does it on runtime, so there is an overhead but not too big
<ousado> js performance isn't bad, IMO
<adrien> going to bed; night
<Drup> wmeyer: do you realize how much money it took to have a js that is "reasonably fast" ?
<wmeyer> adrien: me too, good night.
<adrien> ousado: but the garbage collectors are bad
<ousado> yes
<ousado> true
<adrien> and there's too much JS running
<wmeyer> Drup: while I agree, it's not perfect, but i am not going to defend Flash
<adrien> actually a browser on the internet nowadays is pretty much like a windows machine full of crapware
<Drup> wmeyer: oh flash is worse. What I'm complaining about is that they could have done a proper langage from the start
<adrien> the performance of the languages isn't bad but there's so much stuff running all the time that it gets awful
<wmeyer> Drup: sure, I know this.
<Drup> instead, we have to use js as asm
<ousado> still it's possible to write good JS using some real language
<wmeyer> Drup: but you can write good js and bad js
<Drup> wmeyer: you can write good C and bad C, C is still terrible :D
<ousado> well, C as a compilation target is not too bad
<ousado> same as JS
<wmeyer> last time I looked at js_of_ocaml I spend whole night with Bach and developed chess application
<ousado> (C is better for that than JS ofc, but JS also isn't too bad)
<wmeyer> it's really like this, js_of_ocaml allows to compile stuff as you wish for the reason of using static typing
<wmeyer> it's seems to be slow, much less productive when I use bare JS
<Drup> ousado: indeed, you can target a proper subset of JS that works well with JITs
<wmeyer> ousado: C and JS *is* terrible. But does not suck for the industry :)
<Drup> (and you end up with a js that is more efficient that if you write it by yourself because of that.
<wmeyer> I like Pascal, I really like.
<ousado> also true, but correctness is my main concern when targeting js
<wmeyer> have you heard about dependent js?
<ousado> I don't do too performance critical stuff.
<ousado> wmeyer: nope :)
<wmeyer> you can annotate the js functions with refinement types
mattrepl has joined #ocaml
<Drup> I'm not surprise to see that published on ltu x)
<wmeyer> Drup: I read it from time to time
<ousado> hm.
jbrown has quit [Remote host closed the connection]
<ousado> Dependent sounds misleading
<wmeyer> it's actually subset types aka refinment types aka liquid types
<ousado> I don't like runtime type tests
<wmeyer> but they work great along with static typing
pootler_1 has quit [Ping timeout: 246 seconds]
<Drup> A team in Rennes is working on statically typing js, I heard they were slowly becoming crazy :]
pootler__ has quit [Ping timeout: 252 seconds]
<wmeyer> Drup: not surprising!
<ousado> that will end up in some restricted JS dialect
* wmeyer bed time
<Drup> sure
<Drup> wmeyer: +
<ousado> wmeyer: good night
<wmeyer> ousado: Drup good night.
<ousado> as it did with every single attempt to do that for python
<Drup> ousado: I thing Rpython is working quite well, isn't it ?
<ousado> yes
<Drup> you have to ban eval anyway
<ousado> I think if they had used ocaml to write pypy it wouldn't have taken 40000 man-years, though :)
<Drup> probably
<ousado> since they insist to not annotate types whatsoever
ulfdoz has quit [Ping timeout: 264 seconds]
<ousado> and get angry when someone proposes that
<ousado> I've been in #pypy for years :)
<ousado> *:(
tane has joined #ocaml
watermind has joined #ocaml
jayprich has quit [Quit: jayprich]
cokesme has quit [Ping timeout: 248 seconds]
eikke has joined #ocaml
jcao219 has quit [Ping timeout: 268 seconds]
studybo__ has quit [Remote host closed the connection]
studybot_ has joined #ocaml
noplamodo has joined #ocaml
cokesme has joined #ocaml
travisbrady has joined #ocaml
studybot_ has quit [Ping timeout: 276 seconds]
studybot_ has joined #ocaml
Neros has quit [Ping timeout: 264 seconds]
eikke has quit [Ping timeout: 240 seconds]
malo has quit [Quit: Leaving]
eikke has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
lusory has quit [Ping timeout: 248 seconds]
travisbrady has quit [Quit: travisbrady]