lapinou changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | http://www.ocaml.org | OCaml 4.01.0 announce at http://bit.ly/1851A3R | Public logs at http://tunes.org/~nef/logs/ocaml/
nikki93 has quit [Remote host closed the connection]
keen_ has left #ocaml []
gasche has quit [Ping timeout: 265 seconds]
nikki93 has joined #ocaml
zzing has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nikki93 has quit [Remote host closed the connection]
keen_ has joined #ocaml
shinnya has joined #ocaml
Simn has quit [Quit: Leaving]
shinnya has quit [Ping timeout: 245 seconds]
araujo has quit [Quit: Leaving]
bjkeller has joined #ocaml
S11001001 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
struktured has quit [Read error: Operation timed out]
araujo has joined #ocaml
araujo has quit [Changing host]
araujo has joined #ocaml
nikki93 has joined #ocaml
q66 has quit [Quit: Leaving]
S11001001 has joined #ocaml
S11001001 has quit [Changing host]
S11001001 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 245 seconds]
patronus_ has joined #ocaml
sgnb` has joined #ocaml
nikki93 has joined #ocaml
nk0_ has joined #ocaml
finnrobi_ has joined #ocaml
Snark_ has joined #ocaml
gustav_ has joined #ocaml
cthuluh_ has joined #ocaml
nikki93 has quit [Remote host closed the connection]
iZsh_ has joined #ocaml
aurynj has quit [*.net *.split]
zarul has quit [*.net *.split]
bjorkintosh has quit [*.net *.split]
finnrobi has quit [*.net *.split]
cross has quit [*.net *.split]
patronus has quit [*.net *.split]
gustav__ has quit [*.net *.split]
cthuluh has quit [*.net *.split]
sgnb has quit [*.net *.split]
nk0 has quit [*.net *.split]
ohama has quit [*.net *.split]
Snark has quit [*.net *.split]
yroeht2 has quit [*.net *.split]
iZsh has quit [*.net *.split]
ohama has joined #ocaml
yroeht2 has joined #ocaml
aurynj has joined #ocaml
zarul has joined #ocaml
cross has joined #ocaml
zarul has quit [Max SendQ exceeded]
nikki93 has joined #ocaml
zzing has joined #ocaml
Eyyub has quit [Ping timeout: 255 seconds]
zarul has joined #ocaml
nikki93 has quit [Remote host closed the connection]
Eyyub has joined #ocaml
nikki93 has joined #ocaml
bjorkintosh has joined #ocaml
nikki93 has quit [Remote host closed the connection]
nikki93 has joined #ocaml
talzeus has quit [Read error: Connection reset by peer]
strmpnk has joined #ocaml
nikki93 has quit [Remote host closed the connection]
divyanshu has joined #ocaml
S11001001 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
watermind has quit [Read error: Connection reset by peer]
watermind has joined #ocaml
nikki93 has joined #ocaml
watermind has quit [Client Quit]
watermind has joined #ocaml
nikki93 has quit [Remote host closed the connection]
talzeus has joined #ocaml
divyanshu has quit [Quit: Computer has gone to sleep.]
ygrek has joined #ocaml
appleby has joined #ocaml
nikki93 has joined #ocaml
watermind has quit [Ping timeout: 240 seconds]
nikki93 has quit [Remote host closed the connection]
tlockney is now known as tlockney_away
cthuluh_ is now known as cthuluh
bjkeller has quit [Remote host closed the connection]
nikki93 has joined #ocaml
jpdeplaix has quit [Ping timeout: 264 seconds]
nikki93 has quit [Remote host closed the connection]
keen_ has left #ocaml []
jpdeplaix has joined #ocaml
appleby has quit [Ping timeout: 245 seconds]
nikki93 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
tautologico has quit [Quit: Connection closed for inactivity]
nikki93 has joined #ocaml
appleby has joined #ocaml
bjkeller has joined #ocaml
nikki93 has quit [Remote host closed the connection]
gasche has joined #ocaml
Eyyub has quit [Ping timeout: 240 seconds]
nikki93 has joined #ocaml
divyanshu has joined #ocaml
araujo has quit [Quit: Leaving]
appleby has quit [Quit: appleby]
appleby has joined #ocaml
araujo has joined #ocaml
araujo has quit [Changing host]
araujo has joined #ocaml
divyanshu has quit [Quit: Computer has gone to sleep.]
divyanshu has joined #ocaml
ygrek has quit [*.net *.split]
bjorkintosh has quit [*.net *.split]
zarul has quit [*.net *.split]
divyanshu has quit [Quit: Computer has gone to sleep.]
zarul has joined #ocaml
zarul has quit [Changing host]
zarul has joined #ocaml
ygrek has joined #ocaml
bjorkintosh has joined #ocaml
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
yacks has joined #ocaml
divyanshu has joined #ocaml
bjkeller has quit []
axiles has joined #ocaml
michel_mno_afk is now known as michel_mno
appleby has quit [Quit: appleby]
michael_lee has joined #ocaml
appleby has joined #ocaml
ggole has joined #ocaml
keen_ has joined #ocaml
appleby has quit [Quit: appleby]
appleby has joined #ocaml
araujo has quit [Quit: Leaving]
sgnb` has quit [Remote host closed the connection]
sgnb has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 265 seconds]
darkf_ is now known as darkf
angerman has joined #ocaml
appleby has quit [Quit: appleby]
ggole has quit []
AltGr has joined #ocaml
Thooms has joined #ocaml
Thooms has quit [Ping timeout: 240 seconds]
ygrek has joined #ocaml
avsm has joined #ocaml
divyanshu has quit [Read error: Connection reset by peer]
zzing has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
yacks has quit [Ping timeout: 255 seconds]
Thooms has joined #ocaml
Yoric has joined #ocaml
nikki93 has quit [Remote host closed the connection]
nikki93 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
aurynj has quit [Ping timeout: 255 seconds]
q66 has joined #ocaml
rand000 has joined #ocaml
ikaros has joined #ocaml
yacks has joined #ocaml
divyanshu has joined #ocaml
Kakadu has joined #ocaml
maattdd has joined #ocaml
Hannibal_Smith has joined #ocaml
Simn has joined #ocaml
divyanshu has quit [Quit: Textual IRC Client: www.textualapp.com]
basus1 has quit [Ping timeout: 252 seconds]
basus1 has joined #ocaml
Thooms has quit [Read error: Operation timed out]
Enjolras has quit [Read error: Operation timed out]
Enjolras has joined #ocaml
Enjolras has quit [Changing host]
Enjolras has joined #ocaml
AltGr has quit [Ping timeout: 252 seconds]
AltGr has joined #ocaml
mk270 has quit [Read error: Operation timed out]
mk270 has joined #ocaml
thomasga has joined #ocaml
amiller has quit [Ping timeout: 240 seconds]
johnelse has joined #ocaml
amiller_ has joined #ocaml
lordkryss_ has joined #ocaml
jonludlam has joined #ocaml
Yoric has quit [Ping timeout: 245 seconds]
kerneis has quit [Quit: leaving]
kerneis has joined #ocaml
kerneis has quit [Client Quit]
kerneis has joined #ocaml
aurynj has joined #ocaml
sagotch has joined #ocaml
<sagotch> hi
<sagotch> does someone knows how to retrieve the whole matched string when encountering an `error` token in ocamlyacc/menhir ?
kerneis has quit [Quit: leaving]
kerneis has joined #ocaml
avsm has quit [Quit: Leaving.]
kerneis has quit [Client Quit]
kerneis has joined #ocaml
struktured has joined #ocaml
<ygrek> and my question : is there a way to output 1234567 as 1_234_567 using Printf module?
<sagotch> hum, I saw it before, but I would like to retreive the error information IN the parser.mly file
<ygrek> IN the parser can only be some parser state
<ygrek> hm, can't you do the same when processing error token?
<sagotch> documentation says that tokens are poped
<sagotch> I would like to keep that token list
<companion_cube> sagotch: in menhir there are special values like $startpos $endpos
<ygrek> there is parse_error function, but I do not know any further
<ygrek> seconding that, menhir is much more pleasant to work with
Yoric has joined #ocaml
avsm has joined #ocaml
sagotch has quit [Quit: Page closed]
ikaros has quit [Quit: Ex-Chat]
avsm has quit [Quit: Leaving.]
siddharthv_away is now known as siddharthv
aurynj has quit [Ping timeout: 252 seconds]
avsm has joined #ocaml
dsheets has joined #ocaml
malo has joined #ocaml
darkf has quit [Quit: Leaving]
_andre has joined #ocaml
Hannibal_Smith has quit [Ping timeout: 246 seconds]
divyanshu has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
Thooms has joined #ocaml
avsm has quit [Quit: Leaving.]
ggole has joined #ocaml
maattdd has quit [Ping timeout: 252 seconds]
<whitequark> is ulex not able of expressing this? http://stackoverflow.com/questions/6354964/ocamllex-syntax-error
<pippijn> whitequark: I didn't know about this feature until recently, when I was reading the ocamllex grammar specification
lunaryorn has joined #ocaml
<whitequark> pippijn: I actually needed it, to exclude whole Unicode classes.
<gasche> (foo | bar) would work, wouldn't it?
<whitequark> gasche: but I need to exclude them.
<gasche> oh, I see
<gasche> I missed the caret
<whitequark> [^"()" unicode_C unicode_Z] is what I have now
<whitequark> but that doesn't work
<gasche> interesting
<kerneis> is ulex still maintained?
<whitequark> last release in 2008
<kerneis> whitequark: anyway, adding support for # is a one-line patch
<kerneis> in pa_ulex.ml
<whitequark> yeah, figured it out already
<kerneis> probably worth sending an email to Alain, in case he still cares
<whitequark> yeah
<whitequark> hm. what exactly does # do in ocamllex?
<whitequark> A # B → A but not B ?..
siddharthv is now known as siddharthv_away
<kerneis> (difference of character sets) Regular expressions regexp1 and regexp2 must be character sets defined with [… ] (or a a single character expression or underscore _). Match the difference of the two specified character sets.
<pippijn> set difference
<kerneis> not that A and B are restricted to character sets
<kerneis> not any regexp
<whitequark> right. that's a bit more complex than an one-line patch
<pippijn> hehe
<thorsten`> is there a ocaml library that implements a shell-like repl interface (history, readline-support, tokenizing, quoting,..)?
<kerneis> yes, because you must handle the cases for [ ] and [^ ]
maattdd has joined #ocaml
<Drup> also, you have lot's of this stuff in lambda-term and zed
<Drup> but as a library
<kerneis> http://pauillac.inria.fr/~ddr/ledit/ can be used as a library iirc
<kerneis> (but it doesn't do all the quoting stuff etc. I guess)
<Drup> (and also, lambda-term is cool :p)
<thorsten`> Drup: cash more looks like a real shell. I'm looking for a command line interface to call ocaml functions only
<Drup> oh
<Drup> utop then
aurynj has joined #ocaml
<Drup> ("rlwrap ocaml" may be enough for you, but utop is nicer)
<thorsten`> Drup: well it should be for end-users
<def-lkb> thorsten`: I don't know the solution, but I am interested too
<kerneis> thorsten`: what are you trying to do exactly?
<Drup> I'm not sure to get what you want :/
<kerneis> expose an enhanced ocaml repl to users?
<kerneis> have deep control of it to tweak it for particular needs (DSL, etc.)?
<thorsten`> only simple commands "load that file", "do this kind of action on that file", "print me all elements.."
<thorsten`> this perl-library Term::Shell does exactly what i'm looking for: http://search.cpan.org/~shlomif/Term-Shell-0.05/lib/Term/Shell.pod -- but i need it for my ocaml project ;)
<adrien_oww> thorsten`: rlwrap, utop, lambda-term and something else I've forgotten about
<adrien_oww> erf
<Drup> oh, you want to use shell comands inside ocaml ?
<adrien_oww> not rlwrap but ledit of course
* adrien_oww catching up on backlog and now hiding
<thorsten`> Drup: no, just easy command-line-style access to all the functionality ;)
<Drup> oh, right
avsm has joined #ocaml
<Drup> cmdliner then
<Drup> (if I get what you want)
<Drup> (I'm a bit slow today)
<thorsten`> the name sounds primising
<ggole> I'd love a decent toplevel :(
<Drup> ggole: isn't utop decent enough ?
<ggole> Everything is rubbish compared to, say, slime
<ggole> Of course that's partly a language thing
<ggole> Eg, not having enough information to print constructor names
<whitequark> done!
<ggole> Or having no way to print (non-built in) sequences
<mk270> gday - i'm using oasis to build some libraries used in an executable, all in separate directories; i can access the supposedly "internal" modules of these libraries from outside - is that expected?
<ggole> And no real debugger support or backtraces
<ggole> And none of the nice stuff like , commands, the inspector, etc, etc
<Drup> ggole: you have backtraces, you just need to add the flag at compile time
<ggole> Not in the toplevel
<Drup> oh, maybe
<Drup> I don't use the toplevel all that much
<ggole> I have a makefile hack to make it slightly less tedious and workflow breaking (ie type the offending code into debugrun.ml, make debugrun, OCAMLRUNPARAM="b1" ./debugrun.byte)
<thorsten`> hm no, cmdliner just is a library for advanced command line argument parsing
<ggole> But that doesn't really compare favourably to "look at the screen, which is showing what you want"
<Drup> thorsten`: then I still don't get what you want :(
zpe has joined #ocaml
talzeus has quit [Remote host closed the connection]
avsm has quit [Ping timeout: 240 seconds]
shinnya has joined #ocaml
<thorsten`> exactly this: http://search.cpan.org/~shlomif/Term-Shell-0.05/lib/Term/Shell.pod -- the userinterface in the end should look like the ui of sql, gpg --edit-key, ...
<hcarty> mk270: I don't know if it's expected, but it is how the tool currently works. It's caused me trouble in a project with two libraries which share internal module names.
<mk270> hcarty: cheers
<Drup> mk270: there is a bug report about it, I think
<mk270> hcarty: i want to be able to split code across files
<mk270> without external programs/libs being able to get under the hood
<Drup> thorsten`: If you want to re implement a custom shell, then zed + lambda-term
<mk270> drup: thanks .. that's fairly bad news
<mk270> hcarty: do you mean "it's how oasis currently works"? or how something else in the toolchain does, e.g., ocamlbuild?
<Drup> it's oasis fault
<mk270> drup: thanks
<mk270> drup: so i can do this with lower-levels tools, but oasis is not using these tools the way i want?
<Drup> as far as I understand it, it's an installation issue,
<mk270> ok
<Drup> mk270: which version of oasis are you using ?
<hcarty> mk270: What Drup said :-)
<mk270> unknown option `--version'.
<Drup> drop the "--"
<mk270> v0.4.2
<mk270> drup: it was a joke
<Drup> you need the smileys ! :O
<mk270> no, they confuse bash
<hcarty> mk270: Packing your libraries should hide internal modules. Unfortunately that doesn't seem to work within a single _oasis file.
<Drup> try to update it, it may be solved in a more recent version
<Drup> not sure, should ask jpdeplaix about that
<mk270> hcarty: ah ok - my code is already split up into directories - i could deepen the split and make a separate _oasis for each
<mk270> ... but then i'd have to install the packed modules somewhere, i guess, during the build?
<mk270> this i
<mk270> this all seems like a mess
<whitequark> opam is really cool. all I needed was to do opam pin ulex git://github.com/whitequark/ulex
<hcarty> Drup: Do you have a link to the bug report? I searched through the bugs reported on the forge but didn't find anything
<Drup> hcarty: I don't find it anymore
avsm has joined #ocaml
<whitequark> kerneis: hm, does ocamllex have a way to concatenate two regexps as well?
<whitequark> er, not concatenate
<whitequark> make a union
<Drup> whitequark: union is just |
<whitequark> Drup: that won't work if I want to subtract that regexp from something else
<Drup> that's not an union then :D
<ggole> There's no difference operation afaik
<whitequark> no. I mean I can't do foo # (bar | baz)
<whitequark> ggole: there is, #, and I just reimplemented it for ocamllex
<Drup> you could do (foo # bar) # baz
<ggole> Oh, really?
<ggole> Never mind then.
<whitequark> ggole: er, s,ocamllex,ulex, in last message
<whitequark> ocamllex has it already
<jpdeplaix> mk270, Drup: InternalModules should work as expected with this version
<jpdeplaix> (or maybe I didn't understand your question
<jpdeplaix> )
<Drup> jpdeplaix: the bug was fixed in 0.4.3 ?
<Drup> (their was a bug previously, right ?)
<Drup> there*
<jpdeplaix> mk270: mmmh oh. You have several libraries and you don't want to access to the internal modules ?
<jpdeplaix> Drup: nope.
<jpdeplaix> there were no bugs
<Drup> huum
<Drup> weird
<jpdeplaix> but the remaining tyxml « bug » can only be fixed with the subdirectories feature
<Drup> oh, right
<Drup> that was not a internal modules issue, but a "everything end up in the same directory" issue
<Drup> my bad
<jpdeplaix> mk270: if you want to do that, this can be a fix: https://github.com/Cumulus/Cumulus/blob/master/_tags#L65
<jpdeplaix> (so there is tree libraries and I restrict the access of one of the library with « -use-db » where db is the library name)
<mk270> jdeplaix: thanks for answering - reading your stuff now! :)
lunaryorn has quit [Ping timeout: 264 seconds]
<kerneis> whitequark: http://caml.inria.fr/pub/docs/manual-ocaml-400/manual026.html#regexp for a full reference of ocamlex regexps
<mk270> jdeplaix: i'm not sure this is what i want :)
avsm has quit [Quit: Leaving.]
<whitequark> kerneis: already looked at source
<mk270> jdeplaix: https://github.com/mk270/archipelago/blob/master/_oasis <-- i want each Library's modules to be inaccessible outside
<Drup> thorsten`: was zed+lambda-term what you are looking for ? it's a bit overkill I think but you should find in the example something similar to what you want (I think)
<mk270> when i add InternalModules to the _oasis file for the first library, it doesn't stop other libraries and exes in the _oasis file from accessing those modules
<Drup> mk270: are all those in the same directory ?
<Drup> if yes, it's normal
lunaryorn has joined #ocaml
<mk270> drup: all in separate subdirs: src/{lib1,lib2,lib3,exe}
divyanshu has quit [Quit: Textual IRC Client: www.textualapp.com]
<Drup> huum, I think that's normal
<mk270> what's normal: the behaviour i want, or the behaviour i'm getting? :)
<thorsten`> zed really looks overkill.. but it doesn't build here (the makefile calls some .exe files..)
<Drup> mk270: the behaviour you are getting
<mk270> which is to expose the internal modules, such that they can be called from outside
<mk270> how do i get the behaviour i want (and what are the advantages of the currentl, normal, behaviour?)
<Drup> mk270: not "outside" just "in the libraries defined wiht it"
<mk270> what does "defined with it" mean?
<Drup> in the same oasis
<mk270> oh good lord
<mk270> seriously, can oasis not build independent libraries?
<mk270> do i have to have one _oasis per library?
<Drup> :/
<Drup> thorsten`: you need oasis installed for the dev version
<Drup> thorsten`: https://github.com/diml/lambda-term/blob/master/examples/shell.ml here is the example you might find intesresting
lordkryss_ has quit [Quit: Connection closed for inactivity]
johnelse has quit [Quit: leaving]
johnelse has joined #ocaml
johnelse has quit [Client Quit]
johnelse has joined #ocaml
<hcarty> mk270: I think it's safe to say that this is a bug in oasis
<mk270> hcarty: :(
<thorsten`> Drup: hm i'm trying things later.. I have to leave now
<mk270> hcarty: how are people getting anything done, then?
yacks has quit [Ping timeout: 255 seconds]
<jpdeplaix> hcarty: no it's not really a bug. It's something hard to do
<jpdeplaix> mk270: note also that my pseduo is « jpdeplaix » not « jdeplaix »
<jpdeplaix> pseudo*
<gasche> (nickname)
<jpdeplaix> (I haven't seen your answers because of that)
<mk270> jpdeplaix: sorry for any misspelling!
<jpdeplaix> right
<mk270> ah!
appleby has joined #ocaml
appleby has quit [Client Quit]
<hcarty> jpdeplaix: Ah, I apologize - I just submitted a bug before reading your response
<hcarty> jpdeplaix: Is there a workaround from within oasis?
divyanshu has joined #ocaml
Thooms has quit [Quit: WeeChat 0.3.8]
tristero has joined #ocaml
ygrek has joined #ocaml
tristero has quit [Quit: tristero]
aurynj has quit [Ping timeout: 240 seconds]
tristero has joined #ocaml
avsm has joined #ocaml
talzeus has joined #ocaml
yacks has joined #ocaml
avsm has quit [Ping timeout: 245 seconds]
talzeus_ has joined #ocaml
talzeus has quit [Ping timeout: 240 seconds]
nikki93 has joined #ocaml
saml has joined #ocaml
avsm has joined #ocaml
mort___ has joined #ocaml
avsm has quit [Quit: Leaving.]
Hannibal_Smith has joined #ocaml
<orbitz> Is there a good implementation of a sorted associative datastructure that provides an iterator for walking in in a sorted fashion? Preferabbly reasonably performant
<companion_cube> you mean, Map ?
aurynj has joined #ocaml
<orbitz> does that provide an iterator?
<orbitz> I effectively want "find me the first key to match this value" "find me the next key after this value" in sorted order
<companion_cube> orbitz: does a fold function match your definition of "iterator"?
<orbitz> no
<orbitz> since I have to fold over th whole thing
<companion_cube> there is Map.split
<companion_cube> otherwise if you can use Batteries, it contains Map.enum to really iterate
<orbitz> Hrm, might work
tlockney_away is now known as tlockney
<orbitz> thomasga: thanks, that might
<orbitz> Although I don't want a min i guess
<orbitz> or max, whatever
<orbitz> ohh, next_key might work
Eyyub has joined #ocaml
mort___ has quit [Remote host closed the connection]
<gasche> orbitz: note that folding is likely to be more efficient than repeated next_key application
<gasche> (unless Core somehow caches next_key for repeated usage, but I assume that would be documented)
lostcuaz has joined #ocaml
<companion_cube> "stoppable" folds would be interesting
nikki93 has quit [Remote host closed the connection]
<Drup> I would just use split + fold
<orbitz> my specific use case is I want to be able to iterate over a chunk of a map but the chunks size is not nkown up front
<orbitz> For example, teh C++ map has an interface where you say "start here and give me back something I can call 'next' on"
angerman has quit [Quit: Gone]
<smondet> orbitz: it may be a bit dirty-ish but with Lwt_condition and `fold` you can build that "stoppable fold"
shinnya has quit [Ping timeout: 255 seconds]
<gasche> next_key is certainly faster than *that* :p
<companion_cube> fold_stop : ('a -> key -> 'b -> [`Continue | `Stop] * 'a) -> 'a -> 'b Map.t -> 'a
<companion_cube> that would be neat
<gasche> yeah, we don't have enough contenders for the perfect enumeration interface yet
<Drup> Sequence :D
<companion_cube> gasche: ;)
<companion_cube> you need several interfaces, that's all
<gasche> possibly
mort___ has joined #ocaml
<gasche> but note that your fold_stop can trivially be achieved with fold and an exception
<companion_cube> this is just a glorified Sequence.t
<companion_cube> yes
<gasche> orbitz: if you expect to fold over a *small* number of values, next_key iteration is probably best
nikki93 has joined #ocaml
<gasche> if you expect to fold over an arbitrary number of value, split then fold would be best
lunaryorn has quit []
mort___ has quit [Ping timeout: 252 seconds]
Hannibal_Smith has quit [Read error: Connection reset by peer]
jonludlam has quit [Ping timeout: 268 seconds]
Hannibal_Smith has joined #ocaml
<ggole> You could do an "applicative for loop" for folds
<companion_cube> what would that be?
<ggole> Something like, say, for x = init, elt in List.iter | loop (f elt x) | x
<ggole> Where loop denotes recursion with arguments
<ggole> The | x is how to handle end of iteration
<ggole> And if you want to stop, just don't call loop.
<companion_cube> I prefer the stoppable fold :p
<companion_cube> it's easier to implement
<ggole> It's pretty obvious sugar for a recursive function, really
<companion_cube> sugar is bad for your teeth :p
<ggole> (The main benefit is that you could make it trivial to iterate over multiple things without having to write fold2s for them.)
<ggole> And for stoppable folds you have to come up with a protocol for stopping and returning a value
<ggole> You end up with silly explicit booleans and it isn't very readable.
jonludlam has joined #ocaml
<companion_cube> no, read what I wrote, variants are good for this
avsm has joined #ocaml
<ggole> That's just booleans with names.
<companion_cube> sure, but that's readable
<ggole> (Probably a better choice than true/false, though.)
Ptival has left #ocaml []
avsm has quit [Ping timeout: 246 seconds]
angerman has joined #ocaml
Yoric has quit [Ping timeout: 240 seconds]
ollehar has quit [Ping timeout: 265 seconds]
Simn has quit [Ping timeout: 246 seconds]
Simn has joined #ocaml
<orbitz> gasche: the size of teh map will be large but the number of items taken per-go will be small
tane has joined #ocaml
<mrvn> ggole: raise (Result x)
thomasga1 has joined #ocaml
jwatzman|work has joined #ocaml
thomasga has quit [Ping timeout: 245 seconds]
<ggole> That's even worse: you have to write the try, the raise, and define the exception (oops, no inference for that, and I hope the return value isn't polymorphic). None of which have much to do with iteration.
lostcuaz has quit [Ping timeout: 265 seconds]
Eyyub has quit [Ping timeout: 268 seconds]
lostcuaz has joined #ocaml
nikki93 has quit [Remote host closed the connection]
avsm has joined #ocaml
nikki93 has joined #ocaml
avsm has quit [Ping timeout: 240 seconds]
angerman has quit [Quit: Bye]
angerman has joined #ocaml
AltGr has left #ocaml []
lopho has quit [Quit: Leaving]
Kakadu has quit [Ping timeout: 245 seconds]
S11001001 has joined #ocaml
S11001001 has quit [Changing host]
S11001001 has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
appleby has joined #ocaml
zpe has quit [Ping timeout: 246 seconds]
Yoric has joined #ocaml
jonludlam has quit [Remote host closed the connection]
Yoric has quit [Ping timeout: 246 seconds]
appleby has quit [Ping timeout: 252 seconds]
appleby has joined #ocaml
yacks has quit [Remote host closed the connection]
angerman has quit [Quit: Gone]
appleby has quit [Quit: appleby]
WraithM has joined #ocaml
S11001001 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
nikki93 has quit [Remote host closed the connection]
angerman has joined #ocaml
Hannibal_Smith has quit [Quit: Sto andando via]
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 255 seconds]
appleby has joined #ocaml
Kakadu has joined #ocaml
angerman has quit [Quit: Gone]
zpe has joined #ocaml
thomasga1 has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 255 seconds]
Thooms has joined #ocaml
appleby has quit [Quit: appleby]
willy_ has joined #ocaml
angerman has joined #ocaml
divyanshu has quit [Quit: Computer has gone to sleep.]
<jpdeplaix> hcarty: with ocamlbuild maybe. I think you can play with directories and include directive (as sylvain pointed)
nikki93 has joined #ocaml
maattdd has quit [Ping timeout: 252 seconds]
ygrek has quit [Ping timeout: 264 seconds]
alex_nx_ has quit [Ping timeout: 252 seconds]
amiller_ has quit [Ping timeout: 265 seconds]
smondet has quit [Ping timeout: 255 seconds]
tlockney is now known as tlockney_away
nikki93 has quit [Remote host closed the connection]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
tlockney_away is now known as tlockney
zpe has quit [Ping timeout: 268 seconds]
claudiuc has joined #ocaml
tlockney is now known as tlockney_away
<hcarty> jpdeplaix: I'll take a look. Hopefully there is a reasonably simple way to acheive this.
mort___ has joined #ocaml
tlockney_away is now known as tlockney
tristan__ has left #ocaml []
jonludlam has joined #ocaml
maattdd has joined #ocaml
claudiuc has quit [Read error: Connection reset by peer]
claudiuc_ has joined #ocaml
claudiuc has joined #ocaml
S11001001 has joined #ocaml
claudiu__ has joined #ocaml
claudiuc_ has quit [Ping timeout: 265 seconds]
maattdd has quit [Ping timeout: 240 seconds]
S11001001 has quit [Changing host]
S11001001 has joined #ocaml
smondet has joined #ocaml
claudiuc has quit [Ping timeout: 265 seconds]
alex_nx has joined #ocaml
smondet has quit [Ping timeout: 240 seconds]
smondet has joined #ocaml
Guest43376 has joined #ocaml
ddosia has joined #ocaml
lostcuaz has quit [Ping timeout: 264 seconds]
lostcuaz has joined #ocaml
lostcuaz has quit [Read error: Connection reset by peer]
lostcuaz has joined #ocaml
lostcuaz has quit [Read error: Connection reset by peer]
mort___ has quit [Quit: Leaving.]
lostcuaz has joined #ocaml
lostcuaz has quit [Read error: Connection reset by peer]
lostcuaz has joined #ocaml
araujo has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 252 seconds]
Yoric has joined #ocaml
nikki93 has joined #ocaml
bjorkintosh has quit [Ping timeout: 265 seconds]
ggole has quit []
shinnya has joined #ocaml
Yoric has quit [Ping timeout: 264 seconds]
claudiuc has joined #ocaml
Yoric has joined #ocaml
claudiu__ has quit [Ping timeout: 265 seconds]
bjkeller has joined #ocaml
maattdd has joined #ocaml
<mk270> hcarty: thanks - is it actually a missing feature in ocamlbuild too?
maattdd has quit [Ping timeout: 265 seconds]
ollehar has joined #ocaml
claudiuc_ has joined #ocaml
vpit3833 has quit [Ping timeout: 240 seconds]
Guest43376 is now known as amiller
amiller has quit [Changing host]
amiller has joined #ocaml
thomasga has joined #ocaml
claudiuc has quit [Ping timeout: 265 seconds]
nikki93 has quit [Remote host closed the connection]
dsheets has joined #ocaml
_andre has quit [Quit: leaving]
Don_Pellegrino has joined #ocaml
nikki93 has joined #ocaml
appleby has joined #ocaml
WraithM has quit [Read error: Connection reset by peer]
WraithM has joined #ocaml
Armael has quit [Ping timeout: 246 seconds]
bjorkintosh has joined #ocaml
Armael has joined #ocaml
axiles has quit [Remote host closed the connection]
jwatzman|work has quit [Quit: jwatzman|work]
appleby has quit [Quit: appleby]
maattdd has joined #ocaml
tane has quit [Quit: Verlassend]
Yoric has quit [Ping timeout: 246 seconds]
jwatzman|work has joined #ocaml
jwatzman|work has quit [Changing host]
jwatzman|work has joined #ocaml
angerman has quit [Quit: Gone]
jwatzman|work has quit [Quit: jwatzman|work]
<ousado> hi all. I'm looking at extlib PMap.iter - the docs say "The order in which the bindings are passed to f is unspecified" - and I don't see how that could be the case
<Drup> ?
<ousado> iter does in-order traversal, it's a binary search tree.
<Drup> "unspecified" doesn't mean there is no order
<Drup> it means that you are not supposed to rely on it, because it could possibly change between minor versions
<ousado> true
<ousado> it's used in the haxe compiler to represent anon types (like records) and I remember having had issues, because the order of fields for the same anon type was different
<ousado> for several instances of that type
<ousado> and now I'm starting to think I'm insane
<ousado> that code hasn't changed for 8 years.
manizzle has joined #ocaml
Yoric has joined #ocaml
michael_lee has quit [Remote host closed the connection]
keen__ has joined #ocaml
keen_ has quit [Ping timeout: 265 seconds]
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
malo has quit [Ping timeout: 255 seconds]
gn00ber2 has quit [Quit: Nettalk6 - www.ntalk.de]
willy_ has quit [Ping timeout: 245 seconds]
q66 has quit [Ping timeout: 252 seconds]
q66 has joined #ocaml
Thooms has quit [Ping timeout: 265 seconds]
thomasga has quit [Quit: Leaving.]
malo has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
malo has quit [Quit: Leaving]
bjkeller has quit []
Don_Pellegrino has quit [Ping timeout: 240 seconds]
Yoric has quit [Ping timeout: 240 seconds]
Don_Pellegrino has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
rand000 has quit [Quit: leaving]
inr has quit [Ping timeout: 245 seconds]
tlockney is now known as tlockney_away
jwatzman|work has joined #ocaml
inr has joined #ocaml
madroach has quit [Ping timeout: 252 seconds]
lostcuaz has joined #ocaml
Don_Pellegrino has quit [Remote host closed the connection]
madroach has joined #ocaml
Don_Pellegrino has joined #ocaml
jonludlam has quit [Ping timeout: 240 seconds]
NoNNaN has quit [Remote host closed the connection]
thomasga has joined #ocaml
NoNNaN has joined #ocaml
thomasga has quit [Ping timeout: 240 seconds]
darkf has joined #ocaml