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/
ben_zen has joined #ocaml
jxm has joined #ocaml
wmeyer` has joined #ocaml
wmeyer has quit [Ping timeout: 256 seconds]
osnr has quit [Quit: Leaving.]
patronus has quit [Quit: leaving]
patronus has joined #ocaml
<jxm> Anyone alive around here ?
<jxm> Il y a des programmeurs vivants dans le coin ?
UncleVasya has quit [Ping timeout: 276 seconds]
Simn has quit [Quit: Leaving]
ggherdov has quit [Ping timeout: 240 seconds]
ben_zen has quit [Quit: Dinner!]
madroach has quit [Ping timeout: 248 seconds]
madroach has joined #ocaml
introom has joined #ocaml
<Drup> jxm: ask your question :)
lasts has joined #ocaml
darkf has joined #ocaml
Neros has quit [Ping timeout: 248 seconds]
sclv has left #ocaml []
<whitequark> any idea how to make this grammar work? https://gist.github.com/whitequark/1d530b7da1a8324ba6a3
<whitequark> this R/R conflict is quite artifical.
dsheets has quit [Ping timeout: 256 seconds]
<whitequark> I can make it a S/R conflict, but then I'm not sure how to resolve it deterministically
<whitequark> hrm. no, I actually cannot
breakds has quit [Quit: Konversation terminated!]
breakds has joined #ocaml
<whitequark> ok, I can transform it to two S/R conflicts: https://gist.github.com/whitequark/bf50dde5c27788114f81
<whitequark> it seems that the problem is effectively that I need >1 token of lookahead, because the grammar is indeed unambiguous
csakatoku has joined #ocaml
Watcher7 is now known as Watcher7|off
jyeo has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
pkrnj has joined #ocaml
ggherdov has joined #ocaml
justdit has joined #ocaml
<whitequark> ... oh
<whitequark> I think I understood how to transform it
<whitequark> and I probably can even make it DRY with menhir's higher order rules
<whitequark> but this is... well... abuse
Watcher7|off is now known as Watcher7
jxm has quit [Ping timeout: 268 seconds]
justdit has quit [Ping timeout: 246 seconds]
<pippijn> does anybody here use omake or knows how to use it?
<pippijn> is it possible to define pattern rules within a function?
osnr1 has joined #ocaml
osnr1 has quit [Read error: Connection reset by peer]
osnr1 has joined #ocaml
osnr has quit [Ping timeout: 246 seconds]
<pippijn> I tried this: https://paste.xinu.at/TVg/
<pippijn> but it says there is no rule to build some file .o
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<pippijn> this shows an example of an explicit rule
osnr has quit [Read error: Connection reset by peer]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr1 has quit [Ping timeout: 256 seconds]
csakatoku has quit [Remote host closed the connection]
osnr has quit [Read error: Connection reset by peer]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<pippijn> explicit rules work fine, but implicit ones are scoped.. and need to be exported from the function scope
<pippijn> that works, until .DEFAULT: $(library), after which all the dynamic scopes are reset
introom has quit [Remote host closed the connection]
introom has joined #ocaml
csakatoku has joined #ocaml
ttamttam has joined #ocaml
ttamttam has left #ocaml []
introom has quit [Remote host closed the connection]
osnr has quit [Quit: Leaving.]
Drup has quit [Quit: Leaving.]
justdit has joined #ocaml
introom has joined #ocaml
introom has quit [Remote host closed the connection]
csakatoku has quit [Remote host closed the connection]
<adrien> morning
justdit has quit [Read error: Connection reset by peer]
Watcher7 is now known as Watcher7|off
ggole has joined #ocaml
yacks has quit [Quit: Leaving]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Ping timeout: 246 seconds]
Simn has joined #ocaml
pkrnj has quit [Quit: Textual IRC Client: www.textualapp.com]
ygrek has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Ping timeout: 276 seconds]
yacks has joined #ocaml
mcclurmc has joined #ocaml
LeNsTR has joined #ocaml
jpdeplaix has quit [Ping timeout: 240 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
jpdeplaix has joined #ocaml
asmanur has quit [Ping timeout: 264 seconds]
asmanur has joined #ocaml
osnr has quit [Ping timeout: 248 seconds]
<gasche> avsm: I pushed your patches
<gasche> but I'm wondering whether we shouldn't also support the .so/.dll case
LeNsTR is now known as lenstr
<gasche> (also I'm wondering whether not supporting the Windows-variants of the target extension is going to bite us in the long run)
<gasche> I just wrote that down in the PR report, better to preserve the information there
<gasche> adrien: do you know how ocamlbuild behaves when run from windows or when cross-compiling to windows?
ollehar has joined #ocaml
gautamc has quit [Read error: Connection reset by peer]
gautamc has joined #ocaml
mcclurmc has quit [Ping timeout: 260 seconds]
thomasga has joined #ocaml
q66 has joined #ocaml
ttamttam has joined #ocaml
snearch has joined #ocaml
ollehar1 has joined #ocaml
ollehar has quit [Ping timeout: 248 seconds]
<ggole> Why is there an Int32.format?
csakatoku has joined #ocaml
jxm has joined #ocaml
jxm has quit [Client Quit]
<gasche> ggole:
<gasche> (** Do not use this deprecated function. Instead, used {!Printf.sprintf} with a [%l...] format. *)
UncleVasya has joined #ocaml
<bernardofpc> gasche: s/used/use/
<ggole> I must have missed that: it's not in the docs at all
ulfdoz has joined #ocaml
<bernardofpc> gasche: " Warning: n, l, L, and N are used for scanf, and should not be used for printf. " (http://caml.inria.fr/pub/docs/manual-ocaml/libref/Printf.html)
ygrek has quit [Ping timeout: 248 seconds]
ttamttam has quit [Remote host closed the connection]
<wmeyer`> gasche: hi, and first of all thanks for working on ocamlbuild.
wmeyer` is now known as wmeyer
<adrien> gasche: for cross-compilation, ocamlbuild pretty much doesn't care
<adrien> on windows, hmm, could you be more precise?
introom has joined #ocaml
ollehar1 has quit [Ping timeout: 252 seconds]
csakatoku has quit [Remote host closed the connection]
thomasga has quit [Quit: Leaving.]
Drup has joined #ocaml
breakds has quit [Quit: Konversation terminated!]
Neros has joined #ocaml
breakds has joined #ocaml
ygrek has joined #ocaml
ollehar has joined #ocaml
breakds has quit [Quit: Konversation terminated!]
UncleVasya has quit [Read error: Connection reset by peer]
breakds has joined #ocaml
breakds has quit [Client Quit]
breakds has joined #ocaml
breakds has quit [Quit: Konversation terminated!]
ulfdoz has quit [Ping timeout: 246 seconds]
breakds has joined #ocaml
milosn_ has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 246 seconds]
thomasga has joined #ocaml
csakatoku has joined #ocaml
<wmeyer> adrien: all the patches went in, apart from the last two, which will do today late night
<wmeyer> adrien: thanks for your hard work! In principle I like what you've done.
introom has quit [Remote host closed the connection]
csakatoku has quit [Remote host closed the connection]
<wmeyer> adrien: please submit further patches on Mantis, and we might actually enjoy cross compiler for windows. However, I'd like to raise, that maybe testing if we can cross compile for ARM and/or Android using same technique would be good.
<wmeyer> there are some patches by Jerome Voulion that might be generalised, integrated, and just up-streamed.
<ollehar> can I have a map where keys are always unique?
<wmeyer> nothing stops your from creating one, using mutable ref to int and closure
<wmeyer> but what you want then is hashtbl
<ollehar> I want the map to throw an exception if I try to insert a key that already exists
<ollehar> Guess I just make a wrapper function for add
<wmeyer> remember that stdlib is *not* a panaceum for the missing "platform" standard library, perhaps you can get that functionality just using core or batteries.
<wmeyer> ping adrien (email sent)
<Drup> ollehar: I think there is a function just like that in BatMap (or BatHashtbl)
<gasche> wmeyer: you're pinging him for the continuous-integration failure, right?
<Leonidas> I love that the Batteries modules are prefixed with "Bat", it always puts a smile on my face.
<Drup> Leonidas: Let's kill the BatMap !
* Leonidas :D
<adrien> wmeyer: hi
<adrien> thanks; I'm looking at the failure right now
<wmeyer> gasche: yes
<wmeyer> that's a windows host
<wmeyer> Leonidas: hi
<wmeyer> adrien: ok, thank you
<adrien> will the CI try to bisect the issue?
<wmeyer> no you have to do it yourself
<wmeyer> I will try to hunt it down myself too, it looks like just missing lib
<wmeyer> (maybe undefined makefile variable)
<adrien> it's either the last commit or the one right before
<adrien> and it's probably the one before
<ollehar> Drup: hm ok
<adrien> wmeyer: is there a way to get the full log? up to the configure step?
<adrien> and are the generated files still accessible? nm and/or file on the unix .a file would probably show the issue
<gasche> I have the full log under hand
<gasche> but not the generated files
csakatoku has joined #ocaml
<adrien> thanks
<gasche> hm
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<gasche> it looks like the pastebin didn't get the full log...
<wmeyer> I sent a full log to you adrien
<adrien> got it, thanks
<gasche> ok
kaustuv has joined #ocaml
<wmeyer> it looks like the configure step is skippe
<wmeyer> d
<wmeyer> ah because it's Windows?
<adrien> yeah, it directly uses Makefile.nt
<adrien> maybe I've skipped updating something in this path
csakatoku has quit [Ping timeout: 246 seconds]
<adrien> like setting TARGET and HOST
<adrien> both the 32b and 64b builds failed, right?
emmanuelux has quit [Quit: emmanuelux]
<adrien> can the CI test branches?
emmanuelux has joined #ocaml
<adrien> and is there an MSVC bot?
<wmeyer> adrien: yes there is
<wmeyer> and right now also failed
<wmeyer> but I'd like to know why configure step is not made
<wmeyer> and if the previous contents are deleted, or just "make clean"ed
<adrien> there's no configure on windows
<adrien> never
<adrien> it uses premade makefiles
<wmeyer> ah, Ok I see
<pippijn> I'm getting this error
<adrien> can I see the build log for the msvc slave too?
<pippijn> but I'm confused
<pippijn> TermColour is in baselib
<pippijn> can I verify that it is?
breakds has quit [Quit: Konversation terminated!]
<adrien> thanks
<wmeyer> pippijn: use ocamlbrowser
<pippijn> fine
<pippijn> well, it's in there
<pippijn> $ grep TermColour baselib.cma
<pippijn> Binary file baselib.cma matches
<pippijn> oh wait
<wmeyer> ocamlobjdumpinfo also would work i suppose
<pippijn> I know why..
<pippijn> argument order
<adrien> well, I've found that I haven't updated Makefile.mingw*/msvc but for now, that's it
<wmeyer> submit a patch and let's commit it
<adrien> is it possible to test branches or is it only for trunk?
<adrien> well, there might be more
<wmeyer> it's just trunk :-)
<adrien> I'd like to test before but I don't have the required setup available
<wmeyer> just submit the patch and let the CI do it
<wmeyer> nobody expects we will have all the possible configurations
<wmeyer> at home
<adrien> there are 7 patches; 5 of them change configure and therefore don't apply
<adrien> s/don't apply/aren't relevant/
<avsm> adrien: is this windows setup easy to automate?
<avsm> as in, is it possible to autoinstall it from an ISO or something?
<avsm> cos we could hook it into our OCamlot tester too
<wmeyer> Ok, I will send an email to caml-devel that you need some time to prepare them, but I don't believe it's a problem, unless we want to test some commits
<pippijn> nope
<pippijn> still not
<adrien> avsm: well, yypkg makes it easy to get most of what is needed but it doesn't have msys or cygwin
<adrien> I was avoiding msys because it's old and bad and not buildable
<wmeyer> adrien: please attach a minimal patch that you think fixes it, single patch
<adrien> but there's a new "msys2" that should match my needs
<adrien> but it's still very you
<adrien> wmeyer: I've noticed another variable that needs to be set; I'm re-reading more closely the changes
<pippijn> do I need anything else besides: ocamlfind ocamlc -c diagnostics.ml -package baselib,camlp4.quotations,sexplib.syntax
<adrien> (but that variable is not used)
walter|r has joined #ocaml
<wmeyer> adrien: that's fine, take your time, it's nothing to worry, we expected problems
walter has quit [Ping timeout: 260 seconds]
chrisdotcode has quit [Remote host closed the connection]
<kaustuv> thelema: ping
<adrien> it's unfortunate there's no public access to the CI ='(
<wmeyer> especially on windows
<wmeyer> I will ping you, but keep in mind i am leaving in hour or so, going for a concert, back late night
<pippijn> wmeyer: whose concert?
<wmeyer> pippijn: Tokyo String Quartet
<pippijn> oh, nice
<kaustuv> If there is a package foo.1.0.0 in opam and I want to upload a new version with some backported patches even if there has been no upstream release, should I give it a new name foo.1.0.0-1 ?
<wmeyer> adrien: I believe there is
<wmeyer> adrien: you should be able to see it I think
<adrien> I get asked to login
dsheets has joined #ocaml
<adrien> reading the commits again, I hadn't updated the Makefile.{mingw,msvc}{,64} files to store $(TARGET) and $(HOST)
<adrien> but if these are undefined, then $(TARGET) = $(HOST) = the empty string
<adrien> so it should work; I'm going to have to setup something on windows
<wmeyer> adrien: it's open for non-inria personel just subscribe to : ci.inria.fr
<wmeyer> in the worst case if we don't get that working by tomorrow night, I will revert the concerned commit and we will re-do it later :-)
snearch has quit [Quit: Verlassend]
<pippijn> no ideas?
<wmeyer> pippijn: -syntax camlp4.sexplib.syntax
<pippijn> and then?
<wmeyer> and then what?
<pippijn> what would that do?
<wmeyer> pipe the ml file through camlp4
<pippijn> why should I do that?
<adrien> fucking awful password policy
<wmeyer> using selected plugin
<pippijn> just a random idea?
<pippijn> well, fine
<wmeyer> you want sexplib.syntax too?
<pippijn> no, I want the TermColour module to be found
<wmeyer> oh
<pippijn> it's in baselib
<pippijn> and baselib is in the package list
<wmeyer> you have to have two numbers adrien i am afraid ;-)
dsheets_ has joined #ocaml
<wmeyer> and special character too
dsheets__ has joined #ocaml
<pippijn> also, I don't know that -syntax flag of yours
<pippijn> I usually do -syntax camlp4o
<wmeyer> oh actually yes, so long not used Camlp4!
* wmeyer thinks pippijn must be in a grumpy mode
<pippijn> no, I just want this to work, and it works without ocamlfind
dsheets has quit [Ping timeout: 248 seconds]
<wmeyer> hmm
<adrien> wmeyer: I get that when trying to reach the jenkins: adrien@notk.org is missing the Read permission
<adrien> ='(
<pippijn> what is the ocamlfind flag to show the commands it is executing?
<wmeyer> adrien: yes, I had some problems with it, maybe indeed it does not work in non-developer mode
dsheets_ has quit [Ping timeout: 252 seconds]
<wmeyer> adrien: so I am afraid you have to setup a windows box for yourself, or just fix it, and see what will happen
<avsm> pippijn: either ocamlbuild -classic-display, or ocamlbuild -why-do-you-hate-me-so-much-what-have-i-ever-done-to-you should work
<pippijn> ok, and if I don't use ocamlbuild?
<avsm> oh sorry -verbose
osa1 has joined #ocaml
<pippijn> oh, yeah
<pippijn> I put it in the wrong place
<pippijn> ocamlfind -verbose ocamlc
<pippijn> doesn't work
fraggle_laptop has joined #ocaml
<wmeyer> avsm: ocamlbuild works here :-))
<pippijn> ok, I seem to be missing something
ollehar has quit [Ping timeout: 264 seconds]
<pippijn> -linkall :)
<wmeyer> ha!
<pippijn> no
<adrien> wmeyer: do you have more infos about the way the mingw* slaves are setup?
<adrien> they're cygwin I guess, right?
<adrien> additional stufF?
<pippijn> didn't help
<wmeyer> adrien: I think it's cygwin
<gasche> adrien: the work needed to make the CI publicly available is off-putting
ollehar has joined #ocaml
<gasche> it already took Damien a bit of work to set up the slaves, which are often useful
<gasche> I don't think we're going to do much more in that area
<adrien> well, I only want to Read
<gasche> you could probably get a ci.inria.fr account
<adrien> got one
osnr has quit [Quit: Leaving.]
<adrien> but then I don't have the "Read permission" for the jenkins
<gasche> ask Damien?
dsheets_ has joined #ocaml
<adrien> will do once I'm done with this bug
<wmeyer> please just try to submit a patch, and let's see, I see no problem as this is just trunk
<wmeyer> gasche: indeed, if we don't get it done because of lack of access to logs, maybe asking Damien would be a good idea
<adrien> well, I'm now seriously doubting it'll fix it
<adrien> I already have the windows VM
<wmeyer> so which commit breaks it?
<adrien> somewhere
<adrien> on some disk
<adrien> :P
thomasga has quit [Quit: Leaving.]
dsheets__ has quit [Read error: Operation timed out]
<pippijn> do the .cmi files need to be in the installation directory?
<pippijn> or is just the .cma enough?
<wmeyer> pippijn: it needs to be on path, and yes there are required
<gasche> the .cmi files are needed
<adrien> they have to be installed
<gasche> :]
<pippijn> ah
<pippijn> there is my problem
<adrien> common one =/
<wmeyer> are you doing your omake build system pippijn?
<wmeyer> it was nice
fraggle_laptop has quit [Quit: Quitte]
<pippijn> wmeyer: yes, I'm rewriting it from scratch, in clean
dsheets_ has quit [Ping timeout: 248 seconds]
<pippijn> because it wasn't nice
<wmeyer> nice
<pippijn> it was using the omake rules
<pippijn> but those are.. not so nice
<wmeyer> let me know via email when you finish!
<pippijn> so I'm making my own now
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<pippijn> omake is a little thick :\
csakatoku has joined #ocaml
<pippijn> so hard to make a build system in
<pippijn> and it has a bug (one!)
<wmeyer> adrien: the workers on CI are Win7, if that makes any difference
<kaustuv> thelema: can you take a look at https://github.com/OCamlPro/opam-repository/pull/861 when you have the chance?
<pippijn> there are certain circumstances under which it tries to serialise functional values
<gasche> I'm glad ocamlbuild doesn't have bugs :'-}
<pippijn> it makes a lot of sense why that circumstance triggers the bug
<pippijn> but it's annoying, still
<gasche> kaustuv: wouldn't your problem also be solved by Batteries making a new release?
<pippijn> so some values I want memoised can only be memoised during the run
<pippijn> not between runs
<gasche> (if I understand correctly, you're moving your own development environment to ocaml-trunk, and wish to use the opam-package Batteries in it?)
<wmeyer> adrien: so if you have a patch, then just attach it, I'll review it
<wmeyer> /me: time for me to go
<adrien> enjoy
csakatoku has quit [Ping timeout: 256 seconds]
<wmeyer> thx, see you later
<kaustuv> gasche: yes, of course a new upstream release is just all around better.
<Drup> kaustuv: in the meantime, you can pin the package to a personal repo with your patchs
<gasche> kaustuv: do you have very good reasons to push for a release *before* the next OCaml version?
<gasche> we could do that (to do a release we "only" need to go over what changed since the last release, and mark things appropriately)
<gasche> but intuitively it would make more sense to wait for 4.01 to accomodate with other eventual changes
<kaustuv> gasche: No, I don't have a good reason. I am antsy about it because I am going to present a paper at ITP in three weeks and it uses software that depends on batteries 2.0. I would like the audience members to be able to install it regardless of whether 4.2 appears in the interim or not.
<kaustuv> And even if it doesn't, there is a high chance that people in the audience of that conference are early adopters
<kaustuv> But I don't want to force any decision on the batteries folk.
<gasche> well
mcclurmc has joined #ocaml
<gasche> kaustuv: I'll ask on the mailing-list, but I think we could do a release
<kaustuv> Great! Thanks in advance.
justdit has joined #ocaml
<kaustuv> Incidentally, it would be nice to sidestep this issue in the future by using include (module type of Marshal) and so forth in the signatures
<kaustuv> But that requires 4.x, obviously.
<gasche> I'm not sure that is a good idea
<gasche> in my experience, anything that integrate as tightly as Batteries over the standard library is bound to break regularly when the stdlib's interface change
<pippijn> https://paste.xinu.at/nrUXf/ <- next error :\
<gasche> using (module type of Marshal) in clever ways may help avoid some issues, but make other things worse
<pippijn> I googled it, and they say I'm mixing up cmxa and cma
<gasche> hm
<gasche> maybe I got the meaning of "this issue" wrong
<gasche> what I don't think can be avoided is that batteries fails to compile with more recent versions of stdlib
<gasche> what we could maybe try harder to prevent is runtime failures due to unsafe internal representation assumptions that become wrong in the new version
<adrien> pippijn: what does "file" say?
<adrien> pippijn: also, *.cmx is bad (tm) because it means the order is undefined
<pippijn> /usr/lib/ocaml/unix.cmxa: OCaml native library file (.cmxa) (Version 010)
<pippijn> adrien: I know
<pippijn> adrien: the order is correct in reality
<pippijn> I just shortened the command for clarity
<adrien> have you updated the compiler recently?
<pippijn> no
<pippijn> and I know I'm doing something wrong, because ocamlbuild and other build systems work fine
<adrien> PATH?
<pippijn> what about PATH?
<adrien> if you have several installations of ocaml
<pippijn> no
<pippijn> I have one
<gasche> and ocamlobjinfo ...cmxa ?
<pippijn> blah blah CRC of implementation: da2e4ad3edd1a219f27ae6929b1043b8
<pippijn> more blah blah
<pippijn> stuff :)
<pippijn> Name: Unix
<gasche> sounds legit
<pippijn> simpler command, same output
q66 has quit [Quit: Leaving]
<pippijn> or replace *.cmx by sig.cmx
<pippijn> that's a file that depends on nothing
<pippijn> same error
tane has joined #ocaml
osnr has quit [Quit: Leaving.]
ollehar has quit [Ping timeout: 256 seconds]
<gasche> hm pippijn
<gasche> is it valid to try to pass .cmxa to build larger .cmxa?
<pippijn> I guess not
<pippijn> but why does ocamlfind do that?
<pippijn> here is my full command: https://paste.xinu.at/bwCc/
<pippijn> I shouldn't be passing -package to ocamlopt here?
<kaustuv> gasche: Since I haven't head back yet from Francois, I've taken the liberty to put my changes to pprint here: https://github.com/chaudhuri/ocaml-pprint -- just fyi
<gasche> pippijn: why do you need -linkpkg?
<pippijn> I don't know :)
<adrien> linkpkg is only when you need to link
ygrek has quit [Ping timeout: 248 seconds]
<pippijn> ok
<pippijn> it's gone, and now it's fine
<pippijn> thanks
<gasche> kaustuv: following your advice, I'm considering coming to LIX on the Mon 8 or Tue 9 of July (not next week but the one after)
<kaustuv> Works for me. I'll ask the other members here and let you know by e-mail if there are any conflicts.
<gasche> ok
<gasche> I could also come next week, but have been trying to work on something else
<gasche> if you wish, I have a ~one-hour talk ready on what I've been trying to do
<gasche> but it's mostly background (no results), and stuff LIX people probably already know
<kaustuv> Can we continue over e-mail? I really need to leave now. Sorry.
<gasche> of course, thanks
kaustuv has left #ocaml []
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 264 seconds]
justdit has quit [Ping timeout: 252 seconds]
darkf has quit [Quit: Leaving]
osnr has quit [Quit: Leaving.]
Kakadu has joined #ocaml
<hcarty> gasche: I spent a bit of time on that feature request (Ord-ready Map/Set/...). I can try to get a proper pull request together in time for release preparation.
justdit has joined #ocaml
<hcarty> gasche: On that front - should ?cmp still be used when an optional ord function can be provided? ?ord seems like a logical alternative but I don't know if the shared type/function/parameter name is acceptable.
<gasche> hcarty: I haven't thought much about the issue, but my first reaction is that ?ord is probably a better choice
<gasche> hm
<gasche> we may run into trouble with local module open shadowing an ?ord argument
<gasche> but that's still better than ?cmp, isn't it?
<hcarty> gasche: On the plus side, there are new warnings in 4.01.0 about that kind of shadowing :-) But that was part of my concern as well.
<hcarty> gasche: I guess it depending on whether we would need to use the current module's ord function in another function which takes an ?ord argument.
<hcarty> s/depending/depends/
<gasche> why are we making this an optional argument?
<hcarty> Option.compare takes ?cmp
<gasche> not naming the argument may be a way out of this question
<gasche> hm
<gasche> consistency is good, but the old "modular type classes" idea was also to clean us of those dirty polymorphic comparison functions
<hcarty> I'm ok with that as it nudges the user to consider something other than polymorphic comparison.
<gasche> it seems we reached a consensus
<hcarty> Option.compare and similar functions could be 'fixed' when Batteries 3 comes along.
<hcarty> BatMap.MakeOrd and .SOrd? Or .Ord.S and .Ord.Make? Or something else for the functors?
<hcarty> MakeOrd doesn't seem too bad, but SOrd seems like a difficult name to interpret.
ollehar has joined #ocaml
<gasche> do BatMap.S and BatMap.SOrd differ?
<hcarty> gasche: And unrelated to this - thanks for the pointer to pflag in the ocamlbuild sources. I had been working from http://nicolaspouillard.fr/ocamlbuild/html/Signatures.PLUGIN.html previously and didn't realize the API had expanded so much.
<hcarty> gasche: S.ord vs S.compare
introom has joined #ocaml
<hcarty> gasche: Or, better - add ord to S
<hcarty> Then I think the two could share a signature
<gasche> that would be best
<hcarty> gasche: BatMap.S.Labels.compare has a labeled, non-optional cmp function. In that case do you think cmp is best (also used by equal in the same module) or ord? Or the ord function could be left out of the Labels sub-module.
introom has quit [Remote host closed the connection]
<gasche> I would say ord is best
justdit_ has joined #ocaml
justdit has quit [Read error: Connection reset by peer]
<adrien> ah, reproduced the issue
<adrien> setting up cygwin was pretty easy actually
<adrien> cleaning the desktop to bring the laptop's main screen closer was the most difficult task :-)
<adrien> errr, cygwin's vi is special
<adrien> I type / then W and it goes crazy
justdit_ has quit [Read error: Connection reset by peer]
Kakadu has quit [Read error: Operation timed out]
csakatoku has joined #ocaml
Kakadu has joined #ocaml
<gasche> adrien: now the openbsd build failed
<gasche> with an error that looks easy to debug/understand
csakatoku has quit [Ping timeout: 256 seconds]
<adrien> I'll have killed everything by the end of the day
<gasche> that's fine
<gasche> hm
<gasche> the Linux slaves should keep working
<gasche> as I assume you've at least tested your changes under those :]
<adrien> oh fuck
<gasche> so they will be able to catch problems with other independent commits
<gasche> tsk
<adrien> well, there isn't a lot of "make" that works over all the make implementations
<adrien> bsd's make has .if/.else/.endif or something similar
<adrien> I'm not sure how I'm even supposed to get it work actually
introom has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
<gasche> doesn't ocam-on-bsd use gmake?
<gasche> I have no idea
<adrien> I thought so but a couple months ago, Damien reverted a patch I had made because of such an incompatibility
tane has quit [Quit: Verlassend]
tane has joined #ocaml
introom has quit [Ping timeout: 248 seconds]
<avsm> no, ocaml-on-bsd doesn't require GNU make
ollehar has joined #ocaml
<adrien> wasn't that the case at some point though?
emmanuelux has quit [Ping timeout: 248 seconds]
Kakadu has quit []
Kakadu has joined #ocaml
Kakadu has quit [Read error: Operation timed out]
ocp has joined #ocaml
emmanuelux has joined #ocaml
breakds has joined #ocaml
q66 has joined #ocaml
pkrnj has joined #ocaml
pkrnj has quit [Remote host closed the connection]
gnuvince has joined #ocaml
<ollehar> check it out if time allows :)
<gasche> nice
<gasche> ollehar: you should contact Sylvain to be added on Planet-OCaml
Kakadu has joined #ocaml
pkrnj has joined #ocaml
<Drup> I find the tutorial quite good, I just don't like your source formatting
<ollehar> gasche: good idea
<ollehar> Drup: indentation of ocaml?
Kakadu has quit [Read error: Connection reset by peer]
<Drup> no, the style in html/css
Kakadu has joined #ocaml
<gasche> hm
<ollehar> Drup: I know, I'm fighting with prettify to make it work
<gasche> I'm not sure the discussion with hcarty at the end is accurate
<gasche> I believe the cost of { foo with field = ... } is O(N) for a record type with N fields
<gasche> well
<gasche> I don't think the discussion is *wrong* but it may mislead the reader in thinking that this cost is independent of the record's number of fields
<gasche> (while in fact it is independent of the content of these fields, which are O(1)-copied)
<ollehar> gasche: yes, the point of hcarty's arguments would be that the update cost is only dependent of the fields being updated
<Drup> ollehar: My advice would be too reduce the interline space and to use a consistent style for all sources. (and no alternate line coloration, but that's mostly personnal taste I think.
<Drup> (you can call me picky :))
ocp has quit [Quit: Leaving.]
Kakadu has quit [Read error: Operation timed out]
<avsm> adrien: i dont think i've ever activated the USE_GMAKE flag on OpenBSD, since 2001 at least
ocp has joined #ocaml
<avsm> (for ocaml, many of the libraries need it)
<adrien> ok, thanks
* adrien still trying to find the issue; found the faulty commit, then reverted each change and that still doesn't work
ulfdoz has joined #ocaml
<gasche> adrien: while you're at it on a windows machine, would you confirm that the "output_obj_ext" patch in http://caml.inria.fr/mantis/view.php?id=6059#c9652 allows to build foo.byte.obj and foo.native.obj?
<gasche> (clearly what you're doing right now is too easy)
<ggole> ollehar: rooster should probably be roster
tani has joined #ocaml
<adrien> I'm not done yet with quantum bugs ='(
tane has quit [Disconnected by services]
tani is now known as tane
<ggole> The discussion on mutation is interesting. The costs of various constructs in OCaml can be annoyingly opaque.
<ggole> For instance, mutating an mutable integer field vs mutating a mutable polymorphic field that happens to be an integer.
<ollehar> ggole: yes, thanks for that
Kakadu has joined #ocaml
dsheets has joined #ocaml
breakds has quit [Remote host closed the connection]
mcclurmc has quit [Ping timeout: 264 seconds]
breakds has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 268 seconds]
q66 has quit [Quit: Leaving]
q66 has joined #ocaml
breakds has quit [Remote host closed the connection]
ggole has quit []
vpm has quit [Ping timeout: 245 seconds]
vpm has joined #ocaml
tane has quit [Quit: Verlassend]
<ollehar> is there some way to include a previous record declaration in a new one? like
<ollehar> type s = {a: int; b:string}
<ollehar> type t = {s with c:float}
<adrien> are you sure you want to do that? remember the new declaration will shadow the names of the previous declaration
<Drup> goes the patch about formats and gadts has been applied in 4.01 ?
Kakadu has quit []
<ollehar> adrien: I was thinking in a module, like "include ModuleS", then extending the type of ModuleS in ModuleT
<Drup> does*
Yoric has joined #ocaml
mlh has quit [Ping timeout: 256 seconds]
mlh has joined #ocaml
<gasche> I don't think the example of "opaque costs" given by ggole is convincing
mcclurmc has joined #ocaml
<pippijn> so is it now normal to produce .byte and .native instead of .opt?
<adrien> "normal"? in which context?
<pippijn> build systems
<gasche> pippijn: that's the ocamlbuild convention, but I wouldn't say it's forced
<pippijn> well, if I make a build system, should I go with that?
<adrien> .opt.native
ollehar has quit [Ping timeout: 264 seconds]
osa1 has quit [Ping timeout: 268 seconds]
thomasga has joined #ocaml
<adrien> gasche: considering I'm still stuck with the build issue on windows, you'll have to ask me again to test the patch to the bug you linked me to
<adrien> gasche: also, you have an easy way to test?
<Drup> I must say that make ocaml accept what I want to do with gatds is always a bit of a struggle
oriba has joined #ocaml
thomasga has quit [Quit: Leaving.]
<adrien> I hate windows
<def-lkb> adrien: so do I. Anything more to say ?
zpe has joined #ocaml
<troydm> you can say that you love windows for example
<troydm> but that is unlikely
<wmeyer> adrien: hi.
zpe has quit [Ping timeout: 240 seconds]
<def-lkb> :)
<wmeyer> hi def-lkb!
<def-lkb> hi wmeyer
<wmeyer> just back
<wmeyer> I enjoyed your Shiff's Bach, been listening to that, is very regural
<Drup> wmeyer: I'm messing around with your combinator idea for my lsystem library
<wmeyer> good company for adrien's patches :-)
<wmeyer> Drup: good stuff, you can generate your rules for Lsystem that way
<wmeyer> :-)
csakatoku has joined #ocaml
<Drup> this looks promising, but I'm not sure what to do with arithmetic expressions expect "put a string and I will parse it"
<wmeyer> binder problem?
<wmeyer> you can try to use something like HOAS for this or closures
csakatoku has quit [Ping timeout: 240 seconds]
<wmeyer> you could also use camlp4
<Drup> I really would like to avoid syntax extension
<wmeyer> then you have no limits what you put
<wmeyer> wise
<adrien> pouet
<adrien> wrong window
<adrien> wrong password too
<wmeyer> what's with pouet :-)
<adrien> french equivalent for foobar
<wmeyer> here is my babe =)
<Drup> wmeyer: for now, a rule looks like that : let rule_f = f "l" --> [ f "l/2" ; turn "30" ]
<adrien> DOS? I'm not going to be able to run that
<adrien> ='(
<wmeyer> adrien: dosbox!
<wmeyer> :D
<wmeyer> Drup: transform it to: let rule_f = f (fun l -> [f (l / 2); turn 30])
<adrien> true
<adrien> I'll install it once icalk builds again
<wmeyer> ok
<Drup> wmeyer: I could do that, but it's very verbose :(
<wmeyer> there is no other way AFAIK
<wmeyer> adrien: no worry, I have another one too :-) but this might wait, focus on getting the build for Windows
<Drup> and this prevent me to explore the content of the rhs
<wmeyer> you can still match rhs, you have AST?
<Drup> if it's under a closure, I can't access it
<wmeyer> adrien: I am afraid the rest of builds like OpenBSD fail too
<wmeyer> if you can point out a commit, I can revert it, so you can continue working
<wmeyer> but you can do match l with ?
<wmeyer> the only difference is evaluator
<wmeyer> def-lkb: good stuff, I will read it now :-)
<def-lkb> wmeyer: good stuff indeed, enjoy ;)
<adrien> wmeyer: I've used a gnu make construct, thinking gmake was required
<adrien> wmeyer: I don't think there is a way to get conditionals that are compatible with both mk and gnu make
<adrien> so instead I'll have to do things differently (at configure-time)
<adrien> which means the offending code will have to go away
<adrien> and......
<wmeyer> hmm? but we do use conditionals, don't we?
<wmeyer> in the existing makefiles
<adrien> I *really* hate windows
<adrien> no, the only conditionals are in Makefile.nt files
<adrien> and they're gmake-style
ulfdoz has quit [Ping timeout: 276 seconds]
<wmeyer> Ok, so why not to change them to mk ones?
<adrien> actually, there's: ifeq ($(OCAMLBUILD_NOBOOT),"yes")
<adrien> but that's the only occurence of such a construct
<adrien> gnu make doesn't know of mk conditionals :-)
<wmeyer> :D
<wmeyer> that's me
<adrien> the only difference with the faulty code is that yours uses quotes
<adrien> but for mine, I have a cleaner way to do it
<wmeyer> please feel free to remove it change it, but in such way ocamlbuild still builds
<wmeyer> sorry about this
ttamttam has joined #ocaml
<adrien> it builds so I'll just cargo-cult and keep it :P
<adrien> I have no idea why but that doesn't matter /o\
ontologiae_ has joined #ocaml
<wmeyer> adrien: :-)
<adrien> avsm: around?
gautamc has quit [Read error: Connection reset by peer]
<adrien> avsm: I'm wondering if you could test a fix against trunk for openbsd
<wmeyer> adrien: does it fix mingw{32,64},msvc?
gautamc has joined #ocaml
ttamttam has quit [Remote host closed the connection]
<adrien> no, it's a different issue
<adrien> I ran "make -f Makefile.nt world &> foo"
<wmeyer> adrien: if you can do first mingw/msvc builds
<adrien> the only difference between the build that works and the one that doesn't are warnings about timestamps in the future for a few files
<adrien> wmeyer: obsd was trivial
<adrien> windows, I've been on it for hours
<Drup> def-lkb: this paper contains quite an amount of cleverness :)
emmanuelux has quit [Ping timeout: 256 seconds]
Yoric has quit [Ping timeout: 252 seconds]
<wmeyer> adrien: it's not easy! get a sleep and come back to it tomorrow, btw, i can revert for time being the commit, it does not harm and brings clean trunk
malo has joined #ocaml
<adrien> yeah, I'm going to bed very soon; I'm readying the obsd patch and then I'll go kill Bill Gates
<wmeyer> yep, but point out the commit!
<wmeyer> i don't want to revert 6 of them :-)
<adrien> I would have hoped avsm or cthuluh could test it before though
<adrien> and trying something before going to bed
<wmeyer> adrien: so should I revert all of them?
<adrien> hold on just five minutes
* wmeyer reverts & hides!
<adrien> I have the feeling I'm going to fix that
<adrien> but most likely I won't; but it's going to take me 5 minutes
<wmeyer> ok
emmanuelux has joined #ocaml
<adrien> building now
<adrien> I'm 100% sure the issue was no introduced prior to "build: select win32 variants of unix and graph for mingw."
<adrien> the commits before that only touched configure
<adrien> that commit, I'm not completely sure but it seems the issue appeared with "configure: store $target and $host in the build configuration."
<cthuluh> now building from git with your -ifeq modification applied
<adrien> cthuluh: thanks <3
ocp has quit [Ping timeout: 268 seconds]
<adrien> cthuluh: "make world" is enough
<adrien> I hate myself
<wmeyer> ok let me know for sure, and then I will pick it, and let's see tests tomorrow
<adrien> wmeyer: fixed
<wmeyer> so this commit: "configure: store $target and $host in the build configuration." ?
<adrien> I bisected the wrong commit and wasted a lot of time
<wmeyer> needs to be amended
<wmeyer> let's see if i can revert just this
<adrien> another issue that is related appeared but it's an unbound value in ocaml so that should be easy
<wmeyer> you sure its the commit?
<wmeyer> i am know commiting the change, and let's see
<adrien> I'm not sure what you want to do: you want to merge my fix directly with the faulty commit?
<wmeyer> adrien: now I am asking, shall I revert this commit so we will have clean trunk?
<adrien> wmeyer: I have a fix for the issue; the build has failed quite later on in camlp4 and I'm checking how to fix that
<adrien> it shouldn't be complicated
thelema has quit [Ping timeout: 256 seconds]
<wmeyer> adrien: great
<wmeyer> what's thelema is doing, haven't seen him for while
<adrien> so, obviously, that fix would take more time than expected unless I got very lucky 30 seconds ago (I doubt it)
<adrien> I'm doing one last build
<adrien> I need a new machine :P
<adrien> wmeyer: revert "configure: store $target and $host in the build configuration."
<adrien> it needs to touch many different files and I haven't managed to find them all yet
ben_zen has joined #ocaml
<adrien> cthuluh: any news about the ocaml build?
<wmeyer> adrien: ok, I'll let you know when world is back to normal
chrisdotcode has joined #ocaml
<adrien> thanks
<adrien> I'll continue looking into that tomorrow
<adrien> the current issue is with myocamlbuild_config.ml(i)
<adrien> I need to add val host and val target
<wmeyer> no problem adrien, overall thank you for your patches!
<adrien> but I can't find what touches the .ml
Yoric has joined #ocaml
<adrien> mkmyocamlbuild.sh, based on config/Makefile and lots of sed
pkrnj has quit [Quit: Computer has gone to sleep.]
<wmeyer> you might want to have a joy with OCAMLBUILD_NOBOOT
<wmeyer> and just use Makefiles
<wmeyer> I haven't got enough faith to finish it properly
<wmeyer> then ocamlbuild will not use ocamlbuild anymore
<wmeyer> patches welcome!
<adrien> we had already discussed that; I had issues with that before and noboot allowed me to continue
<adrien> but I need to keep the old behaviour for now
<adrien> previously I had tried to keep ocamlbuild as before but also add support for the cross-compilation: both at once
Yoric has quit [Ping timeout: 264 seconds]
<adrien> writing proper sentences is getting difficult and my latest build failed again; because I'm a morong ><
Simn has quit [Quit: Leaving]
smango has left #ocaml []
<wmeyer> adrien: everybody is! but I hope the commit i reverted fixes the problem?
<adrien> as far as I can tell, yes; and I've fixed "make world" here :-)
<cthuluh> adrien: completed with no error, as expected
ollehar has joined #ocaml
<adrien> cthuluh: thanks a lot for the test :-)
<cthuluh> do you want me to run the testsuite or not?
<wmeyer> adrien: let's wait for the test results with that patch
<adrien> cthuluh: for this kind of fix it's not necessary; thanks
<cthuluh> fine
<adrien> going to bed, I'm really sleepy
<wmeyer> adrien: it's always good to test the testsuite too.
<adrien> thanks again to both of you and good night
<wmeyer> adrien: good night!
<adrien> wmeyer: agreed but it can wait until tomorrow ;p
ben_zen has quit [Quit: Lost terminal]
emmanuelux has quit [Read error: Operation timed out]
thelema has joined #ocaml
<cthuluh> adrien: hmpf, it needs world.opt; ping me tomorrow
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
ollehar has quit [Ping timeout: 260 seconds]
osnr1 has joined #ocaml
mcclurmc has quit [Ping timeout: 256 seconds]
osnr has quit [Ping timeout: 246 seconds]
thelema has quit [Ping timeout: 268 seconds]
dtg has quit [Read error: Connection reset by peer]
emmanuelux has joined #ocaml
<wmeyer> gasche: do you know how to spawn the build in jenkins?
<troydm> wmeyer: you build either manually or using trigger: like commit or recursive timer
<troydm> *recurrent*
<wmeyer> troydm: Ok, how about I want to test it on demand?
<troydm> wmeyer: go to web interface and click build now
<troydm> it will trigger building your project
<wmeyer> troydm: I can't see this button there
<troydm> wmeyer: you need to choose a project
<troydm> click on the project and in the left pane there should be a button
osnr1 has quit [Ping timeout: 268 seconds]
<wmeyer> troydm: nothing like this I can see there! Anyway, I'm going to bed, good night.
breakds has joined #ocaml
<troydm> wmeyer: your user probably doesn't have rights to build projects
<troydm> either that or you are doing something wrong
<troydm> well anyway
<troydm> g'night
<wmeyer> already talked to Damien about this
<wmeyer> I hope I will be able to do it soon. Good night :-)
thelema 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]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr 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
osnr has quit [Ping timeout: 246 seconds]
ollehar has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
demonimin has quit [Remote host closed the connection]
ontologiae_ has quit [Ping timeout: 252 seconds]
osnr has quit [Ping timeout: 256 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr1 has joined #ocaml
osnr2 has joined #ocaml
dtg has joined #ocaml
osnr has quit [Ping timeout: 256 seconds]
malo has quit [Quit: Leaving]
walter|rtn has joined #ocaml
osnr1 has quit [Ping timeout: 256 seconds]
walter|r has quit [Read error: Connection reset by peer]
demonimin has joined #ocaml
ollehar has quit [Ping timeout: 246 seconds]
thelema has quit [Remote host closed the connection]
<cthuluh> adrien: http://wxcvbn.org/~jca/tmp/ocaml-testsuite-log.1.txt all tests pass fine except one (bigarrays, most likely unrelated to your commit)
thelema has joined #ocaml
csakatoku has joined #ocaml
<amiller_> i'm looking for an implementation of interval trees
<amiller_> i found one in batteries but it doesn't have the functionality i want
<amiller_> specifically i want to store a list of integer intervals (x_i,y_i) and then given an integer as a test point, find all the intervals that contain this point
<amiller_> but the BatIMap only returns a single mapping
<Drup> amiller_: if you want just an interval tree, you should look at BatISet
<Drup> (which have a "mem" function)
<amiller_> mem z doesn't tell me the intervals containing z though
csakatoku has quit [Ping timeout: 276 seconds]
<amiller_> it just tells me if there is any interval containing z
<Drup> oh, you want the inverse, ok
<amiller_> well according to wikipedia what i want is an interval tree and the structures in ocaml are discrete-interval-encoding trees
<amiller_> it looks like this might work for me