<wmeyer`>
adrien: please let me know, when you are around
wmeyer` is now known as wmeyer
<adrien_>
wmeyer: I am now but I'm going to bed right now
<adrien_>
I'd like to take chambart's comment into account and otherwise give up merging for the next release
<adrien_>
however I'd like to have them reviewed, especially the trickest ones
<adrien_>
that way it'd be possible to say "these patches will work but they also introduce such issues"
<wmeyer>
adrien_: you tomorrow morning?
<adrien_>
I'd like to have some sleep but yeah
<wmeyer>
yes get enough sleep! tomorrow will be cross patches day :D
<wmeyer>
neh, joking, get a rest =) and when you ready let's try commit rest of them
<adrien_>
what bothers me is that the current patch (the one that depends on ocamlbuild_no_boot), well, depends on ocamlbuild_no_boot
<adrien_>
not sure how to do it without
LimitSupremum has joined #ocaml
<wmeyer>
write on bugtracker what you want, and i might be able to fix it
<adrien_>
merged ocamlbuild_noboot :D
<wmeyer>
OK, you mean "working ocamlbuild_noboot"
<mrvn>
Args, how do I build 2 types where each has an array of the other type?
rpenguin has joined #ocaml
<mrvn>
I don't want to use mutables there since they are static after construction.
<LimitSupremum>
I apologize if this question is too beginnery to be appropriate here. Has anyone else encountered problems using Str? OCaml version 4.00.1 # open Str;; # let a = regexp "foo";; Error: Reference to undefined global `Str'
rpenguin has left #ocaml []
<adrien_>
"open" is not the way you load additional libraries
<adrien_>
you merely bring the values into scope instead of having to call them as "Str.regexp"
wormphlegm has joined #ocaml
<LimitSupremum>
that failed too
<adrien_>
how did you install ocaml?
<LimitSupremum>
with the same error
<wmeyer>
run with: ocaml str.cma
<LimitSupremum>
ocaml dmg off the inria site
<adrien_>
ok, so either as wmeyer said, or when inside the toplevel, type: load "str.cma";;
<adrien_>
erf
<adrien_>
#load "str.cma";;
<mrvn>
# #require "str";;
<mrvn>
/usr/lib/ocaml/str.cma: loaded
<mrvn>
# let a = regexp "foo";;
<mrvn>
val a : Str.regexp = <abstr>
<mrvn>
findlib rules
<adrien_>
and that is with ocamlfind support but I doubt the dmg has it unfortunately
<mrvn>
Debians ocaml has
<LimitSupremum>
I don't need to do that for Complex or String
<adrien_>
wmeyer: well, if it were merged, I wouldn't have to "if" in the makefile (you know, the basic control structure that is not standard and is incompatible between gnu and msd makes)
<LimitSupremum>
it also "recognizes" regexp as belonging to the Str module after I've opened it
<adrien_>
LimitSupremum: Str is a separate library
<LimitSupremum>
ah
<adrien_>
it's shipped with the compiler but it's still a separate one
<adrien_>
same applies to Num, Graphics, labltk, Unix and a couple others
<adrien_>
going to bed, good night
<mrvn>
LimitSupremum: the error is indeed odd
<mrvn>
# open Unix;;
<mrvn>
# open FooBar;;
<mrvn>
Error: Unbound module FooBar
<mrvn>
Why does it know Unix but not FooBar? Must be some .mli file accidently being in the default search path.
<LimitSupremum>
that's why I was confused. it "knows" something about libraries and modules that need to be loaded specially but doesn't load them.
csakatoku has quit [Remote host closed the connection]
zRecursive has left #ocaml []
gnuvince has joined #ocaml
gnuvince has quit [Changing host]
gnuvince has joined #ocaml
csakatoku has joined #ocaml
breakds has quit [Remote host closed the connection]
ben_zen has quit [Quit: leaving]
introom has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
fantasticsid has joined #ocaml
csakatoku has quit [Remote host closed the connection]
gnuvince has quit [Remote host closed the connection]
fantasticsid has quit [Remote host closed the connection]
wks has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
wks has quit [Client Quit]
wks has joined #ocaml
yacks has quit [Ping timeout: 245 seconds]
yacks has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 248 seconds]
wks has left #ocaml []
ggole has joined #ocaml
<wmeyer>
morning
<ggole>
o/
Neros has joined #ocaml
zRecursive has joined #ocaml
xaimus has joined #ocaml
<wmeyer>
\o
xaimus has quit [Quit: leaving]
zRecursive has left #ocaml []
csakatoku has joined #ocaml
<gasche>
mrvn: .mli is not implementation source, it is a user-readable presentation of the module's interface, often with documentation
<gasche>
so it's actually very useful to have it distributed to the end-user
ygrek has joined #ocaml
<gasche>
(looking at a .mli you (or ocamlfind) know(s) where to find is often easier that browsing the web for a ocamldoc rendering of it)
<gasche>
ygrek: I had a question for you about backtrace collection
<gasche>
I know you worked on gdb+ocaml
<gasche>
independently from the DWARF thing Mark Shinwell is working on, do you have any use of the trunk feature to expose the callstack at any point of the program?
csakatoku has quit [Ping timeout: 276 seconds]
yacks has quit [Quit: Leaving]
<ygrek>
gasche, actually what I did was a very basic "DWARF thing" and I think now Mark does it in a more thorough and extended and useful way
<wmeyer>
hi ygrek gasche
<ygrek>
wmeyer :)
hyperbor1ean is now known as hyperboreean
<wmeyer>
morning :)
pkrnj has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Remote host closed the connection]
introom has quit [Remote host closed the connection]
wmeyer has quit [Remote host closed the connection]
csakatoku has quit [Remote host closed the connection]
avsm has quit [Quit: Leaving.]
<mrvn>
Does ocaml have something to check the type equality of 2 GADTs? Basically: let eq : (type a) . (type b) . a foo -> b bar -> bool : fun x y -> a = b
wmeyer has joined #ocaml
<wmeyer>
adrien_: adrien_oww : ping
<adrien_>
wmeyer: pong
<whitequark>
mrvn: I don't think so. type and value namespaces are distinct, so you never can perform operations on types
<adrien_>
I need a few minutes to commit something (wasted my time tweaking some code)
avsm has joined #ocaml
<wmeyer>
did you have a look adrien_ at the cross patches?
<wmeyer>
adrien_: Ok
<whitequark>
mrvn: that's a pity indeed. what do you want that for?
mye has joined #ocaml
<mrvn>
let f : type a . a Foo -> box -> a = fun key box -> let Box val = nox in match (key, val) with | (Foo1, Bla1 x) -> x | (Foo2, Bla2 x) -> x | (Foo3, Bla3 x) -> x | (Foo4, Bla4 x) -> x ...
<mrvn>
whitequark: I'm tired of typing all those types every time.
<mrvn>
all those constructors
<whitequark>
mrvn: I don't quite understand what you want, but if you're tired of typing, can't you use camlp4 in some creative way?
<adrien_>
so
<adrien_>
oh, cool, ocaml trunk has a way to inspect the callstack :-)
<adrien_>
should be nice to get the name of the current function and use it in error message
<adrien_>
s
introom has quit [Remote host closed the connection]
<mrvn>
adrien_: yes, a __FUNCTION__ would be nice and __MODULE__
<adrien_>
well, these are preprocessor-stuff while this support is at runtime (meaning you need to make sure you keep debug infos) but it's better than nothing :-)
<whitequark>
I'm pretty sure that native binaries on most OSes achieve this by reading/interpreting debug info at runtime, yeah
<whitequark>
so itanium abi includes/refers to a part of the DWARF spec
<ggole>
It'd be nice to be able to write assert for yourself
<whitequark>
ggole: I'm pretty sure you already can, with camlp4 and a really simple extension?
<adrien_>
wmeyer: well, I need to try: maybe I don't need ocamlbuild_noboot; maybe I just need to freshen the content of boot/
* ggole
has a look
<whitequark>
it totally isn't obvious but I lurked in various sources for a while and that helps
Nahra has quit [Quit: Lost terminal]
<ggole>
Totally isn't obvious is a bit of an understatement
ousado has quit [Ping timeout: 248 seconds]
csakatoku has joined #ocaml
<mrvn>
I have events tagged with a timestamp. Now I need a container where I can add new events to the front (always a greater timestamp) and iterate/fold over all events older than a timestamp newest to oldest. Any ideas for an existing container that would work well for this?
<mrvn>
s/greater/greater or equal/
<Drup>
you need O(1) cons ?
<mrvn>
I doubt that is possible. But O(log n) for cons and iter would be nice
<Drup>
binary tree then
<Drup>
the standard Set module, with a clever use of split, will probably be enough.
<mrvn>
How slow is split()?
<Drup>
I didn't look at the implementation, but it should be in log
<mrvn>
Drup: It has to split the tree in two and then rebalance.
<mrvn>
Can it do that by only rebalancing once per level?
<Drup>
mrvn: look at the implem ;)
<ggole>
Eh, I give up. Beating my head against this thing is a waste of time.
<adrien_>
wmeyer: ggole you're trying to build a syntax extension? have you checked oasis?
<mrvn>
I was hoping BarMap might have an S.enum_from key -> elt -> t -> elt BatEnum.t
<mrvn>
Nut no. :(
<adrien_>
wmeyer: I don't understand: it works
<Drup>
mrvn: implement it, It shouldn't be really hard ...
<mrvn>
Drup: Would be easier if the underlying tree structure where available as module.
mcclurmc has quit [Quit: Leaving.]
mcclurmc has joined #ocaml
<adrien_>
wmeyer: going to the swimming pool, I'll be away fro 2-3 hours; I'll continue when I get back but for now I don't understand why this ha failed
<adrien_>
I don't understand either why I needed ocamlbuild_noboot
<adrien_>
but that was maybe for a latter patch
<mrvn>
Would be nice to have a water proof, self floating tablet for the pool.
<adrien_>
thought so but when I swim, I can't even count up to 25 so ocaml might be above what I can do :P
ousado has joined #ocaml
<mrvn>
adrien_: That would be more for floating than for active swimming
mcclurmc has quit [Quit: Leaving.]
<adrien_>
and you could use it in the bathtub
<wmeyer>
adrien_: take your time, there is no rush, it's already good, you are working on this
<ggole>
whitequark: figured it out: ppopt needs to be pp (why?), and all of your pathnames were wrong for my little test case (fair enough)
<ggole>
That is a remarkable amount of makework to run a preprocessor :/
<whitequark>
ggole: hmmm, I'm pretty sure it has to be ppopt... at least it works for me that way
<whitequark>
did you use syntax(camlp4o) ?
<ggole>
ppopt just fails with a "does not understand that option" message
<ggole>
I don't know what that is
<adrien_>
wmeyer: hmm, is the mingw slave still working?
<adrien_>
I mean: it hasn't found any error recently?
<whitequark>
ggole: in _tags for your ml file
<whitequark>
I have <**/*.{ml,mli,mly*}>: use_utf8str, syntax(camlp4o)
<adrien_>
well, have to go but I have a strange error
<ggole>
"test.ml": camlp4o, use_utf8str
<whitequark>
oh "camlp4o". yeah I said that, sorry was wrong
<whitequark>
I have syntax(camlp4o).
<ggole>
Hmm
<ggole>
Let me try that
<ggole>
Warning: tag "syntax" does not expect a parameter, but is used with parameter "camlp4o"
<ggole>
No error for ppopt though
<whitequark>
that is really weird
<whitequark>
do you -use-ocamlfind ?
<ggole>
No
<ggole>
I shouldn't need to, right? Everything is right there in the same directory
<ggole>
(Since it is just a test)
<whitequark>
well, dunno
<whitequark>
I use it
<ggole>
Um
<ggole>
I get an executable. How can I tell if it is working or not?
<ggole>
(The syntax extension, not the executable)
<ggole>
Also, I appreciate you taking the time to hold my hand :)
<whitequark>
what did you use in the extension? just my code?
<ggole>
Yep
<whitequark>
put a string somewhere inside
<ggole>
I did
<ggole>
"foo\001"
<whitequark>
did you also add an Unicode module?
<ggole>
No
<whitequark>
then the extension doesn't work
<ggole>
...hmm
<whitequark>
since it would require Unicode.adopt_utf8s
<ggole>
Back to the drawing board then
avsm has joined #ocaml
avsm has quit [Quit: Leaving.]
tane has joined #ocaml
clog has quit [^C]
clog has joined #ocaml
ollehar has joined #ocaml
<mrvn>
When I apply I functor I get a type "type t = Event_list(Star_event).t". Is there a way to make that abstract?
<mrvn>
It's abstract in the signature of the functor.
<ggole>
Well, throwing ocamlbuild out and typing the commands myself worked.
breakds has joined #ocaml
<mrvn>
ggole: have you tries oasis?
<ggole>
No, changing build tools in the middle of learning something else sounds like a disaster waiting to happen
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<mrvn>
take a look at it sometimes later.
<gasche>
the right way to use a syntax extension with ocamlbuild is
<wmeyer>
it's for you :-) Damien shows how to avoid ifs
<adrien_>
ah, nice, thanks :-)
<adrien_>
for now I hope I might avoid the need for conditional stuff; I'll see how it goes with the other patches
<adrien_>
ah, cool, I think I have the error again
darkf has quit [Quit: Leaving]
oriba has quit [Quit: oriba]
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 248 seconds]
wmeyer has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 260 seconds]
tobiasBora has quit [Quit: Konversation terminated!]
pkrnj has joined #ocaml
<adrien_>
wmeyer!!!!!! ='(
yacks has joined #ocaml
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 248 seconds]
ollehar has quit [Ping timeout: 264 seconds]
ggole has quit [Ping timeout: 245 seconds]
breakds has quit [*.net *.split]
Drup has quit [*.net *.split]
Simn has quit [*.net *.split]
tianon has quit [*.net *.split]
ccasin has quit [*.net *.split]
ggherdov has quit [*.net *.split]
IbnFirnas has quit [*.net *.split]
Leonidas has quit [*.net *.split]
flux has quit [*.net *.split]
Ptival has quit [*.net *.split]
zzz_ has quit [*.net *.split]
Leonidas has joined #ocaml
ccasin has joined #ocaml
Ptival has joined #ocaml
flux has joined #ocaml
Drup has joined #ocaml
Simn has joined #ocaml
ollehar has joined #ocaml
ggherdov has joined #ocaml
tianon has joined #ocaml
dsheets has quit [Excess Flood]
tianon has quit [Changing host]
tianon has joined #ocaml
wmeyer has joined #ocaml
dsheets has joined #ocaml
zzz_ has joined #ocaml
<wmeyer>
hi
<wmeyer>
adrien_: lost my connection
<adrien_>
:-)
<adrien_>
actually I think I found my issues :-)
<adrien_>
pretty stupid ones
<wmeyer>
ok, what are the issues?
<adrien_>
for the patch that makes ocamlbuild, ocamldoc, the debugger optional, I renamed the variable that is named CAMLP4 and is either "camlp4" (camlp4 build enabled) or "" (camlp4 build disabled)
<adrien_>
I renamed the variable to WITH_CAMLP4
<adrien_>
forgot to update some place
<adrien_>
s
<adrien_>
same with WITH_OCAMLBUILD ><
<adrien_>
but this means that building without camlp4 might be broken
ben_zen has joined #ocaml
<wmeyer>
please test your patches thouroughly adrien_ before submitting them
<wmeyer>
yes, testing it might be very difficult, but we need to do our best
olasd_ has joined #ocaml
<wmeyer>
let's commit the patches when you are confident that it's OK
ollehar1 has joined #ocaml
Derander has joined #ocaml
pr has joined #ocaml
pr has quit [Changing host]
pr has joined #ocaml
talzeus_ has joined #ocaml
ollehar has quit [*.net *.split]
Nahra has quit [*.net *.split]
olasd has quit [*.net *.split]
Derander_ has quit [*.net *.split]
talzeus has quit [*.net *.split]
hyperboreean has quit [*.net *.split]
adrien_ has quit [*.net *.split]
pr_ has quit [*.net *.split]
tchell has quit [*.net *.split]
tlockney has quit [*.net *.split]
jpdeplaix has quit [*.net *.split]
tlockney has joined #ocaml
tchell has joined #ocaml
adrien has joined #ocaml
<avsm>
wmeyer: adrien: i can set you up some temporary VMs on rackspace if you want
<avsm>
for all the random linux variants, its quite convenient
<wmeyer>
that would be good avsm, I don't want to commit anything that breaks the tests at the moment on inria ci, because fixing that might take time when not done by me
<wmeyer>
linux and bsd, if it's possible
<wmeyer>
for bsd i think adrien could use the mac os x host
<avsm>
email me; i'll do it at work tomorrow.
osnr has quit [Quit: Leaving.]
<avsm>
(i'm travelling to OSCON, so I'm quite spotty on connectivity)
iZsh has quit [Excess Flood]
<wmeyer>
ok, thanks :-)
<avsm>
also include an SSH public key
iZsh has joined #ocaml
<wmeyer>
OK
<wmeyer>
are you attending the agda course?
olasd_ is now known as olasd
ollehar has joined #ocaml
davekong_ has joined #ocaml
shinnya_ has joined #ocaml
Asmadeus_ has joined #ocaml
hyperboreean has joined #ocaml
so has quit [Ping timeout: 268 seconds]
ollehar1 has quit [Ping timeout: 264 seconds]
davekong has quit [Ping timeout: 264 seconds]
shinnya has quit [Ping timeout: 264 seconds]
davekong_ is now known as davekong
hyperbor1ean has quit [Ping timeout: 264 seconds]
xenocons has quit [Ping timeout: 264 seconds]
Nahra_ has quit [*.net *.split]
zzz_ has quit [*.net *.split]
tianon has quit [*.net *.split]
mehdid has quit [*.net *.split]
Asmadeus has quit [*.net *.split]
tianon has joined #ocaml
zzz_ has joined #ocaml
xenocons has joined #ocaml
ousado_ has joined #ocaml
ousado has quit [Remote host closed the connection]
ohama has quit [Disconnected by services]
adrien_ has joined #ocaml
ohama has joined #ocaml
q66 has quit [Excess Flood]
q66 has joined #ocaml
orbitz has quit [Write error: Broken pipe]
adrien has quit [Remote host closed the connection]
bitbckt has quit [Ping timeout: 240 seconds]
bitbckt_ has joined #ocaml
bitbckt_ is now known as bitbckt
bitbckt has quit [Changing host]
bitbckt has joined #ocaml
tane has quit [Excess Flood]
zzz_ has quit [Write error: Broken pipe]
zzz_ has joined #ocaml
<adrien_>
wmeyer: is fastworld.sh still "supported"?
tane has joined #ocaml
Zeev has quit [Ping timeout: 264 seconds]
so has joined #ocaml
<adrien_>
and related question
<adrien_>
does anyone use it?
mehdid has joined #ocaml
<gasche>
adrien_: last time I used it, I had to fix some stuff in some ocamlbuild description files
<wmeyer>
adrien_: in theory yes, in reality we don't care
<gasche>
(fixes which I did not commit upstream for another reason)
<wmeyer>
the goal is to remove this
ulfdoz has joined #ocaml
<wmeyer>
gasche: if you can make it to work, it's excellent, but I was told we should remove it ...
<adrien_>
I can help break it if you want :D
<wmeyer>
adrien_: no adrien_ we are not interested in breaking things :-)
<adrien_>
not funny ='(
<wmeyer>
well, if you provide a cleanup patch for this, i might apply it
ollehar has quit [Ping timeout: 246 seconds]
<adrien_>
ok
jpdeplaix` is now known as jpdeplaix
<adrien_>
for now I'm going to get the patch supposedly right
<adrien_>
including updates to these scripts
<adrien_>
that way I can get a commit and work from a clean state
<wmeyer>
ok, no rush, test it on the rackspace if you can
<adrien_>
:-)
so has quit [Ping timeout: 268 seconds]
<adrien_>
or maybe the other way round
Nahra has joined #ocaml
<adrien_>
wmeyer: so, basically the files mentionned in build/new-build-system would go away?
so has joined #ocaml
<wmeyer>
possibly
<wmeyer>
we don't maintain at the moment
orbitz has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<adrien_>
\o/
tane has quit [Quit: Verlassend]
osnr has quit [Quit: Leaving.]
Simn has quit [Quit: Leaving]
ousado_ has quit [Ping timeout: 264 seconds]
wmeyer has quit [Ping timeout: 264 seconds]
avsm has quit [Quit: Leaving.]
weie_ has quit [Read error: Connection reset by peer]
weie has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
zRecursive has joined #ocaml
gnuvince has quit [Remote host closed the connection]
Zeev has joined #ocaml
ulfdoz has quit [Ping timeout: 264 seconds]
<adrien_>
ergh
<adrien_>
config/config.sh does:
<adrien_>
if [ "x$WITH_CAMLP4" = "x" ]; then WITH_CAMLP4="camlp4"; fi
Neros has quit [Ping timeout: 264 seconds]
<adrien_>
build/mkconfig.sh is
<adrien_>
well
<adrien_>
there are no words to describe it
<adrien_>
(only symbols)
Asmadeus_ is now known as Asmadeus
avsm has joined #ocaml
<adrien_>
night
demonimin has quit [Ping timeout: 256 seconds]
pkrnj has quit [Ping timeout: 248 seconds]
ousado_ has joined #ocaml
ousado_ is now known as ousado
tobiasBora has joined #ocaml
pkrnj has joined #ocaml
ousado has quit [Changing host]
ousado has joined #ocaml
pkrnj has quit [Quit: Computer has gone to sleep.]
demonimin has joined #ocaml
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 240 seconds]
<zRecursive>
How to get keyboard input in a ocaml script ?
<mrvn>
# input_line stdin;;
<mrvn>
foo
<mrvn>
- : string = "foo"
<mrvn>
or Scanf.scanf
<zRecursive>
can input_line has timeout support ?
<mrvn>
I think you need the unix module for that and use Unix.select
<zRecursive>
thx
<mrvn>
Nothing in Pervasives has a timeout.
ollehar has joined #ocaml
ontologiae_ has joined #ocaml
tobiasBora has quit [Quit: Konversation terminated!]
tobiasBora_ has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
mye has quit [Quit: mye]
ontologiae_ has quit [Ping timeout: 264 seconds]
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 248 seconds]
tobiasBora_ has quit [Quit: Konversation terminated!]