gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.11.2 released | Batteries 1.2.0 released http://batteries.forge.ocamlcore.org
iratsu has joined #ocaml
rjsimmon has joined #ocaml
joewilliams is now known as joewilliams_away
seafood has joined #ocaml
seafood has quit [Client Quit]
iratsu has quit [Ping timeout: 264 seconds]
iratsu has joined #ocaml
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
rjsimmon has quit [Ping timeout: 276 seconds]
neorab has joined #ocaml
travisbrady has quit [Ping timeout: 258 seconds]
travisbrady has joined #ocaml
neorab has quit [Quit: WeeChat 0.3.2]
bacam has quit [*.net *.split]
jonafan has quit [*.net *.split]
gildor has quit [*.net *.split]
emias has quit [*.net *.split]
olegfink has quit [*.net *.split]
kg4qxk has joined #ocaml
bacam has joined #ocaml
jonafan has joined #ocaml
gildor has joined #ocaml
emias has joined #ocaml
olegfink has joined #ocaml
seafood has joined #ocaml
<travisbrady> Is there any way to match against multiple constructors? I'm trying to do something like this http://ocaml.pastebin.com/LQhJKkrS
<palomer> match t with | Baz s -> ... | Foo i | Bar i -> ...
<palomer> it's very useful
* palomer is off
seafood has quit [Quit: seafood]
Amorphous has quit [Ping timeout: 248 seconds]
thrasibule has quit [Ping timeout: 264 seconds]
Amorphous has joined #ocaml
semyon421 has joined #ocaml
sepp2k has joined #ocaml
ygrek has joined #ocaml
bluestorm has joined #ocaml
sepp2k has quit [Quit: Leaving.]
travisbrady has quit [Quit: travisbrady]
ttamttam has joined #ocaml
semyon421 has quit [Quit: Lost terminal]
metasyntax has quit [Read error: Operation timed out]
metasyntax has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
Associat0r has quit [Quit: Associat0r]
ttamttam has quit [Quit: Leaving.]
ygrek has joined #ocaml
ulfdoz has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
ikaros has joined #ocaml
bluestorm has quit [Remote host closed the connection]
ttamttam has joined #ocaml
lewis1711 has joined #ocaml
drk-sd has joined #ocaml
_unK has joined #ocaml
eelte has joined #ocaml
coucou747 has quit [Read error: Operation timed out]
ttamttam has quit [Quit: Leaving.]
komar_ has joined #ocaml
ygrek has joined #ocaml
Yoric has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
Yoric has quit [Quit: Yoric]
Tomcat has joined #ocaml
Edward_ has joined #ocaml
komar_ has quit [Ping timeout: 258 seconds]
ulfdoz has quit [Ping timeout: 258 seconds]
boscop_ has left #ocaml []
boscop has joined #ocaml
_unK has quit [Remote host closed the connection]
ftrvxmtrx has quit [Quit: Leaving]
elehack has joined #ocaml
komar_ has joined #ocaml
Tomcat has quit [Quit: Leaving]
komar_ has quit [Quit: WeeChat 0.2.6]
bluestorm has joined #ocaml
ulfdoz has joined #ocaml
lewis1711 has quit [Ping timeout: 264 seconds]
brendan has quit [Ping timeout: 258 seconds]
brendan has joined #ocaml
brendan has quit [Ping timeout: 245 seconds]
<thelema> elehack: documentation.idex is in doc/batteries/
<elehack> thelema: thanks. That should let me get the documentation packaging sorted out; I've also added a knob to turn off shared modules, so that should cover all currently-reported GODI problems.
<thelema> good. That knob will be needed for debian packaging
<thelema> actually, I added two knobs for that...
<thelema> can native compilation be turned off?
<thelema> of course it can.
<thelema> ah, you're adding godi support for batteries-native-shlib
<elehack> yep.
<elehack> and fixing it in the Batteries makefile...
<elehack> (when it's turned off, install fails)
<elehack> so I'll commit that fix to git, and put it in GODI as a patch until we have a new release.
thrasibule has joined #ocaml
<thelema> I can push out 1.2.1 to fix this - I don't mind releasing point releases often
<elehack> ok.
brendan has joined #ocaml
<thelema> although I do need to automate it much more.
<thelema> I'd like to just tag it and let github take care of prducing the tarball
<elehack> that would be nice, although there are funny things with file names and redirects in Github's tarball creation :(
Yoric has joined #ocaml
<thelema> I think I may link to github's tarball creation on the web page so people can download "the latest code" easily.
<elehack> that could be useful.
<elehack> thelema, I've now pushed the build changes needed. I also tweaked Makefile to read the VERSION variable from the VERSION file, so we should only need to set the version in one place (VERSION file).
<thelema> yay. I'll go about the next release
<thelema> thanks for your help - should I add you to ocamlforge?
Associat0r has joined #ocaml
<elehack> sure, if you want to.
<elehack> I think I submitted an application to join once via the GForge system.
<thelema> done.
<elehack> thanks :)
<thelema> (well, not 1.2.1, yet)
Edward__ has joined #ocaml
Edward_ has quit [Ping timeout: 240 seconds]
<thelema> ok, 1.2.1 quietly released. you should be able to link to it for godi
<elehack> ok.
<elehack> its VERSION file says 1.2.0... might want to fix that before announcing.
<elehack> (I don't think that breaks anything for users, though)
<thelema> grr, forgot to commit...
derdon has joined #ocaml
<thelema> hmm, it doesn't look like I can add to the release...
<thelema> stupid gforge
<elehack> oh?
<elehack> ahh
* elehack is not overly impressed with the *forge systems
* thelema tries just re-uploaidng it...
<thelema> FRSRelease::create() Error Adding Release: Name Already Exists
<thelema> ok, instead of /418, it's now /419/
<elehack> ok.
elehack has left #ocaml []
elehack has joined #ocaml
<thelema> got it. The old release is now hidden. had to edit the URI to access an old release
<elehack> kk. the GODI package is now testing against it. I think everything should be in place for a happy build.
Yoric has quit [Ping timeout: 260 seconds]
ulfdoz has quit [Ping timeout: 276 seconds]
ulfdoz has joined #ocaml
Edward__ has quit []
<elehack> thelema, packages now work, although it requires one more change to the Batteries build file.
<elehack> since I had never use the Batteres Enhanced toplevel, there were a variety of install-related bugs I just never encountered.
<thelema> n/p. All the more reason to automate releasing
jeddhaberstro has joined #ocaml
<derdon> the module BatFile and the doc for it are a bit strange
<derdon> the doc says in many functions that I have to close the file manually
<thelema> yes
<derdon> but it never says *how* I close the file manually
<derdon> is there no ``File.close filename``?
<thelema> good call. IO.close_out/in
<derdon> or however this function may be called
<derdon> ah
<derdon> why is it not explained in the documentation of the File module?
<derdon> a short sentence would be enough to me
<thelema> I'm adding this now.
<derdon> good
<derdon> probably it's so clear for the developers that they (you ;)) didn't add it :)
<thelema> not I, probably yoric
<thelema> I had to learn the IO stuff (and am still learning)
<thelema> hmm, how do I symlink to a function definition in ocamldoc
<elehack> thelema, {!Module.function} should create a hyperlink.
sepp2k has joined #ocaml
* thelema tries that
<derdon> thelema: I see. now I know two devs of batteries
<thelema> bingo. thanks
<elehack> thelema, would you be able to push the commit that updates VERSION? I was going to re-tag the 1.2.1 release, but don't want to cause you pain on your next fetch.
<elehack> (or maybe git happily detects that we made the same change)
<thelema> I've pushed to github
<elehack> ok, great!
<thelema> oops, didn't mean to create that merge commit. I'll have to be more careful
ulfdoz_ has joined #ocaml
ulfdoz has quit [Ping timeout: 240 seconds]
ulfdoz_ has quit [Client Quit]
ulfdoz has joined #ocaml
<elehack> thelema, is there anything more that we should do before rolling a 1.2.2 release?
<thelema> I'm going to test out the help system, and if it works for me, I'll release 1.2.2
<elehack> ok.
drk-sd has quit [Quit: foo]
ccasin has joined #ocaml
oriba has joined #ocaml
sepp2k1 has joined #ocaml
sepp2k has quit [Ping timeout: 245 seconds]
travisbrady has joined #ocaml
rjsimmon has joined #ocaml
orbitz has quit [Ping timeout: 245 seconds]
orbitz has joined #ocaml
<murphe> could someone help me figure out what i'm doing wrong in a somewhat easy recursive function (likely it's mostly syntax). I'd rather PM you the link b/c it's for class.
<bluestorm> I it respect the homework-related rules of your class, you can post a public link
<bluestorm> if it doesn't, then don't, be it public or private
<murphe> it's more i'm allowed to get help with things, but posting a relativly full solution where another student could read it gets me in danger of the plagerism rules
<bluestorm> I suggest you use pastebin.com "ten minutes expiration time"
<bluestorm> wich makes it suitable even for public channels (unless you're supposing those other students have a pastebin-fetching bot connected to most freenode channels)
<murphe> well, alright. But any other UIUC students sneaking about, bugger off :P http://pastebin.com/4uEMKb8B
<murphe> it's basically just trying to interleve/print two lists. the runs for the length of the first list always, and loops the second list as needed.
<bluestorm> you should use pattern-matching instead of "if foo = []"
<bluestorm> also, "let x::xs = .." is considered bad practice bad most, as it is a pattern that can fail (and you get a warning)
<bluestorm> match main_list with [] -> ... | x::xs -> ...
<murphe> mmkay
<murphe> i didn't think it could fail if i handled the [] case with the if
<bluestorm> it can't fail
<bluestorm> you forgot a semicolon on line 11
<bluestorm> it can't fail, but "let x::xs = .." per se use what is called a "refutable pattern", ie. a pattern that *could* fail unless there are runtime guarantees that it won't (wich you have)
<murphe> ah
<murphe> i see why that's bad style.
<murphe> i still get the error on line 11 (95 originally) after adding that semicolon.
<flux> murphe, precedency
<flux> murphe, what you have there is the same as (print_string x) ^ y;
<murphe> oh!
elehack is now known as elehack|afk
rjsimmon has quit [Read error: Connection reset by peer]
mjonsson has joined #ocaml
<murphe> mmkay. now i'm messing up the types somewhere: http://pastebin.com/Gz6PThJv
iratsu has quit [Ping timeout: 240 seconds]
bluestorm has quit [Ping timeout: 240 seconds]
komar_ has joined #ocaml
<flux> hmm
<flux> works for me?
<murphe> weird. must be a disagreement witih the autograder they make us compile against.
<murphe> oh, yeah. my bad -_- sorry
iratsu has joined #ocaml
<adrien> begin end
bluestorm has joined #ocaml
<adrien> you want to enclose the second match statement and its whole body within "begin" ... "end", or "(" ... ")"
<murphe> thanks :) i've got it now
oriba has quit [Quit: Verlassend]
komar_ has quit [Quit: заебали со своим !seen]
elehack|afk is now known as elehack
ftrvxmtrx has joined #ocaml
sepp2k1 has quit [Quit: Leaving.]
iratsu has quit [Ping timeout: 265 seconds]
iratsu has joined #ocaml
BigJ has quit [Read error: Connection reset by peer]
ttamttam has joined #ocaml
_unK has joined #ocaml
ttamttam has quit [Quit: Leaving.]
ygrek has quit [Ping timeout: 245 seconds]
Yoric has joined #ocaml
patronus has quit [Ping timeout: 245 seconds]
patronus has joined #ocaml
Yoric has quit [Quit: Yoric]
boscop has quit [Read error: Connection reset by peer]
boscop has joined #ocaml
bluestorm has quit [Quit: Leaving]
<palomer> is it possible to check if an ml file satisfies an mli file without generating code?
<elehack> palomer, interesting question. I don't know, but would also be interested to hear the answer.
<elehack> At least some code will likely need to be generated, as ocamlc only checks against the cmi (it doesn't look at the mli itself).
<elehack> but that's just interface compilation, not real code generation.
_unK has quit [Remote host closed the connection]
<palomer> I just want to know what's the quickest way to check if a large piece of code is type safe in the fastest way possible
<elehack> I don't know of a way to do it without compiling (the man page doesn't suggest anything).
<elehack> the ocaml compiler is pretty fast, though.
<mfp> palomer: ocamlc.opt should be faster than ocamlopt.opt
<mfp> palomer: you might be able to use -drawlambda or -dlambda, assuming they happen after typing
<mfp> palomer: even -dparsetree seems to do the trick; just redirect to /dev/null and check the error code
<mfp> so ocamlc.opt -dparsetree x.ml > /dev/null is probably the fastest way to type check
<palomer> what does the opt mean in ocamlc.opt?
<elehack> palomer, it means that the compiler has been compiled to native code
<palomer> you mean that usually the compiler is ocaml bytecode?
<palomer> is it possible to ask an executable if its a native compiler or a bytecode compiler?