gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
lggr has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
jave_ has joined #ocaml
jave has quit [Ping timeout: 256 seconds]
jave_ is now known as jave
err404 has quit [Remote host closed the connection]
lggr has quit [Ping timeout: 255 seconds]
ulfdoz_ has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
ulfdoz_ is now known as ulfdoz
lggr has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 264 seconds]
adrien has quit [Ping timeout: 264 seconds]
adrien has joined #ocaml
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 244 seconds]
lggr has joined #ocaml
Yoric has joined #ocaml
<thelema> really... hmmm
<thelema> there's a known problem with the test_bounded that I'm working on now.
<thelema> ah, not a problem with batteries, a problem with odb
<wmeyer> thelema: yep. let me update odb
<thelema> wmeyer: yes, please
lggr has quit [Ping timeout: 256 seconds]
madroach has quit [Ping timeout: 245 seconds]
<thelema> seems to work for me with latest odb.ml
madroach has joined #ocaml
<thelema> that said, latest may be only on my computer
<thelema> also, I'm on the precomp branch locallt
<thelema> *locally
<wmeyer> i used pre-comp branch
lggr has joined #ocaml
<wmeyer> same; with fresh trunk
<thelema> can you paste the same with --debug?
* thelema wishes scripts gave backtraces
<wmeyer> thelema: i could compile odb
<thelema> not easily
<wmeyer> thelema: if you want
<wmeyer> try to do checkout of your master copy
<wmeyer> and use this to install git batteries
<wmeyer> I'm not able to fix right now; lot of paper work for tomorrow...
<thelema> precomp worked for me, trying master now
<thelema> n/p, thanks for bug report
<wmeyer> thelema: not a show stopper.
<thelema> I can't explain - batteries git compiles for me
<wmeyer> 4.0?
<thelema> even pasting your command. yes, 4.00 Installing to OCaml base: /home/thelema/ocamlbrew/ocaml-4.00.0
<wmeyer> batteries compile fine, but odb fails at some point
<wmeyer> i got batteries; i did make all install in the install directory so it works fine
<thelema> ?? I don't see any batteries compile messages in your paste
<thelema> ah
<wmeyer> thelema: tip is cea2626453cc69080134caee62a84ad1fbbe9225
<wmeyer> (odb tip)
<thelema> when I run your command, batteries starts compiling as normal
<thelema> wmeyer: that's what I'm running too.
<thelema> could possibly be a problem with of_metas...
<wmeyer> thelema: hmm weird
<thelema> hmm, in fact, that's the only List.hd in odb.ml.
<thelema> |> List.map (fun p -> Str.split (Str.regexp "\\.") p |> List.hd)
<wmeyer> thelema: of_metas are really crufty :)
lggr has quit [Ping timeout: 246 seconds]
<thelema> yup.
<wmeyer> yes, looks like i was hit by my own bug.
<thelema> we should be running the same odb code on the same META file; same batteries checkout
lggr has joined #ocaml
<wmeyer> but maybe the META file is generated depending on other stuff?
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
<wmeyer> thelema: fix: http://pastebin.com/GrNPxbe5
mcclurmc is now known as mcclurmc_away
lggr has joined #ocaml
hongboz has joined #ocaml
emmanuelux has quit [Ping timeout: 246 seconds]
lggr has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
<wmeyer> hi hongboz
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
<hongboz> hi
lggr has quit [Ping timeout: 248 seconds]
lggr has joined #ocaml
<hongboz> does gprof work on mac for ocaml?
<thelema> hongboz: it should.
rowsdower has joined #ocaml
<hongboz> thelema: I did not get any output, but in linux it does
<wmeyer> thelema: i pasted the fix
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
Yoric has quit [Ping timeout: 248 seconds]
lggr has quit [Ping timeout: 252 seconds]
lggr has joined #ocaml
<_habnabit> hongboz, gprof sucks a bunch
<_habnabit> hongboz, use valgrind + cachegrind
<hongboz> _habnabit: I heard that valgrind is too slow
<_habnabit> hongboz, what does that mean
<hongboz> the profiled binary 10x slower
<hongboz> is that true?
<_habnabit> 10x sounds a bit much, but yes, valgrind runs the binary in a VM basically
<_habnabit> IIRC gprof just periodically samples the stack, whereas valgrind will record every function entry and exit
<hongboz> _habnabit: I will have a try, is it friendly to mac?
<_habnabit> hongboz, yep
<_habnabit> valgrind is super awesome though
<hongboz> _habnabit: thx. will take a look
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
<hongboz> _habnabit: for valgrind, did I still need to compile with -p option?
<_habnabit> hongboz, no
<_habnabit> hongboz, should use -g at least though
<hcarty> thelema: I am getting close to finishing another overhaul of BatBounded
<hcarty> thelema: The result has slightly more verbose general value generators but simpler common case generators (option and saturation results)
<hongboz> thelema: I suggested 100% compatible with the standard library for batteries
lggr has quit [Ping timeout: 246 seconds]
<wmeyer> thelema: You didn't like the fix? I removes List.hd. I can rework it if you are bothered by existence of fun x -> ...
<hcarty> hongboz: Batteries is pretty close to that. Perhaps not 100%, but it's not far off in its default (open Batteries) state
lggr has joined #ocaml
<hongboz> hcarty: I know it's pretty close, but when you switch to any non-trivial code base using batteries, 90% you will have a compile error
<_habnabit> eh, really? in my nontrivial codebase, the only thing I needed to change was List.sort
<_habnabit> and that's been changed back since
<hongboz> yes, you need to change, do you do Io?
<wmeyer> I agree with hongboz
<wmeyer> there are some differences
<hongboz> 100% compatible brings users much more convenience
<hongboz> yes, we may loose some functionality
<_habnabit> hongboz, no, I'm saying that it's not something you need to change amymore
<_habnabit> anymore
<_habnabit> it doesn't do much/any IO
<hongboz> but you can implement in another library instead of a standad library
<hongboz> _habnabit: yes, when you do some IO, you will be bitten again and again
<_habnabit> the ocaml stdlib IO is pretty bad though
<hongboz> _habnabit: implement your fancy IO in another library, not the standard library though
lggr has quit [Ping timeout: 260 seconds]
<hcarty> hongboz: The IO piece is one of the more useful/important parts of Batteries in my experience.
<hcarty> hongboz: At a certain point it doesn't make sense to optimize Batteries for code which doesn't target it.
<hongboz> If batteries aims to be the standard library, then it should be 100% compatible, that's my point.
<wmeyer> hongboz: batteries are not fully stabilized yet
lggr has joined #ocaml
<hcarty> wmeyer: 1.5 is pretty stable. 2.x is still in flux though.
<hcarty> hongboz: I disagree. Batteries does (did?) provide a compatibility layer for the stdlib.
<hongboz> hcarty: believe me, I have tried to `open Batteries
<hongboz> for 3 times,
<hongboz> everytime, it does not work
<hcarty> Shoot. let module M = (val m : S with type t = s with type tt = ss) in ... doesn't work.
<hongboz> and
<hongboz> (with type t = s and type tt = ss)
<hcarty> hongboz: Is it a linking or installation issue?
<hongboz> just does not compile
<hongboz> batteries IO is in-compatible with std-library io
<wmeyer> hcarty: we tried to use Fan on my machine, and hongboz have some bootstrapping stuff that does rely on particular version of batteries or rather structure of the basic interfaces
<hongboz> wmeyer: that's another problem, not the IO though'
lggr has quit [Ping timeout: 240 seconds]
<hongboz> that problem should be easy to fix, the real pain is the IO
<hcarty> hongboz: BatIO is tied to a lot of what Batteries provides. It could be removed but it would hurt the library significantly.
<hongboz> what kind of features?
<hcarty> hongboz: Output to strings/buffers/etc.
<hcarty> hongboz: Various printers
BiDOrD_ has joined #ocaml
<hongboz> That could be done in normal IO
<hongboz> I don't think it would be too hard
<wmeyer> hongboz: being with powerful stdlib is involved, upgrading takes a bit time.
<hcarty> hongboz: It could be, but it would mean scrapping all of what exists in Batteries' implementation.
lggr has joined #ocaml
<hongboz> hcarty: in my opinion, batteries is still at alpha stage
<hongboz> there are lots of low quality modules which need to be removed
<hongboz> for example, batParser?
<hongboz> sorry, batParserCo
BiDOrD has quit [Ping timeout: 264 seconds]
<hongboz> As a standard library, we need a high quality first, functionality second
rowsdower has quit [Quit: Konversation terminated!]
<hongboz> batEnum is also tricky
gnuvince_ has joined #ocaml
<_habnabit> 'tricky' ?
<hongboz> batEnum mixed laziness with side effects together
<hcarty> hongboz: I agree that moving to Batteries requires some IO changes - I ran into that when switching.
<wmeyer> hongboz: I think it's not general problem with batteries, it's just it's a huge library; and no one guarantees that all the modules will be of the top quality. If more people like you contributed more to the project we will be in much better state!
<hongboz> wmeyer: really. As a standard library, batteries should be conservative
<_habnabit> Enum has the same semantics as python iterators, so I didn't have any trouble with it
<hcarty> hongboz: And BatEnum is probably more exposed than it should be. It's a useful plumbing module but as you hint at, the mixture of side effects and laziness can be surprising at times.
<hongboz> batEnum is fancy when it works, but for serious use, it just does not work
<_habnabit> haha, waht?
<hongboz> what's the problem with Stream
gnuvince has quit [Ping timeout: 246 seconds]
ais523 has joined #ocaml
<hcarty> hongboz: I don't think that's fair. BatEnum's actions are documented. You can use BatSeq (for example) if you want to avoid the side effects.
<ais523> bleh, so I'm having problems using ocamlc: my situation is, I have a .ml file which I want to compile, which references another module
<ais523> I have the .cmo and .cmi files for the module, but not the source code
<ais523> and I can't seem to specify to ocamlc that it should recognise that module
<ais523> is what I'm trying to do possible?
<hongboz> Stream is enough for daily usage, and it has nice syntax extension
lggr has quit [Ping timeout: 244 seconds]
<hongboz> and it's in the *standard library* already
<wmeyer> ais523: add the path to cmi file with -I like u do with your C headers
<hongboz> hcarty: I read the source of batEnum one or two years ago
<wmeyer> ais523: then specify the cmo file like you do with C compiler
<hongboz> mixing laziness with side effect is not the right way to go
<ais523> wmeyer: I think I tried that already, but I'll try again
<hongboz> and batEnum even supports clone
<hcarty> hongboz: There is an ongoing discussion about the removal of clone
<ais523> can't try it right now, though; was working on a remote server and it just crashed
<hongboz> If we remove clone, what's wrong with Stream, then?
<ais523> ah, there it is
<hcarty> hongboz: I don't know. Enum came from extlib originally. I'm not sure why it was created in place of Stream.
<wmeyer> ais523: make sure you copied to pastebin; the channel is hyperactive now: i am afraid it might be lost in log
lggr has joined #ocaml
<hongboz> for example, sometimes you tried batteries, you just want to use one function ,i.e,(|>)
<ais523> wmeyer: I'm used to channels much more active than this, but I'll pastebin anything long
<hongboz> but you found compilation issues
<hongboz> just get unhappy
nm7 has quit [Quit: ZNC - http://znc.sourceforge.net]
<hcarty> hongboz: Regarding the first class module issue I brought up - I know that it doesn't compile. That's why I said 'Shoot' :-)
<wmeyer> hcarty: I think the HEAD of batteries is quite often updates; so i dont take risk of shooting it
<hcarty> hongboz: The same thing works in 'normal' module syntax, so I was surprised to find that it doesn't work when unpacking first class modules.
<hongboz> If people found that when they switch to batteries, they will lose nothing, they will probably have atry
<hcarty> wmeyer: Not worth the risk of missing
<hongboz> the current problem is you paid too much
<hongboz> *too much*
<ais523> wmeyer: thanks, it worked when I tried again, must have made a mistake the first time
<hcarty> hongboz: You can also move over piece by piece - take only the modules/functions you want.
<hongboz> hcarty: yes, that's what I did
<hcarty> hongboz: All that said, documentation on how to move code to use Batteries would be a useful.
<hcarty> a useful thing to have that is.
<hongboz> but batIo missed some features that standard IO has
<hongboz> the interaction makes your code ugly
<hcarty> hongboz: Which interaction?
lggr has quit [Ping timeout: 260 seconds]
<hongboz> batIO does not support seek, binary mode
lggr has joined #ocaml
<hcarty> For myself later or anyone else reading the logs: let module M = (val m : S with type t = s and type tt = ss) in ... is the correct syntax for what I was trying to do earlier. http://caml.inria.fr/pub/docs/manual-ocaml/manual021.html#toc81
lggr has quit [Ping timeout: 260 seconds]
<hcarty> hongboz: For what it's worth, I'm glad you're looking at Batteries with such a critical eye.
Yoric has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
<hcarty> Bug reports, patches and posts to the development mailing list would all be helpful if you're interested.
lggr has joined #ocaml
<hongboz> hcarty: sorry if I am too harsh, but the community really needs a high quality standard library, batteries currently does not meet the goal yet, 100% compatbility is the first step :-)
<wmeyer> ais523: you welcome.
<hcarty> hongboz: I agree that there is more to do. If the IO pieces in Batteries can be replaced with stdlib-compatible pieces without losing functionality then that would be a nice thing to have.
cdidd has joined #ocaml
lggr has quit [Ping timeout: 255 seconds]
<hongboz> the fancy IO could be isolated in a module, but not intrusive
kdridi has quit [Quit: leaving]
<hcarty> hongboz: But I'm not convinced that 100% compatibility is the first step, or even a necessary step. It would be a useful thing to have somewhere/somehow.
<hcarty> hongboz: The same could be said for providing 100% stdlib compatibility :-) An extra module could be provided.
<hongboz> hehe
<wmeyer> i wonder if we polled how many people would like to be compatible with stdlib
lggr has joined #ocaml
<wmeyer> there could be part of batteries that must be compatible and other one that is not
<hcarty> wmeyer: It would probably need to be asked with some context
<wmeyer> if that's documented that would be fix hongboz problem
<hcarty> wmeyer: Core breaks compatibility with stdlib all over the place, but there are reasons for the changes.
<hcarty> Batteries keeps compatibility with almost everything except, as hongboz points out, IO.
<hongboz> Core is in another direction, though
<hcarty> If the IO piece could be overcome then that would be Quite Nice.
<hcarty> Batteries does provide Core-like breaks in compatibility but they are optional (BatFoo.Exceptionless)
<hongboz> yes, I agree. when user uprade to batteries, and it works smoothly
<hongboz> that would be great!
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
<hcarty> hongboz: Agreed :-)
<hcarty> Good night all
lggr has quit [Ping timeout: 240 seconds]
<hongboz> night
lggr has joined #ocaml
Yoric has quit [Ping timeout: 240 seconds]
lggr has quit [Ping timeout: 244 seconds]
lggr has joined #ocaml
shinnya has joined #ocaml
ais523 has left #ocaml []
ulfdoz has quit [Ping timeout: 260 seconds]
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
spaceships has left #ocaml []
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
avsm has joined #ocaml
lggr has joined #ocaml
lggr has quit [Ping timeout: 248 seconds]
Snark has joined #ocaml
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
hongboz has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
ankit9 has joined #ocaml
lggr has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
tufisi has joined #ocaml
gnuvince_ has quit [Ping timeout: 260 seconds]
lggr has quit [Ping timeout: 264 seconds]
lggr has joined #ocaml
troydm has quit [Read error: Operation timed out]
lggr has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 252 seconds]
lggr has joined #ocaml
Cyanure has joined #ocaml
ontologiae has joined #ocaml
pango is now known as pangoafk
lggr has quit [Ping timeout: 246 seconds]
mjonsson has quit [Read error: Connection reset by peer]
mjonsson has joined #ocaml
lggr has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
hkBst has joined #ocaml
lggr has joined #ocaml
beginner42 has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
Cyanure has quit [Remote host closed the connection]
lggr has joined #ocaml
<orbitz> wmeyer: re drop format business, how do you think it should be done? Trying to provide an easy to use logging function for great good
Jeaye has quit [Quit: WeeChat 0.3.9]
ontologiae has quit [Ping timeout: 246 seconds]
lggr has quit [Ping timeout: 260 seconds]
ocp has joined #ocaml
djcoin has joined #ocaml
lggr has joined #ocaml
cago has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
<companion_cube> wmeyer: I can't imagine a case where I would be building a parser at runtime, but that's cool indeed
lggr has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
Yoric has joined #ocaml
Kakadu has joined #ocaml
ankit9 has quit [Ping timeout: 246 seconds]
ftrvxmtrx has quit [Quit: Leaving]
cixaxa has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
tufisi has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
avsm has quit [Quit: Leaving.]
ankit9 has joined #ocaml
lggr has joined #ocaml
ontologiae has joined #ocaml
beckerb has joined #ocaml
ontologiae has quit [Client Quit]
GnomeStoleMyBike has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
ontologiae has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
ftrvxmtrx has joined #ocaml
ontologi1e has joined #ocaml
ontologiae has quit [Read error: Connection reset by peer]
lggr has quit [Ping timeout: 248 seconds]
<beginner42> mcclurmc: i updated my opam to 0.7.5, but packaging still doesnt work
lggr has joined #ocaml
ankit9 has quit [Ping timeout: 252 seconds]
oriba has joined #ocaml
<beginner42> someone done packaging with opam?
lggr has quit [Ping timeout: 252 seconds]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
astertronistic has quit [Ping timeout: 248 seconds]
lggr has joined #ocaml
chambart has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
ankit9 has joined #ocaml
oriba has quit [Quit: oriba]
mnabil has joined #ocaml
lggr has joined #ocaml
mcclurmc_away is now known as mcclurmc
lggr has quit [Ping timeout: 264 seconds]
lggr has joined #ocaml
<Kakadu> beginner42: It seems that this opa-opa-o-pa-pa is not very popular yet
mk270 has quit [Ping timeout: 252 seconds]
mk270 has joined #ocaml
<beginner42> Kakadu: seems this way...
lggr has quit [Ping timeout: 256 seconds]
<mcclurmc> hi beginner42
<mcclurmc> here is how I set up a local repo for opma
<mcclurmc> *opam
lggr has joined #ocaml
<mcclurmc> $ opam remote -list
<mcclurmc> [rsync] local /home/mike/Projects/ocaml/opam-repository
<mcclurmc> [curl] default http://opam.ocamlpro.com
<mcclurmc> $ ls /home/mike/Projects/ocaml/opam-repository
<mcclurmc> compilers packages README.md version
<mcclurmc> $ ls /home/mike/Projects/ocaml/opam-repository/packages/jocaml.4.00.0/
<mcclurmc> descr opam url
<mcclurmc> $ opam list | grep jocaml
<mcclurmc> jocaml 4.00.0 JoCaml 4.00.0 compiler. http://jocaml.inria.fr/
<mcclurmc> beginner42: i recommend that you test out your local repo by copying one of the existing package definitions, and just bumping a version number. if this works, then you know that you've defined your promela package wrong
<beginner42> mcclurmc: the first line after opam remote -list from you, why does it say "local"?
<beginner42> mcclurmc: did you say opam remote -add local path-to-opam-git-repo?
<mcclurmc> that's the name i gave the repo. i did 'opam remote -add local /path/to/repo
<mcclurmc> yup
lggr has quit [Ping timeout: 244 seconds]
<beginner42> mcclurmc: this way it works, now opam list shows me the promela package
lggr has joined #ocaml
mk270 has quit [Read error: Operation timed out]
<mcclurmc> beginner42: okay, awesome
cixaxa is now known as tufisi
<beginner42> mcclurmc: thanks a lot :)
<beginner42> mcclurmc: how does it work now to get this package into the official git repo?
<mcclurmc> beginner42: no problem! when you're comfortable that your package works correctly, make sure to give a pull request to the original repo
<mcclurmc> you make a pull request
<mcclurmc> have you used git before?
theplanet is now known as eilyx
mk270 has joined #ocaml
beginner42871 has joined #ocaml
lggr has quit [Ping timeout: 264 seconds]
beginner42 has quit [Ping timeout: 264 seconds]
lggr has joined #ocaml
sepp2k has joined #ocaml
Yoric has quit [Ping timeout: 260 seconds]
<beginner42871> mcclurmc: i lost my connection and couldnt read the last messages, how can i get my package to opam?
Submarine has quit [Read error: Connection reset by peer]
<mcclurmc> beginner42871: have you used git or github before?
<beginner42871> just git
lggr has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
<mcclurmc> so you'll need to do a couple things. you need to fork the opam-repository on github. you should be able to do that by clicking the fork button on the upper right of the page on github
<mcclurmc> (you'll need a github account)
<mcclurmc> then you add that new repository as a remote to your local git repo
<mcclurmc> commit your changes
<mcclurmc> push to your remote
<mcclurmc> then you'll find a 'pull request' button on your opam-repository fork page on github
lggr has quit [Ping timeout: 252 seconds]
ontologi1e has quit [Read error: Connection reset by peer]
ontologiae has joined #ocaml
ontologiae has quit [Read error: Connection reset by peer]
visitor has joined #ocaml
<beginner42871> mcclurmc: one question about the descr file, if i do opam list i get a short description and opam info the long description. how do i tell that the descr file?
mcclurmc is now known as mcclurmc_away
lggr has joined #ocaml
ontologiae has joined #ocaml
ankit9 has quit [Ping timeout: 246 seconds]
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
ankit9 has joined #ocaml
visitor has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
Yoric has joined #ocaml
lggr has quit [Ping timeout: 248 seconds]
lggr has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
chambart has quit [Ping timeout: 245 seconds]
lggr has quit [Ping timeout: 256 seconds]
ocp has quit [Ping timeout: 240 seconds]
beginner42871 has quit [Quit: irc2go]
fraggle_ has joined #ocaml
lggr has joined #ocaml
lggr has quit [Ping timeout: 264 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
mcclurmc_away is now known as mcclurmc
lggr has joined #ocaml
thomasga has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
larhat has quit [Quit: Leaving.]
lggr has joined #ocaml
<pippijn> wmeyer: I made the glr functions somewhat type-safe, now I'm much happier with them
lggr has quit [Ping timeout: 248 seconds]
larhat has joined #ocaml
lggr has joined #ocaml
_andre has joined #ocaml
<nicoo> pippijn: GLR ?
<pippijn> yes
<nicoo> What is GLR ?
* nicoo is curious.
<pippijn> generalised LR parsing
<nicoo> Ah, ok
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
larhat has quit [Quit: Leaving.]
chambart has joined #ocaml
lggr has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 264 seconds]
lggr has joined #ocaml
<flux> ha, ha.. "Camlp5 6.07, compatible with OCaml 4.00.1 has been released. Camlp5 is a syntactic preprocessor for OCaml. Like Camlp4 except that it works and is fast."
<rixed> flux: ...and it's documented :)
<adrien> hahaha :D
lggr has quit [Ping timeout: 246 seconds]
troydm has joined #ocaml
<mehdid_> he could have added "mature"
lggr has joined #ocaml
lggr has quit [Ping timeout: 244 seconds]
ulfdoz has joined #ocaml
<nicoo> flux: Yeah; I forwarded the mail to friends because it was so funny :)
<nicoo> pippijn: Btw, which lib do you use for GLR ?
<pippijn> nicoo: elkhound
<adrien> I'm wondering how faster it is: I stopped using sepxlib.syntax because of the speed impact [ and the portability of camlp4 ]
<pippijn> adrien: speed impact on compile times?
lggr has joined #ocaml
<adrien> pippijn: yeah, it doubled my build times for yypkg
<pippijn> yeah
<adrien> probably partly because I was blindly using the extension on every file
<adrien> but also, the extension was a no-op in them (well, camlp4 wiht no pa_* rewrites your code, but still, it shouldn't be slow)
ulfdoz has quit [Ping timeout: 240 seconds]
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
<pippijn> Finished, 173 targets (0 cached) in 00:00:25.
<pippijn> that is with camlp4
<pippijn> without is:
<pippijn> Finished, 173 targets (0 cached) in 00:00:15.
<pippijn> without as in: selectively
<adrien> which syntax extension are you using?
<pippijn> sexplib and ulex (in one file)
<pippijn> sexplib in some files with types
<pippijn> but I mostly put several types together in one file
<adrien> I actually don't like sexplib.syntax that much
<pippijn> if they are related
<pippijn> adrien: why not?
<adrien> it generates very redundant code
<pippijn> it's useful for inspection
<adrien> I could go back in time if you want and check the size difference in yypkg
lggr has quit [Ping timeout: 255 seconds]
<pippijn> no need
<adrien> pippijn: I said "sexplib.syntax", not "sexplib" :P
<adrien> I've done the work by hand
<pippijn> -rwx------ 1 pippijn pippijn 4.4M Oct 8 20:07 _build/elkhound/elkhound.native*
<adrien> what are you working on elkhound for?
larhat has joined #ocaml
<pippijn> I rewrote it in ocaml
<pippijn> -rwx------ 1 pippijn pippijn 4.3M Oct 8 20:10 _build/elkhound/elkhound.native*
<pippijn> seems ok for now
<adrien> pippijn: so you wrote from scratch, no?
lggr has joined #ocaml
<adrien> or was it in caml?
<pippijn> it was in C++
<pippijn> I started 9 days ago
<pippijn> and yesterday I had a working C++ parser using my rewrite
<adrien> why do you say "rewrite" when it's completely new code? did you borrow some concepts?
<adrien> also, what do you plan on using that parser for?
<pippijn> I borrowed concepts
<pippijn> adrien: fun
<pippijn> and later, more fun
<pippijn> I could go on and on about what cool things you can do with a C++ parser
<adrien> ok, I was wondering if it would be linked to qt
<pippijn> oh, no
<pippijn> Qt's MOC as entirely different ways of achieving its goal
<pippijn> has*
<pippijn> it doesn't preprocess the code at all
<pippijn> whereas my parser doesn't understand un-preprocessed code
<adrien> yeah
<pippijn> actually the parser is very slow
<pippijn> so I figured I could start investigating incremental parsing
<pippijn> updating the parse tree on minor changes
<pippijn> I'm not sure how that can be achieved, yet
lggr has quit [Ping timeout: 252 seconds]
<pippijn> I have a parser generator and a parser core completely under my control
<pippijn> and completely in my mind
<pippijn> I feel very powerful, now
<pippijn> I can implement anything I like, all of this is my code now
lggr has joined #ocaml
<ousado> pippijn: congrats
fraggle_laptop has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 252 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
mjonsson has quit [Remote host closed the connection]
hongboz has joined #ocaml
lggr has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
hongboz has quit [Ping timeout: 240 seconds]
lggr has quit [Ping timeout: 255 seconds]
arsatiki has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
Yoric has quit [Quit: Instantbird 1.3a1pre -- http://www.instantbird.com]
hongboz has joined #ocaml
Yoric has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
avsm has joined #ocaml
trotro has joined #ocaml
lggr has joined #ocaml
trotro has quit [Client Quit]
trotro has joined #ocaml
hongboz has quit [Ping timeout: 246 seconds]
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
gnuvince_ has joined #ocaml
lggr has quit [Ping timeout: 248 seconds]
lggr has joined #ocaml
avsm has quit [Quit: Leaving.]
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
mcclurmc is now known as mcclurmc_away
cago has quit [Quit: Leaving.]
rowsdower has joined #ocaml
lggr has joined #ocaml
UncleVasya has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 264 seconds]
lggr has joined #ocaml
err404 has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
avsm has joined #ocaml
tac has joined #ocaml
lggr has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
arsatiki has joined #ocaml
hkBst has quit [Quit: Konversation terminated!]
lggr has quit [Ping timeout: 260 seconds]
ontologi1e has joined #ocaml
ontologiae has quit [Read error: Connection reset by peer]
lggr has joined #ocaml
lggr has quit [Ping timeout: 264 seconds]
ontologiae has joined #ocaml
ontologi1e has quit [Read error: Connection reset by peer]
lggr has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
Cyanure has joined #ocaml
lggr has joined #ocaml
Jeaye has joined #ocaml
Submarine has joined #ocaml
lggr has quit [Ping timeout: 252 seconds]
ski has quit [Ping timeout: 245 seconds]
avsm has quit [Quit: Leaving.]
lggr has joined #ocaml
ski has joined #ocaml
bitbckt has quit [Quit: out]
bitbckt has joined #ocaml
bitbckt has quit [Changing host]
bitbckt has joined #ocaml
GnomeStoleMyBike has quit [Ping timeout: 255 seconds]
djcoin has quit [Quit: WeeChat 0.3.7]
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
tac_ has joined #ocaml
tac has quit [Ping timeout: 240 seconds]
lggr has quit [Ping timeout: 246 seconds]
tac_ is now known as tac
trotro has quit [Quit: Leaving]
chambart has quit [Read error: Operation timed out]
<rowsdower> I can't seem to get my method signatures right. http://pastie.org/5019618 succeeds mapping ints to ints but not ints to strings.
lggr has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
nass1 has quit [Quit: WeeChat 0.3.8]
Dettorer has quit [Quit: WeeChat 0.3.8]
lggr has joined #ocaml
tac_ has joined #ocaml
tac has quit [Ping timeout: 240 seconds]
Yoric has quit [Ping timeout: 246 seconds]
fraggle_laptop has quit [Ping timeout: 260 seconds]
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
err404 has quit [Ping timeout: 246 seconds]
ftrvxmtrx has quit [Quit: Leaving]
lggr has quit [Ping timeout: 246 seconds]
ontologiae has quit [Read error: Operation timed out]
mnabil has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
larhat has quit [Quit: Leaving.]
lggr has quit [Ping timeout: 255 seconds]
avsm has joined #ocaml
avsm1 has joined #ocaml
jamii has joined #ocaml
lggr has joined #ocaml
avsm has quit [Ping timeout: 245 seconds]
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
lusory has quit [Ping timeout: 248 seconds]
lusory has joined #ocaml
lggr has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
<pippijn> oh boy
<fasta> pippijn: a working C++ parser in 9 days?
<pippijn> kcachegrind is seriously confused
<fasta> pippijn: what makes you think it works?
<fasta> pippijn: don't you need multiple passes to really parse it, because you also need some work for the types?
<pippijn> fasta: I don't do the type-check yet
<pippijn> I get an ambiguous parse
<pippijn> disambiguation is a separate step
<fasta> pippijn: what output is that?
sepp2k1 has joined #ocaml
sepp2k has quit [Ping timeout: 246 seconds]
<fasta> pippijn: kcachegrind, never mind.
<pippijn> yeah
<adrien> and, do you handle trigraphs? :P
<fasta> pippijn: of what exactly?
<fasta> pippijn: where did you get the grammar?
<pippijn> an LR parser
<pippijn> fasta: elsa
<fasta> pippijn: isn't that some commercial specification?
<pippijn> what is?
<fasta> pippijn: oh, apparently it isn't.
lggr has quit [Ping timeout: 245 seconds]
<fasta> I must be confused with something else.
<fasta> I think the part which people consider the hard/awful job is reading the C++ standard and write a perfect parser based on that.
<fasta> Well, another hard part is writing a parser which is within a small factor of the current best parser.
<fasta> pippijn: how does your stuff compare?
<pippijn> not well, at all
<pippijn> it's very very slow
lusory has quit [Ping timeout: 260 seconds]
<fasta> pippijn: do you tokenize first?
lusory has joined #ocaml
<pippijn> yes
<fasta> pippijn: how many tokens per second do you do?
<pippijn> tokenisation is not in the call graph
<fasta> pippijn: I understand.
<pippijn> I don't know, I use Ulexing (or Lexing)
<pippijn> I'm not iterested in tokenisers for now
<pippijn> the parser is too slow
lggr has joined #ocaml
<fasta> pippijn: no, but I was asking how many tokens you can process per second, i.e. the token structure already exists at that point.
<pippijn> oh
<pippijn> depends on the input
<pippijn> e.g. this is a notoriously ambiguous example: http://paste.xinu.at/rNsk/
<fasta> pippijn: sure, how fast Linux boots also depends on the hardware, but it's still between 5 seconds and 3 minutes.
<fasta> Or well, not on enterprise hardware, so I have been told.
<pippijn> add a few more things in the <K, A> part and it becomes exponential
<fasta> pippijn: if someone asks this question, they are thinking of a typical input.
<pippijn> I'll do some timing in a few minutes
<fasta> pippijn: and they expect a range back as answer.
<fasta> pippijn: (just FYI)
<pippijn> now I'm inlining some code, because ocaml doesn't do mutual tail recursion there
rowsdower has left #ocaml []
<pippijn> ok
<pippijn> so let's see
lggr has quit [Ping timeout: 252 seconds]
<pippijn> 161448 tokens per second
<pippijn> or 58844 on more difficult input (boost)
<pippijn> or 446789 on a real-world C++ source file
lggr has joined #ocaml
<fasta> pippijn: how fast is clang?
<fasta> pippijn: or whatever else you think is currently fastest?
<pippijn> I don't have clang right now
GnomeStoleMyBike has joined #ocaml
<pippijn> but for parsing the boost file, my parser currently takes 18 seconds without typecheck and gcc takes 3.8 seconds including type check
<fasta> pippijn: this is OCaml code/
<fasta> pippijn: ?
<pippijn> yes
<fasta> pippijn: are you already out of ideas for closing the gap?
<fasta> (I mean: sometimes you write a program the first time to be basically optimal)
<fasta> I.e., very well chosen data structures matching your caches, etc.
<pippijn> I don't think it's possible to become as fast as gcc
<pippijn> the parse tables are 1.4MB in memory (I think)
chambart has joined #ocaml
emmanuelux has joined #ocaml
<pippijn> I could implement some table compression scheme
lggr has quit [Ping timeout: 245 seconds]
<pippijn> but I think that will not help performance
<fasta> How big is the Ocaml 'run-time'?
<pippijn> profiling suggests that memory stores are expensive
<pippijn> 37% of the time is in caml_modify
lggr has joined #ocaml
<pippijn> I have some rough ideas on how to improve the data structures
pangoafk is now known as pango
<pippijn> to reduce mutation
<fasta> pippijn: in my experience increasing mutation helped ;)
eilyx has quit [Remote host closed the connection]
<pippijn> indirections are already reduced to almost the minimum
<fasta> pippijn: if you need to copy more than 16 bytes, you can better mutate in a normal C like language.
<fasta> pippijn: I don't know what the numbers are in OCaml.
eilyx has joined #ocaml
visitor has joined #ocaml
UncleVasya has quit [Read error: Connection reset by peer]
<fasta> Also, I think a good compiler should be able to optimize this number itself.
<pippijn> 25235 11048 0 36283 8dbb glr.o (ex _build/glr/glr.a)
<fasta> But perhaps that requires a linear type system.
<pippijn> 25K code size
beckerb has quit [Quit: Konversation terminated!]
<pippijn> the code is using "shallow option"
<pippijn> in all except a few places and I changed those with no real effect, so I reverted that
chambart has quit [Ping timeout: 264 seconds]
lggr has quit [Ping timeout: 252 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
<pippijn> fasta: I'm considering putting the actual data structure into C
<pippijn> fasta: and using C functions to manipulate it
lggr has joined #ocaml
larhat has joined #ocaml
<fasta> pippijn: is there anything which is still OCaml then?
<pippijn> sure
<pippijn> the entire logic
<fasta> pippijn: isn't all the conversion really slow too?
<pippijn> between C and ocaml?
<fasta> pippijn: yes
<pippijn> no need
<pippijn> it will be abstract from ocaml's pov
<fasta> pippijn: don't you at some point need to e.g. compare two strings?
<pippijn> strings?
<fasta> pippijn: "hello"
<pippijn> why would I need to compare strings?
<pippijn> I'm operating on tokens (ints)
Xizor has joined #ocaml
<pippijn> tokens, states, transitions, all ints
<fasta> pippijn: I don't see how you will not need any translation of OCaml data to C data.
<fasta> pippijn: or how you can keep it to a minimum.
<pippijn> there will be some shifts for Int_val and Val_int
<fasta> pippijn: I think this is one of the advantages of using e.g. ATS.
<pippijn> oh
<pippijn> you're the tup guy, right?
chambart has joined #ocaml
<fasta> pippijn: well, I also like tup, yes.
<fasta> pippijn: I like the part where ocaml isn't slow to get to the point where it can run some code also.
<fasta> pippijn: I like all code which actually solves a problem.
pngl has joined #ocaml
<fasta> As opposed to almost solving a problem and creating a new set of problems.
<fasta> Case in point: cvs, svn.
lggr has quit [Ping timeout: 240 seconds]
<fasta> Darcs is/was also one of those systems
<fasta> Solving a problem which requires polynomial energy by a solution which requires potentially exponential energy is not a solution.
lggr has joined #ocaml
aod has left #ocaml []
Yoric has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
visitor has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
<wmeyer> pippijn: well done. I saw the commits.
chambart has quit [Ping timeout: 252 seconds]
<wmeyer> I did some haskell at work <happy face>
<tac_> :D
<tac_> keep it (type) classy wmeyer
<wmeyer> tac_: yeah :) they actually quite nice.
<wmeyer> I am not sure if they are as big blocks as modules though
visitor has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
ftrvxmtrx has joined #ocaml
lggr has joined #ocaml
Kakadu has joined #ocaml
ulfdoz has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
lggr has joined #ocaml
visitor has quit [Ping timeout: 240 seconds]
lggr has quit [Ping timeout: 256 seconds]
visitor has joined #ocaml
ulfdoz has quit [Ping timeout: 248 seconds]
lggr has joined #ocaml
visitor has quit [Client Quit]
<kba> I have a list, let field_names = ref [];;
<kba> Then I try to add something to that and print it out
<kba> !field_names@["field_name"]; print_endline ("Hello world!" ^ string_of_int (List.length !field_names))
<kba> But it keeps saying 0
<kba> I've tried List.append as well. What's wrong, I don't get it?
<nicoo> kba: !field_names derefs filed_names, yielding 0
<nicoo> []*
<tac_> ref x creates a new location and sets the value to x, right?
<nicoo> You didn't change the value contained in field_names
<kba> Hmm
<nicoo> You should do filed_names:= "field_name":: !field_names
<nicoo> (appending a singleton is ugly and often unnecessary)
Snark has quit [Quit: Quitte]
lggr has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
Neros has joined #ocaml
lggr has quit [Ping timeout: 264 seconds]
lggr has joined #ocaml
josch has left #ocaml []
lggr has quit [Ping timeout: 260 seconds]
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
lggr has joined #ocaml
<kba> thanks, nicoo
Anarchos has joined #ocaml
Submarine has quit [Quit: Leaving]
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
<nicoo> You are welcome
cdidd has quit [Quit: Leaving]
lggr has quit [Ping timeout: 255 seconds]
jpdeplaix has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
jpdeplaix has joined #ocaml
lggr has quit [Ping timeout: 246 seconds]
chambart has joined #ocaml
_andre has quit [Quit: leaving]
lggr has joined #ocaml
lggr has quit [Ping timeout: 252 seconds]
troydm has quit [Quit: What is hope? That all of your wishes and all of your dreams come true? (C) Rau Le Creuset]
lggr has joined #ocaml
chambart has quit [Ping timeout: 260 seconds]
lggr has quit [Ping timeout: 256 seconds]
rowsdower has joined #ocaml
lggr has joined #ocaml
thomasga has quit [Quit: Leaving.]
lggr has quit [Ping timeout: 246 seconds]
Neros has quit [Read error: Connection reset by peer]
lggr has joined #ocaml
Neros has joined #ocaml
Yoric has quit [Ping timeout: 240 seconds]
lggr has quit [Ping timeout: 248 seconds]
Yoric has joined #ocaml
lggr has joined #ocaml
Neros has quit [Remote host closed the connection]
lggr has quit [Ping timeout: 245 seconds]
lggr has joined #ocaml
Neros has joined #ocaml
tufisi has quit [Ping timeout: 260 seconds]
ontologiae has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
avsm1 has quit [Quit: Leaving.]
chambart has joined #ocaml
lggr has joined #ocaml
err404 has joined #ocaml
lggr has quit [Ping timeout: 255 seconds]
lggr has joined #ocaml
mnabil has joined #ocaml
Cyanure has quit [Remote host closed the connection]
lggr has quit [Ping timeout: 256 seconds]
Xizor has quit [Quit: So yes it's mIRC under wine under debian double peche capital. ;) I'll soon see in kfreeBSD.]
sepp2k1 has quit [Remote host closed the connection]
lggr has joined #ocaml
ankit9 has quit [Ping timeout: 255 seconds]
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 256 seconds]
ankit9 has joined #ocaml
lggr has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
emias_ has joined #ocaml
Yoric has quit [Ping timeout: 245 seconds]
emias_ has quit [Client Quit]
madroach_ has joined #ocaml
emias_ has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
rowsdower has quit [Quit: Konversation terminated!]
madroach has quit [*.net *.split]
emias has quit [*.net *.split]
OCamlGuy has joined #ocaml
lggr has quit [Ping timeout: 244 seconds]
<OCamlGuy> Im trying to do some pattern matching on a tuple of the same types but I'm having problems because i don't know how to access the elements
<OCamlGuy> i was trying (x,y) but i get an error "but a pattern was expected which matches values of type ('c * 'c) "
<OCamlGuy> This pattern matches values of type 'a * 'b
<OCamlGuy> any ideas how to fix this
<dsheets> OCamlGuy: pastebin the relevant function
<tac_> OCamlGuy: you should be able to use fst and snd (or whatever they are called in Ocaml)
<_habnabit> OCamlGuy, also the error
<_habnabit> tac_, st and snd
<_habnabit> f
lggr has joined #ocaml
<OCamlGuy> i don't want to pate bin my code
<_habnabit> why's that?
<_habnabit> it makes helping you a lot easier
<dsheets> OCamlGuy: just the relevant function/expression where the inference doesn't match your expectation
gnuvince_ has quit [Ping timeout: 260 seconds]
<tac_> yeah, it sounds like it could be a unification error elsewhere in the program
<tac_> OCamlGuy: have you specified the type of the function you're defining?
<tac_> (doing that can often narrow down where the error is actually occuring)
GnomeStoleMyBike has quit [Ping timeout: 246 seconds]
avsm has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
<OCamlGuy> does that make sence
<_habnabit> OCamlGuy, er, what's 'tup' ?
<_habnabit> OCamlGuy, and why are you matching | tup (x, y) ?
<_habnabit> OCamlGuy, likely you meant to just do | x, y ->
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
lggr has quit [Ping timeout: 246 seconds]
<_habnabit> OCamlGuy, please keep it on #ocaml
lggr has joined #ocaml
chambart has quit [Ping timeout: 260 seconds]
mjonsson has joined #ocaml
lggr has quit [Ping timeout: 260 seconds]
jamii has quit [Ping timeout: 248 seconds]
lggr has joined #ocaml
OCamlGuy has quit [Quit: OCamlGuy]
lggr has quit [Ping timeout: 256 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 245 seconds]
OCamlGuy has joined #ocaml
lggr has joined #ocaml
mnabil has quit [Ping timeout: 248 seconds]
lggr has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
pngl has quit [Ping timeout: 246 seconds]
OCamlGuy has quit [Quit: OCamlGuy]
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml
lggr has quit [Ping timeout: 240 seconds]
kdridi has joined #ocaml
<kdridi> hi
YawningAngel has joined #ocaml
<YawningAngel> How do I use an if... else... statement with two conditions? i"f a >= b && a <= c then a", for example? It seems valid but spits out an error
lggr has joined #ocaml
<_habnabit> YawningAngel, the error being..?
<YawningAngel> "unexpected infix operator in expression"
<_habnabit> YawningAngel, show us the full code and error
<_habnabit> YawningAngel, or a minimal reproducing example
<YawningAngel> http://pastebin.com/WL7AJspg is the minimal reproducing example I'm working to try and fix
<_habnabit> er, ocaml doesn't have elif
<_habnabit> that sure does a lot more comparisons than you need to, though
<_habnabit> List.nth (List.sort [a; b; c]) 1
<YawningAngel> Eh, all it'd "need" to do would be to whack the arguments in a list, sort it, and spit out the middle
<YawningAngel> However, I'm supposed to be doing it without any data structures or recursion
<YawningAngel> Hence the retarded example in front of you
<_habnabit> boring
<_habnabit> anyway ocaml doesn't have elif
<dsheets> rhs of some && ops lacks lhs of comparison
<YawningAngel> Boring, yes
<_habnabit> s/elif/else if/g
lggr has quit [Ping timeout: 255 seconds]
<_habnabit> oh, yeah, i missed that
<_habnabit> another good reason to avoid code like this
<nicoo> _habnabit: OCaml does have else if
<YawningAngel> I know full damn well this is a terrible way to do it
<_habnabit> nicoo, yes, I said that
<YawningAngel> However, given that I can't do it in either of the sensible and obvious ways
<YawningAngel> This seems to me to be the next best alternative
<nicoo> _habnabit: I think I saw a negation
<nicoo> Tired though
<_habnabit> nicoo, ocaml doesn't have _elif_
<nicoo> http://pastebin.com/WL7AJspgOk, though the sed expression applied to your own message
<nicoo> Sorry
<nicoo> o_O
<_habnabit> heh
lggr has joined #ocaml
<_habnabit> yeah, i meant for it to apply to his code
<YawningAngel> I think what I've learnt here is that being given stupid assignments sucks
<_habnabit> pretty much
<YawningAngel> But no, I turned in the List.nth implementation and got told no
<YawningAngel> No structures at all :/
YawningAngel has quit [Remote host closed the connection]
lggr has quit [Ping timeout: 248 seconds]
<wieczyk> How to produce .cmxs?
lggr has joined #ocaml
<_habnabit> wieczyk, are you using ocamlbuild?
ontologiae has quit [Ping timeout: 240 seconds]
maufred has quit [Ping timeout: 260 seconds]
<wieczyk> _habnabit: I would like just to invoke ocamlc by my self [doing experiment]
maufred has joined #ocaml
<wieczyk> ocamlc -shared does not work
<_habnabit> wieczyk, are you having a problem with ocamlbuild?
avsm has quit [Quit: Leaving.]
<wieczyk> I do not undertand how my question is related to ocamlbuild?
lggr has quit [Ping timeout: 260 seconds]
lggr has joined #ocaml