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
hcarty__ has quit [Quit: Bye]
sepp2k has quit [Remote host closed the connection]
pilki has joined #ocaml
pilki has quit [Quit: This computer has gone to sleep]
fantasticsid has joined #ocaml
oriba_ is now known as oriba
fantasticsid has quit [Quit: Leaving.]
BiDOrD_ has quit [Read error: Operation timed out]
BiDOrD has joined #ocaml
sebz has joined #ocaml
pilki has joined #ocaml
pilki has quit [Client Quit]
pilki has joined #ocaml
oriba has quit [Quit: oriba]
pilki has quit [Quit: This computer has gone to sleep]
fridim_ has joined #ocaml
vivanov has quit [Quit: Lost terminal]
vivanov has joined #ocaml
ankit9 has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
EmmanuelOga has quit [Ping timeout: 244 seconds]
ulfdoz has joined #ocaml
destrius has quit [Quit: Leaving.]
ankit9 has quit [Quit: Leaving]
ulfdoz has quit [Quit: deprecated]
spearalot has joined #ocaml
spearalot has quit [Quit: Computer has gone to sleep]
spearalot has joined #ocaml
spearalot has quit [Client Quit]
bobzhang has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
spearalot has joined #ocaml
spearalot has quit [Quit: Computer has gone to sleep]
ankit9 has joined #ocaml
thomasga has joined #ocaml
musically_ut has quit [Read error: Connection reset by peer]
bobzhang has quit [Ping timeout: 240 seconds]
cago has joined #ocaml
cago has left #ocaml []
cago has joined #ocaml
sebz has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
Kakadu has joined #ocaml
maufred has joined #ocaml
ttamttam has joined #ocaml
testcocoon has joined #ocaml
ocp has joined #ocaml
rby has quit [Read error: Connection reset by peer]
rby has joined #ocaml
ttamttam has left #ocaml []
everyonemines has joined #ocaml
Kakadu has quit [Quit: Page closed]
Kakadu has joined #ocaml
eikke has joined #ocaml
letrec has joined #ocaml
<Kakadu> Does any body want to contribute lablqt? It seems that my free time is disappearing and I'm get worried about it's future?
letrec has quit [Remote host closed the connection]
edwin has joined #ocaml
letrec has joined #ocaml
larhat has joined #ocaml
fridim_ has quit [Ping timeout: 268 seconds]
beckerb has joined #ocaml
<Drakken> Why does oasis have so many required fields?
<adrien> it only has a few
<adrien> which ones do you think shouldn't be required?
<adrien> Kakadu: I don't have much free time so I can't say anything but are the docs fine?
<Drakken> Name, Version, Synopsis, Authors, and License
<Drakken> I don't see how any of those are necessary to build a project.
<f[x]> Drakken, oasis is not needed to build a project
<adrien> they're needed if anyone besides you is going to use your code project
<f[x]> if you are aiming at this
<adrien> and that's what oasis is meant for
<adrien> if you never distribute your project then they're not useful (except Name) but as soon as you do, you'll need these and requiring them all the time is best imho since they take 3 seconds to fill anyway
<Drakken> f[x] OCaml is not needed to build a project.
<adrien> to me, it's like saying that you don't need a version control system when you start a project: it's true, you don't when you start a project but it's not true anymore one week later
<f[x]> Drakken, tru
<Drakken> adrien requiring users to do unnecessary things isn't a good way to attract users.
<f[x]> like calling int_of_string,
<f[x]> srsly
<adrien> Drakken: you can write Name="Foo", Version=0, Synopsis=""; Authors="A <a@a.com>"; License="ISC"
<adrien> it'll work
<Drakken> adrien you mean oasis won't cross-check my name against some internet database?
<adrien> no it won't at all; oasis doesn't go on the internet by itself
everyonemines has quit [Quit: Leaving.]
milosn has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
ocp has quit [Ping timeout: 240 seconds]
musically_ut has joined #ocaml
ocp has joined #ocaml
ikaros has joined #ocaml
letrec has quit [Remote host closed the connection]
letrec has joined #ocaml
Anarchos has joined #ocaml
beckerb has quit [Remote host closed the connection]
beckerb has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
geef has joined #ocaml
sebz has joined #ocaml
musically_ut has quit [Ping timeout: 255 seconds]
zorun has quit [Read error: Connection reset by peer]
sebz has quit [Quit: Computer has gone to sleep.]
zorun has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
pilki has joined #ocaml
ankit9 has quit [Remote host closed the connection]
Kakadu has quit [Quit: Page closed]
<Drakken> Why is ocamlc reporting type errors and unknown functions as "syntax" errors when I'm not explicitly using camlp4?
<pilki> probably because you actually have a syntax error :)
<pilki> like you forgot a ; somewhere, or added one, or whatever
<hcarty> thelema: I should be able to test odb today
<hcarty> thelema: Is there anything in particular you would like tested?
EmmanuelOga has joined #ocaml
<Drakken> pilki I used a 2-arg constructor in curried style, but ocaml reported the error at the (correct) type declaration
<Drakken> actually you're right about one error. How did mod get to be an infix operator? Isn't that an extravagant exception to the syntax rules just for one function?
<adrien> hahaha =)
<adrien> "mod" is really annoying =)
<hcarty> Drakken: Not just mod. ( lsl ) and ( lsr ), along with some other logical operators I think
<Drakken> hcarty right, all the bitwise operators.
<Drakken> still a surprising hack though
<hcarty> There are certainly a few pragmatic hacks like that in OCaml :-)
bobzhang has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
<Drakken> and yet *all* other languages suck even worse. Haskell is very cool of course, but it's just not practical for us mere mortals :(
thomasga has quit [Quit: Leaving.]
<Drakken> where by "us" I mean "me" :)
<hcarty> Drakken: Agreed
<pilki> yeah, Drakken , since I ofter hack in Coq, I always get the constructor stuff wrong
<Drakken> pilki even so, ocamlc reported the syntax error at the wrong place.
<pilki> oh that's sooo common :'(
<pilki> but it was still a *syntax* error :)
<Drakken> true
pango has quit [Ping timeout: 252 seconds]
pango has joined #ocaml
beckerb has quit [Remote host closed the connection]
bobzhang has quit [Ping timeout: 240 seconds]
ftrvxmtrx has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
ftrvxmtrx has joined #ocaml
<hcarty> thelema: ocamlbrew just completed its first test run
<thelema> hcarty: very nice. I've pointed odb towards being able to use local info to get packages
<thelema> how can it best support ocamlbrew?
<hcarty> thelema: For now, I need to find out why "odb.ml oasis" is raising Not_found :-)
<thelema> maybe... it's failing to ...
eikke has quit [Read error: Operation timed out]
<thelema> there's one place in the property list stuff that can raise that
<hcarty> Beyond that, odb as-is works well with ocamlbrew as it currently exists
<thelema> |> (fun l -> ("file", (List.assoc "tarball" l))::l)
<thelema> Line 128
<thelema> if there's no tarball
<thelema> left in some debugging, I guess
<hcarty> I get that message, then "Installing oasis" then "Exception: Not_found"
<thelema> pull now
<thelema> the not_found bug should be fixed
<hcarty> Looks like it works, thank you
raichoo has joined #ocaml
mfp has quit [Ping timeout: 240 seconds]
mfp has joined #ocaml
cago has left #ocaml []
milosn has quit [Read error: Connection reset by peer]
ikaros has joined #ocaml
milosn has joined #ocaml
pilki has quit [Quit: This computer has gone to sleep]
bobzhang has joined #ocaml
ulfdoz has joined #ocaml
sepp2k has joined #ocaml
ocp has quit [Ping timeout: 240 seconds]
eikke has joined #ocaml
larhat has quit [Quit: Leaving.]
sebz has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
<hcarty> ocamlbrew can now build multiple OCaml versions, by default installing them in ~/ocamlbrew/ocaml-$OCAML_VERSION/
<thelema> hcarty: where is ocamlbrew?
<hcarty> thelema: I think I may put ocamlbrew and getting-started.md in a new repository
<thelema> no problem
<hcarty> thelema: Not posted yet - I'll push something out somewhere once this test run is complete
<hcarty> I'm not opposed to mixing odb and ocamlbrew, but I'm not sure odb's repository is the right place to do that.
Anarchos has joined #ocaml
<hcarty> They are useful together, so keeping them somehow related would be nice
<thelema> maybe keep the examples and docs assuming the pairing
fraggle_ has quit [Remote host closed the connection]
vivanov has quit [Quit: Lost terminal]
gds_ has quit [Quit: Ухожу я от вас (xchat 2.4.5 или старше)]
sebz has quit [Quit: Computer has gone to sleep.]
<hcarty> thelema: If you run ocamlbrew without setting anything, from an OCaml-clean environment, it will build OCaml 3.12.1, findlib 1.2.7, grab odb.ml, and install oasis
<Anarchos> hcarty what is ocamlbrew ?
<hcarty> thelema: If an OCaml environment + environment variables exist... I have no idea what will happen :-)
<thelema> maybe a pause at L40
<hcarty> Anarchos: A very simple attempt at making something along the lines of perlbrew (build various Perl versions from source; allows you to switch between them)
<thelema> also, I think bash has a better way to capture the output of many commands to a file
<thelema> I think putting the commands in () does this
<hcarty> thelema: Agreed re: a pause/prompt
<thelema> (cmd1; cmd2) > logfile
<hcarty> And I'll look into the redirect - that would be handy and make everything more readable
<hcarty> I'm at approximately the level of "knowing enough to do real damage" with bash
<thelema> curly brackets
<thelema> why fileutils & oUnit before oasis?
<hcarty> They are required for testing
<thelema> testing is disabled in odb
<hcarty> Sorry, forgot to mention that earlier - that caused the process to fail when I ran this earlier
<thelema> ah. this should be fixed now
<hcarty> Cool. I'll add a prompt at L40, wrap everything in { } for output redirection, and test without the extra package installation
<hcarty> I wonder if tee will continue to act as it currently does when inside the { }
<thelema> maybe you'll have to use a bunch of smaller {} so that you can still get data out
<hcarty> If not, I suppose I can split up the script into multiple {} groupings
<thelema> or use stderr for echo
<hcarty> beat me to it :-)
ftrvxmtrx has quit [Read error: Operation timed out]
ftrvxmtrx has joined #ocaml
sebz has joined #ocaml
<hcarty> thelema: Tested and pushed
<thelema> I'd have just done ctrl-C to cancel, but ok
<hcarty> I'm happy either way
<thelema> my way isn't better, just lazier
<thelema> it looks a lot cleaner now
<hcarty> Yes, thank you for the suggestion and link
bobzhang has quit [Ping timeout: 252 seconds]
ikaros has quit [Quit: Ex-Chat]
<hcarty> thelema: I'm not sure what the effort required is, but it would be very cool to have a Batteries'd version of the Try OCaml site available once Batteries 2.0 is out.
sebz has quit [Quit: Computer has gone to sleep.]
fraggle_ has joined #ocaml
<thelema> hcarty: I imagine that pushing batteries through javascript would... increase the startup costs
<hcarty> Likely so.
<thelema> I imagine a cut-down version of batteries (no IO) would be sufficient...
<thelema> speaking of which... I just remembered that I need to cut down the deps of BatIO
<hcarty> Having all of Batteries would be nice, but not absolutely required
<hcarty> What does BatIO depend on?
<thelema> src/batIO.ml: BatChar BatConcurrent BatEnum BatInnerIO BatUnix Buffer Char Filen
<thelema> ame Format Int32 Int64 Pervasives Printf String Ulib Unix
<thelema> although this doesn't count the transitive dependencies, just the first-level ones
<hcarty> Wow, that's quite a list
<hcarty> They all seem to make sense to some extent
<thelema> BatChar is pretty superficial.
<hcarty> Something strange is going on with github, odb.ml, or ocamlbrew. Every few clean runs, odb will fail to install oasis due to missing fileutils and oUnit
<thelema> and I originally wanted to do this cleanup to deal with Ulib, but I guess I won't make ulib depend on batteries...
<thelema> hcarty: I have intermittent problems with odb - I believe it's oasis-db, although I have little proof other than it working seconds later with no changes
<hcarty> thelema: That makes sense too
<hcarty> All the more reason to create a (dumb) package mirror or few
<thelema> I'm thinking over how to bootstrap the info cache in odb from a text file.
<thelema> It's mostly a matter of deciding the simplest format to parse
<thelema> and writing a parser for it.
<thelema> each package needs to be able to have a (key,value) list associated with it.
<thelema> I guess I could have a ~/.odb.d/ dir with plain info files in it
<thelema> I was thinking about a single-file version, though. more like a .ini file
<thelema> another idea is to cache the info files locally into ~/.odb.d/
<thelema> but I'd rather have a single file so that mirroring would be easier
<thelema> probably the simplest thing is just info files in ~/.odb.d/
<thelema> hcarty: what do you think?
<hcarty> thelema: If local caching is done, I think it would be best under ~/.odb/
<thelema> ~/.odb/info/?
<hcarty> Something along the lines of ~/.odb/cache/info/
<thelema> cache/info, ok
<hcarty> Or without the cache prefix - but if this eventually includes other files it my be handy to have the directory there
<thelema> cache/info for caching (todo later), info/ for local files
<hcarty> thelema: http://oasis.ocamlcore.org/dev/odb/stable/pkg/info/oasis -- this includes oUnit and fileutils, but they seem to be missed by odb.ml
<thelema> hmm, maybe caused by version numbers...
<thelema> I did make some changes to version number handling recently, maybe I goofed
<thelema> hcarty: try running with --debug
<hcarty> Nope, sorry - I forgot that it fails on odn
<hcarty> odn's configuration step fails
<thelema> really? I thought that we dealt with that.
<thelema> odn 0.0.7 + type-conv 3.3.0
<thelema> err, 3.0.4
<thelema> something is wierd about odn and fileutils - I get a message that they're already installed --force to reinstall, but nothing for the other deps
<hcarty> I thought we had too. I'm not sure what has changed.
<hcarty> But going from no OCaml, odb, etc. to OCaml + odb trying to install oasis (or just odn) now fails
<tomprince> Or if you want to obey xdg .cache/odb/ see http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
<thelema> tomprince: fair call. I guess I probably shouldn't use .odb according to that spec?
<hcarty> tomprince, thelema: During development it's nice to have the directories all in one spot
<hcarty> It's also nice to be able to relocate ~/.odb to new locations so that there is one instance (or more) per OCaml installation
<hcarty> s/new locations/other directories/
<thelema> hcarty: well, the info cache probably doesn't need the same relocation treatment
<hcarty> thelema: That would depend on the mirror/server/package source used
<hcarty> Unless the info cache separates the local files out that way, in which case it's less important
<thelema> hcarty: any reason why $ODB_INSTALL_DIR is ~/.odb instead of ~/.odb/lib?
<tomprince> Well, I know some people don't like the spec, too.
<thelema> hcarty: because of ~/.odb/bin?
<hcarty> thelema: Oversight on my part
<tomprince> Accoding to the spec, things would probably use ~/.local/*
<hcarty> thelema: Wait
<hcarty> thelema: Yes, that was the reasoning
<thelema> It feels like that should be improvable
<hcarty> odb.ml has odb_lib as $ODB_INSTALL_DIR/lib
<thelema> hmm, maybe odn and fileutils are the only deps that have deps themselves
<hcarty> It looks like oasis is checking for the availability of oUnit and fileutils for odn, even though they are only required for the tests
<thelema> no, back when I was asking gildor for oasis-db support, I asked for only build deps, not test deps
<thelema> hmm, did he change this recently?
<hcarty> That part is arguably either a bug in oasis (checking for too many dependencies) or a bug in oasis-db (not listing enough dependencies
<hcarty> thelema: Not oasis-db, oasis itself. Or, rather, the build system generated by oasis.
<hcarty> oasis-db only lists the build dependencies
<thelema> oh... hmm...
<hcarty> oasis seems to check for test dependencies as well, at least in the case of odn
<thelema> but oasis configure checks for test deps... hmmm
<thelema> it can't have done that forever, or it wouldn't have worked ever.
<thelema> maybe the latest build of oasis (used by gildor for odn 0.0.7) has this quirk
<hcarty> Or a change in how odn's _oasis is written
<thelema> which means that odb needs more deps from oasis-db, but this means we can run tests on build
<thelema> hmm, odn's error is that it needs type-conv
<hcarty> thelema: odn works fine here as long as I 'odb.ml oUnit fileutils' first
<thelema> Package type-conv(>=3.0.4) dependency satisfied: true
<thelema> type-conv (version: 2.3.0)
<thelema> nope, bug in version compare
<thelema> well, at least a bug in version compare
<hcarty> thelema: Ah, ok
<thelema> yup. found the bug. somehow the version compare was backwards
<thelema> too complex logic there, trying to keep things short
<hcarty> ocamlbrew is updated now to put all odb-related material under the same tree as OCaml itself. ~/.odb/ is left open for other use, making it easier to have multiple OCaml installations.
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
<hcarty> And with that I'm off for a while.
<hcarty> thelema: Thank you for your help and comments!
<thelema> Package camlp4() dependency satisfied: true
<thelema> Package type-conv(2.3.0) already installed, use --force to reinstall
<thelema> blah.
<thelema> hcarty: thanks for your work.
<adrien> anyone running gentoo?
<Qrntzz> adrien: me
<adrien> Qrntzz: how are the distribution packages for ocaml? I've seen ocaml 3.12.1; are the other packages using findlib?
edwin has quit [Remote host closed the connection]
<Qrntzz> adrien: yes, they are
<Qrntzz> adrien: I'd say ocaml on gentoo is very fine, far better than the debian one at least
<Qrntzz> (e. g. I never had to compile anything myself or fallback to GODI)
<adrien> Qrntzz: and would it be very easy to have the lablgtk2 package use a git branch for the sources? and can you confirm that installing directly with ocamlfind won't cause troubles/conflicts?
<Qrntzz> adrien: having lablgtk to use a git branch as the fetch source would probably involve composing an ebuild manually, as there's no live ebuild for lablgtk in any of the overlays it seems
<adrien> ok
<Qrntzz> adrien: installing directly with ocamlfind never caused trouble for me, ymmv though
<adrien> I have a source tarball for it too anyway
<adrien> thanks a lot; I think everything should be fine
<Qrntzz> just be sure to write an ebuild and not just (./configure ; make ; make install) from a tarball, that will make a lot of things easier and less possible to break
<Qrntzz> np :-)
<adrien> well, if make install is only ocamlfind install, it should be good, right?
<Qrntzz> yes, it will be fine
<Qrntzz> (unless you plan on emerging lablgtk2 from the main tree, but that's pretty obvious)
<adrien> I guess that one can simply use another version/tarball
<adrien> but some other libs I need don't have ebuilds (I don't run gentoo myself; it's for someone who will run my software)
fridim_ has joined #ocaml
<adrien> thanks again and good night
brendan_ has joined #ocaml
brendan has quit [Read error: Connection reset by peer]
emmanuelux has quit [Read error: Connection reset by peer]
emmanuelux has joined #ocaml
fridim_ has quit [Ping timeout: 268 seconds]
Morphous_ has quit [Read error: Operation timed out]
raichoo has quit [Quit: leaving]
Morphous_ has joined #ocaml
ftrvxmtrx has quit [Ping timeout: 240 seconds]
ftrvxmtrx has joined #ocaml
ikaros has joined #ocaml
BiDOrD_ has joined #ocaml
BiDOrD has quit [Ping timeout: 240 seconds]
eikke has quit [Ping timeout: 244 seconds]
oriba has joined #ocaml
bobzhang has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
emmanuelux has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
<hcarty> thelema: A bit more customization now. Each component is optional through a run-time prompt, except odb which automatically comes along if findlib is being installed.
ulfdoz_ has joined #ocaml