<_obad_>
trouble installing pgocaml with opam. code 404 while downloading https://opam.ocaml.org/archives/pcre-ocaml.7.1.1+opam.tar.gz ; I found the .tar.gz online and copied it into ~/.opam/archives but that didn't do the trick. suggestions?
<rgrinberg1>
when you create a packed module in oasis is there a way to name the packed module differently from the library name?
BitPuffin|osx has joined #ocaml
<mankyKitty>
Is there anything like quickcheck or property based testing for OCaml ? had a bit of a google but most of the projects seemed pretty dead, could just be my search-fu failed me....
<dmbaturin>
_obad_: Try 'opam update', maybe something is out of sync. If not, sounds like you should open an issue.
<dmbaturin>
mankyKitty: There's some quickcheck (under the name quickcheck) available from opam. I haven't tried it though.
Algebr has joined #ocaml
<mankyKitty>
dmbaturin: wow how did I miss that... sigh... more coffee. Thanks mate
<_obad_>
dmbaturin: thanks, just doing that, my stuff is way out of date, updating and recompiling...
walter|r has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
Algebr has quit [Ping timeout: 256 seconds]
mcclurmc_ has joined #ocaml
mcclurmc has quit [Ping timeout: 252 seconds]
walter|r has joined #ocaml
Submarine has quit [Quit: Leaving]
AltGr has joined #ocaml
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
amnn has joined #ocaml
<dmbaturin>
mankyKitty: When you try it, tell if it's any good. :)
<mankyKitty>
roger roger
rgrinberg1 has quit [Ping timeout: 276 seconds]
struktured has quit [Ping timeout: 246 seconds]
sdothum has joined #ocaml
The_Mad_Pirate has quit [Read error: Connection reset by peer]
struktured has joined #ocaml
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ygrek has joined #ocaml
rgrinberg1 has joined #ocaml
sdothum has quit [Ping timeout: 256 seconds]
lopex has quit [Quit: Connection closed for inactivity]
mcclurmc_ has quit [Read error: Connection reset by peer]
walter|r has quit [Remote host closed the connection]
walter|r has joined #ocaml
walter|r has quit [Remote host closed the connection]
darkf has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
<ericbmerritt>
Drup thanks man. I begin to understand. Thanks
<SuperNoeMan>
hey, is List.map tail recursive?
<ericbmerritt>
SuperNoeMan: not the one shipped with ocaml
<ericbmerritt>
The one in core is
<SuperNoeMan>
yeah, I was uing Core's List
<SuperNoeMan>
and I was having some cases where it was also blowing the stack
<SuperNoeMan>
In any case, it might not be actually List.map that's causing it to blow
<SuperNoeMan>
I know for certain that I debugged it and saw that there was just a huuuuge chain of List.map
<SuperNoeMan>
but the name didn't seem to distinguish it as being core list, even though I have open Core.std at the top
<SuperNoeMan>
And merlin returned that it was core.... So I was confused. In any case, it may be piqi that is not tail recursive in ocaml
obadz has joined #ocaml
obadz has quit [Changing host]
obadz has joined #ocaml
<ericbmerritt>
SuperNoeMan: just checked the docs. Core_list is definitely tail recursve
<SuperNoeMan>
yeah
rgrinberg1 has quit [Ping timeout: 265 seconds]
<SuperNoeMan>
you know what though... I think the reason why List.map was blowing up is the type instance that it was mapping to was ocaml std
<SuperNoeMan>
I agree, that it's tail recursive, I was having trouble understanding why in the scope of the file I had Core.Std open yet it was compiling down to a differnt List.map implementation
<SuperNoeMan>
I think I just realized what it was
<SuperNoeMan>
The type that I"m calling List.map on is declared as a ocaml std list
<SuperNoeMan>
are list append operations functional in the sense that they create new instances of lists and copy everything?
<SuperNoeMan>
or is it good in the sense that a lst append/prepend can just edit the not links?
psy_ has quit [Quit: Leaving]
<struktured>
append is expensive if I recall correctly, O(N+M)
<struktured>
but yes, lists are immutable-esque creatures
rgrinberg1 has joined #ocaml
toroidalcode has joined #ocaml
walter|r has joined #ocaml
walter|r has quit [Ping timeout: 245 seconds]
walter|r has joined #ocaml
<SuperNoeMan>
I suppose I want Array for something that allows me to edit things inline
<SuperNoeMan>
I know this is probably some kind of sin in here, but I have to have efficient code.
<SuperNoeMan>
I don't mind if the implementation edits some mutable components in order to make that happen, so long as it's sound
<SuperNoeMan>
which I'm sure Core would be :)
obadz has quit [Ping timeout: 255 seconds]
psy_ has joined #ocaml
obadz has joined #ocaml
<struktured>
SuperNoeMan: array is mutable, there are also mutable hashtables and buffers
walter|r has quit [Remote host closed the connection]
enquora has quit [Quit: enquora]
waneck has joined #ocaml
<SuperNoeMan>
yeah I thought it was mutable
<SuperNoeMan>
thanks :)
ygrek has joined #ocaml
ygrek has quit [Ping timeout: 276 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
wraithm has quit [Quit: leaving]
LnL has joined #ocaml
hay207 has joined #ocaml
hay207 has quit [Read error: Connection reset by peer]
BitPuffin|osx has quit [Ping timeout: 265 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
obadz has quit [Ping timeout: 246 seconds]
obadz has joined #ocaml
waneck has quit [Ping timeout: 264 seconds]
manizzle has joined #ocaml
waneck has joined #ocaml
<struktured>
np
waneck has quit [Remote host closed the connection]
ggole has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
agent_dtscode is now known as dtscode
A1977494 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
Simn has joined #ocaml
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 240 seconds]
darkf_ is now known as darkf
oeradb has joined #ocaml
ygrek has joined #ocaml
pyon is now known as lptm
keen_______ has joined #ocaml
keen______ has quit [Ping timeout: 276 seconds]
hay207 has joined #ocaml
obadz has quit [Quit: leaving]
Cyanure has joined #ocaml
hay207 has quit [Ping timeout: 245 seconds]
SIGILL has quit [Quit: WeeChat 1.1.1]
SIGILL has joined #ocaml
hay207 has joined #ocaml
aolerch has joined #ocaml
aolerch has quit [Client Quit]
oeradb has quit [Ping timeout: 265 seconds]
siddharthv_away is now known as siddharthv
Haudegen has quit [Ping timeout: 276 seconds]
Haudegen has joined #ocaml
ygrek has quit [Ping timeout: 276 seconds]
hay207 has quit [Ping timeout: 255 seconds]
srenatus has joined #ocaml
cdidd has quit [Quit: Leaving]
hay207 has joined #ocaml
Gama11 has joined #ocaml
tmtwd has quit [Read error: Connection reset by peer]
oscar_toro has quit [Ping timeout: 250 seconds]
ollehar has joined #ocaml
AlexRussia has quit [Quit: WeeChat 1.2-dev]
AlexRussia has joined #ocaml
shinnya has joined #ocaml
tmtwd has joined #ocaml
djellemah has joined #ocaml
zpe has joined #ocaml
xificurC has quit [Quit: WeeChat 1.2]
xificurC has joined #ocaml
dsheets has quit [Ping timeout: 265 seconds]
matason has joined #ocaml
monoprotic_2 has joined #ocaml
monoprotic has quit [Ping timeout: 272 seconds]
ygrek has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
zpe_ has joined #ocaml
zpe has quit [Ping timeout: 255 seconds]
larhat has joined #ocaml
nullcat__ has joined #ocaml
larhat1 has quit [Ping timeout: 265 seconds]
nullcat__ has quit [Read error: Connection reset by peer]
bezirg has quit [Ping timeout: 265 seconds]
tmtwd has quit [Quit: Leaving]
amnn has joined #ocaml
milosn has quit [Quit: leaving]
lopex has joined #ocaml
freling has joined #ocaml
bezirg has joined #ocaml
<flux>
supernoeman, of course if you just want a 'mutable list', you can use a reference to a list. let a = ref [1; 2; 3] in a := 42 :: List.tl !a; !a
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
freling has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 246 seconds]
kushal has joined #ocaml
jonludlam has joined #ocaml
larhat has quit [Quit: Leaving.]
Bhavya has joined #ocaml
zeRusski has joined #ocaml
zeRusski has quit [Remote host closed the connection]
larhat has joined #ocaml
kakadu has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
AlexRussia has quit [Ping timeout: 256 seconds]
dsheets has joined #ocaml
darnuria has joined #ocaml
darnuria has left #ocaml [#ocaml]
A19774941 has joined #ocaml
A19774941 has left #ocaml [#ocaml]
sdothum has joined #ocaml
sdothum has quit [Read error: Connection reset by peer]
larhat has quit [Read error: Connection reset by peer]
sdothum has joined #ocaml
larhat has joined #ocaml
larhat1 has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
AltGr has left #ocaml [#ocaml]
mengu__ has joined #ocaml
freling has joined #ocaml
_andre has joined #ocaml
copycat has quit [Quit: copycat]
larhat has joined #ocaml
larhat1 has quit [Read error: Connection reset by peer]
larhat has quit [Read error: Connection reset by peer]
<bernardofpc>
(why, oh why is it in pervasives.ml, and not in list.ml...)
<bernardofpc>
(hum, maybe it would bloat too much if Pervasives.(@) = List.(@), which would include all List as a linked object)
<bernardofpc>
(because there is no dead code elimination in libs ?)
mengu__ has quit [Remote host closed the connection]
<companion_cube>
dead code elimination is only at the module level: unused modules are pruned
BitPuffin|osx has joined #ocaml
AlexRussia has joined #ocaml
AlexRussia has quit [Quit: WeeChat 1.2-dev]
AlexRussia has joined #ocaml
larhat has joined #ocaml
sdothum has quit [Read error: Connection reset by peer]
sdothum has joined #ocaml
dsheets has quit [Ping timeout: 252 seconds]
toolslive has joined #ocaml
larhat has quit [Quit: Leaving.]
siddharthv is now known as siddharthv_away
walter|r has joined #ocaml
<toolslive>
does anybody use Centos?
nullcat_ has joined #ocaml
toolslive has quit [Ping timeout: 276 seconds]
walter|r has quit [Remote host closed the connection]
walter|r has joined #ocaml
freling has quit [Quit: Leaving.]
mengu__ has joined #ocaml
meteo_ has joined #ocaml
walter|r has quit [Ping timeout: 256 seconds]
nullcat_ has quit [Ping timeout: 252 seconds]
<bernardofpc>
debug question: if I want to make an "ifprintf" that will NOT evaluate its arguments unless they're used, must I capture the calculations inside some lambda expression, or is there some hack (in the evaluation model / stdlib / ???) that already does this ?
mengu__ has quit []
<companion_cube>
there is ifprintf, but it evaluates its argument
<companion_cube>
it just does not print anything
<meteo_>
I'm having trouble trying to organize some functions into an mli. I basically want to use the Map.Make(String) type in the declaration but I'm not sure how
<companion_cube>
you can add module HM : module type of Map.Make(String) val get_leaves : my_header HT.t -> string list
<companion_cube>
HM.t sorry
<meteo_>
excellent. Thanks companion_cube
<companion_cube>
or, simpler (but less accurate): module HM : Map.S with type key=string val get_leaves : my_header HM.t -> string list
<companion_cube>
it puts weaker constraints on what HM is
sdothum has quit [Ping timeout: 264 seconds]
<ggole>
bernardofpc: you can use lazy for that, I suppose
sdothum has joined #ocaml
matason has quit [Max SendQ exceeded]
matason has joined #ocaml
idegen has joined #ocaml
sdothum has quit [Read error: Connection reset by peer]
shum has joined #ocaml
tmtwd has joined #ocaml
rwmjones has quit [Quit: Terminated with extreme prejudice - dircproxy 1.2.0]
nullcat has joined #ocaml
rjones has joined #ocaml
milosn has joined #ocaml
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
larhat has joined #ocaml
tmtwd has quit [Ping timeout: 256 seconds]
nullcat_ has joined #ocaml
Haudegen has quit [Ping timeout: 265 seconds]
thomasga has joined #ocaml
freling has joined #ocaml
Haudegen has joined #ocaml
<vbmithr>
Hi
<nullcat_>
hi
<vbmithr>
When I use perf report on my ocaml program, i don't have the symbols (anymore?). I remember ocamlpro did some work to be able to perf ocaml code but I don't remember if it is in mainline ocaml or not…
rjones is now known as rwmjones
freling1 has joined #ocaml
freling has quit [Ping timeout: 272 seconds]
matason has quit []
matason has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
nullca___ has joined #ocaml
nullcat_ has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
<vbmithr>
answer: need to switch to the +fp compilers.
nullca___ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcat_ has joined #ocaml
<companion_cube>
oh, really?
enquora has joined #ocaml
toolslive has quit [Ping timeout: 276 seconds]
freling1 has quit [Quit: Leaving.]
shum is now known as sdothum
nullcat_ has quit [Read error: Connection reset by peer]
nullcat_ has joined #ocaml
Bhavya has quit [Quit: Quit the channel]
nullca___ has joined #ocaml
nullcat_ has quit [Read error: Connection reset by peer]
hay207 has quit [Ping timeout: 252 seconds]
<vbmithr>
the kernel is only able to follow frame pointers
<vbmithr>
not DWARF info
whirm has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 246 seconds]
toolslive has joined #ocaml
<ggole>
The CFA stuff should have changed that iirc
dsheets has quit [Ping timeout: 276 seconds]
<vbmithr>
CFA stuff ?
<ggole>
A bunch of machinery to allow tracking stack info without a frame pointer
<ggole>
I'm not sure exactly what needs to be updated for it to all work though
hay207 has joined #ocaml
freling has joined #ocaml
nullcat_ has joined #ocaml
freling has quit [Quit: Leaving.]
nullca___ has quit [Ping timeout: 276 seconds]
Submarine has joined #ocaml
Submarine has joined #ocaml
nullcat__ has joined #ocaml
nullcat_ has quit [Ping timeout: 256 seconds]
nullcat has joined #ocaml
nullc____ has joined #ocaml
nullcat__ has quit [Ping timeout: 255 seconds]
dsheets has joined #ocaml
nullcat has quit [Ping timeout: 276 seconds]
shinnya has joined #ocaml
kushal has quit [Ping timeout: 255 seconds]
jeroldhaas_ is now known as jeroldhaas
<whirm>
Hi, I'm trying to build an amd64 to arm compiler openembedded recipe but I'm getting problems when building asmrun
fraggle_ has quit [Read error: Connection reset by peer]
<tokenrove>
well, it's using the wrong compiler for the native runtime (your local gcc instead of your cross gcc), but i couldn't tell you why, i'm afraid
mcclurmc has joined #ocaml
<whirm>
tokenrove: that's what it looked to me too, but I think I'm using the right config flags.
<tokenrove>
the configure invocation looks okay to me but it's been a long time since i tried to build ocaml as a cross-compiler. are you manually specifying -cc "gcc" or is that something that was inferred?
<adrien_znc>
whirm: -DSYS_linux_eabi looks wrong
lptm is now known as xlptmrcrj
<adrien_znc>
hmmm, maybe not
<adrien_znc>
I shouldn't look at this right now since I can't look at it but superficially
<whirm>
tokenrove: I looked at it but they use a pre-written Makefile so they can skip calling ./configure
<whirm>
ah, I looked at a different repo
<tokenrove>
yeah, that's their approach I think
<tokenrove>
sorry if you mentioned this earlier; what patches are you using with the compiler?
<whirm>
tokenrove: None, I just patched the configure script to add the arm stuff there. Reading the INSTALL file it looked like the crosscompile stuff should work just fine
nullc____ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<whirm>
I couldn't find much info on the website about the subject either
<whirm>
tokenrove: I found that site too, but I found some mailing list comments about crosscompiling stuff being merged for ocaml ~4
<whirm>
so I assumed that was not necessary anymore
<whirm>
I gather the whole crosscompile thing is not that mature then?
Submarine has quit [Ping timeout: 255 seconds]
victoroak has joined #ocaml
bezirg has quit [Ping timeout: 245 seconds]
dsheets has joined #ocaml
<adrien_znc>
whirm: some, not everything
victoroak has quit [Read error: Connection reset by peer]
<adrien_znc>
whirm: the cross-compiling works fairly well but it's not well-integrated in the build system
victoroak has joined #ocaml
<whirm>
adrien_znc: the build configuration part is green but once built it works fine you mean?
victoroak has left #ocaml [#ocaml]
walter|r has joined #ocaml
<adrien_znc>
yes
kdef has joined #ocaml
<whirm>
Ok, I'll try the hardcoded Makefile aproach then :D thanks a lot adrien_znc, tokenrove !
<adrien_znc>
there are still a few dirty things needed but I think you don't need a specific makefile to drive the build
dsheets has quit [Quit: Leaving]
dsheets has joined #ocaml
<whirm>
adrien_znc: what things?
<adrien_znc>
at some point there was a build script that would make and expect make to fail at a specific step, copy a file, make something else, let if fail at another specific step, copy files, and so on
<whirm>
uh
<adrien_znc>
yeah
<adrien_znc>
:)
slash^ has joined #ocaml
<whirm>
how come that the configure script doesn't get fixed instead? would it be so much work?
<adrien_znc>
there isn't that much work in the configure script but elsewhere
<adrien_znc>
if you have specific things to change to make it easier for your use case right now, pleat open a bug report (well, check first the same things aren't already reported)
<adrien_znc>
thing is ocaml has been able to be made to cross-compile for a long time but it wasn't well integrated
<adrien_znc>
I started that but had to stop for a while
<adrien_znc>
some others have contributed too
<adrien_znc>
the current state is that without too much trouble you can get it to work for cross-compile to linux
<adrien_znc>
maybe some others non-windows platforms
<adrien_znc>
pragmatically we should try to get the to-linux case supported well enough since that covers many usecases
<adrien_znc>
it's currently doable and there's little reason to not improve the ease of build for thart
<adrien_znc>
that*
<adrien_znc>
to-windows is more work but shouldn't hold back the usability of other cases
<adrien_znc>
also, you should try with 4.02.2-rc1
<whirm>
adrien_znc: well, being able to call configure with the right flags, then make and have the stuff just generate the cross compiler would be great :D
<whirm>
adrien_znc: I don't care much for other than linux 64 to arm 32 right now
<whirm>
adrien_znc: I will checkout the latest devel and try with that. I'll report the issues I get too. I just wasn't sure if I was doing something wrong.
tane has joined #ocaml
<whirm>
adrien_znc: Thanks again for all the info, I'll update the recipes ASAP and try again with the latest code and report back.
slash^ has quit [Read error: Connection reset by peer]
<whirm>
adrien_znc: FYI I updated the recipe to use 8582bed2dd44a827a80229cd213ad7b64a0c531e and I still get the same error. I'll investigate further when I have some spare time.
<adrien_znc>
yeah, I didn't mean that it would solve that specific issue but it has a couple things that help for cross
jeffmo has joined #ocaml
ollehar1 has joined #ocaml
tonyg has left #ocaml [#ocaml]
<whirm>
good to know :)
xlptmrcrj has quit [Ping timeout: 245 seconds]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Cyanure has quit [Ping timeout: 264 seconds]
amnn has joined #ocaml
sh0t has joined #ocaml
xlptmrcrj has joined #ocaml
systmkor has quit [Quit: Leaving]
amnn has quit [Read error: Connection reset by peer]
amnn has joined #ocaml
tmtwd has joined #ocaml
zpe_ has quit [Remote host closed the connection]
MrScout has joined #ocaml
Cyanure has joined #ocaml
xlptmrcrj is now known as lptm
MercurialAlchemi has joined #ocaml
slash^ has joined #ocaml
amnn has quit [Read error: Connection reset by peer]
amnn_ has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 256 seconds]
MercurialAlchemi has joined #ocaml
whirm has quit [Quit: WeeChat 1.2]
yomimono has quit [Ping timeout: 252 seconds]
darkf has quit [Quit: Leaving]
rgrinberg1 has quit [Ping timeout: 264 seconds]
MercurialAlchemi has quit [Ping timeout: 265 seconds]
sh0t has quit [Ping timeout: 265 seconds]
MercurialAlchemi has joined #ocaml
walter|r has quit [Remote host closed the connection]
amnn_ has quit [Remote host closed the connection]
rgrinberg1 has joined #ocaml
amnn has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
freling has joined #ocaml
MercurialAlchemi has joined #ocaml
tane has quit [Quit: Verlassend]
amnn has quit [Read error: Connection reset by peer]
amnn has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 265 seconds]
jwatzman|work has joined #ocaml
amnn has quit [Client Quit]
MercurialAlchemi has joined #ocaml
thomasga has quit [Ping timeout: 252 seconds]
MercurialAlchemi has quit [Ping timeout: 245 seconds]
MercurialAlchemi has joined #ocaml
Denommus has quit [Quit: rebooting]
amnn has joined #ocaml
amnn has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
amnn has joined #ocaml
BitPuffin|osx has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
jonludlam has quit [Ping timeout: 264 seconds]
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 252 seconds]
AlexRussia has quit [Ping timeout: 246 seconds]
Denommus has joined #ocaml
MercurialAlchemi has joined #ocaml
AlexRussia has joined #ocaml
Simn has left #ocaml ["Leaving"]
dsheets has quit [Ping timeout: 252 seconds]
MercurialAlchemi has quit [Ping timeout: 255 seconds]
amnn has quit [Read error: Connection reset by peer]
MercurialAlchemi has quit [Ping timeout: 276 seconds]
amnn has joined #ocaml
MercurialAlchemi has joined #ocaml
MisaMisa has joined #ocaml
MisaMisa has quit [Client Quit]
ollehar1 has quit [Ping timeout: 276 seconds]
MercurialAlchemi has quit [Ping timeout: 246 seconds]
srcerer_ has quit [Quit: ChatZilla 0.9.91.1 [Firefox 38.0.1/20150513174244]]
MercurialAlchemi has joined #ocaml
srcerer has joined #ocaml
zpe has quit [Remote host closed the connection]
srenatus has quit [Quit: Connection closed for inactivity]
MercurialAlchemi has quit [Ping timeout: 272 seconds]
MercurialAlchemi has joined #ocaml
zpe has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
MercurialAlchemi has joined #ocaml
robink_ has quit [Ping timeout: 244 seconds]
MercurialAlchemi has quit [Ping timeout: 265 seconds]
MercurialAlchemi has joined #ocaml
robink_ has joined #ocaml
rgrinberg1 has quit [Ping timeout: 245 seconds]
MercurialAlchemi has quit [Ping timeout: 265 seconds]
robink_ is now known as robink
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
MercurialAlchemi has joined #ocaml
rgrinberg1 has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 256 seconds]
kushal has joined #ocaml
ollehar1 has joined #ocaml
<ollehar1>
tokenizer = lexer?
MercurialAlchemi has joined #ocaml
<ollehar1>
hm, sedlex examples are a bit thin
lptm has quit [Ping timeout: 250 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
<ia0>
tokenizer sounds like a lexer
<ollehar1>
hm, yeah, think all examples were lexers in that dir ^^
MercurialAlchemi has joined #ocaml
<ollehar1>
so... how to make a Makefile with ulex?
<ollehar1>
I don't use ocamlbuild
<ollehar1>
maybe I should :P
<ollehar1>
so much to change, then!
<tokenrove>
ocamlbuild-related question: does it make sense to continue to use oasis, or should I just use a simple script/Makefile running ocamlbuild?
<adrien_znc>
oasis
<adrien_znc>
it's definitely not perfect
MercurialAlchemi has quit [Ping timeout: 252 seconds]
<adrien_znc>
but it's still better than bare ocamlbuild
<tokenrove>
I have a lot of programs and libraries that use oasis, but I notice that it's not widely used, and I've heard talk on here before to the effect that it's not maintained or perhaps even deprecated
MercurialAlchemi has joined #ocaml
<tokenrove>
Since I am about to publish a few packages to opam, I was wondering whether I should just rewrite them to not have the oasis build dependency.
keen________ has joined #ocaml
jcloud has joined #ocaml
Hannibal_Smith has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 255 seconds]
keen_______ has quit [Ping timeout: 256 seconds]
MercurialAlchemi has joined #ocaml
zpe has quit [Remote host closed the connection]
MercurialAlchemi has quit [Ping timeout: 272 seconds]
MercurialAlchemi has joined #ocaml
dubosec has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
idegen has quit [Quit: Leaving.]
MercurialAlchemi has joined #ocaml
idegen has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 245 seconds]
Anarchos has joined #ocaml
tane has joined #ocaml
MercurialAlchemi has joined #ocaml
kakadu has quit [Quit: Page closed]
<ollehar1>
what's `Gen.t` here?
<ollehar1>
val from_gen: int Gen.t -> lexbuf
<ollehar1>
(** Create a lexbuf from a stream of Unicode code points. *)
<ollehar1>
(from sedlex)
MercurialAlchemi has quit [Ping timeout: 244 seconds]
<ollehar1>
ah, wait, maybe not necessary
<ollehar1>
this, though:
<ollehar1>
Type Sedlexing.lexbuf is not compatible with type Lexing.lexbuf
<ollehar1>
using sedlex with menhir
psy_ has quit [Quit: Leaving]
MercurialAlchemi has joined #ocaml
dubosec has quit [Read error: No route to host]
<ollehar1>
help me...
<ollehar1>
oh well
ygrek has joined #ocaml
<ericbmerritt>
guys. yet again I am having trouble figuring out a problem. I an not sure why ocaml is complaining about the module not existing. I suspect strongly that I am still missing a key bit of understanding between modules and module types. details are here -> https://gist.github.com/ericbmerritt/249d0324c70221beaeb6#
<ericbmerritt>
the error output is in the third file in that gist
MercurialAlchemi has quit [Ping timeout: 272 seconds]
<ollehar1>
don't know the structure of that package
<rgrinberg1>
ericbmerritt: Syslog is a signature how can it be a functor argument?
<struk|work>
ericbmerritt: shouldn't the mli file be an ml file?
hay207 has quit [Quit: Leaving]
swgillespie has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
dubosec has joined #ocaml
Haudegen has quit [Ping timeout: 264 seconds]
Hannibal_Smith has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
<ollehar1>
ok, so I want menhir to generate parser depending on Sedlexing, not Lexing.
MercurialAlchemi has joined #ocaml
tumdum has quit [Ping timeout: 246 seconds]
Haudegen has joined #ocaml
Denommus has quit [Quit: rebooting]
tumdum has joined #ocaml
Denommus has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
MercurialAlchemi has joined #ocaml
walter|r has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
MercurialAlchemi has joined #ocaml
Denommus has quit [Quit: rebooting]
slash^ has quit [Read error: Connection reset by peer]
MercurialAlchemi has quit [Ping timeout: 264 seconds]
MercurialAlchemi has joined #ocaml
Denommus has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 265 seconds]
MercurialAlchemi has joined #ocaml
walter|r has quit [Remote host closed the connection]
MercurialAlchemi has quit [Ping timeout: 272 seconds]
MercurialAlchemi has joined #ocaml
mengu__ has joined #ocaml
mengu__ is now known as mengu
mengu has joined #ocaml
mengu has quit [Changing host]
MercurialAlchemi has quit [Ping timeout: 244 seconds]
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 264 seconds]
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
kakadu has joined #ocaml
MercurialAlchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 252 seconds]
manizzle has quit [Ping timeout: 264 seconds]
jonludlam has joined #ocaml
MercurialAlchemi has joined #ocaml
kdef has quit [Quit: Leaving]
MercurialAlchemi has quit [Ping timeout: 256 seconds]
sdothum has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
fraggle_ has joined #ocaml
sdothum has joined #ocaml
ggole has quit []
adarqui has quit [Ping timeout: 256 seconds]
_andre has quit [Quit: leaving]
Haudegen has quit [Ping timeout: 244 seconds]
rand000 has joined #ocaml
mengu has quit []
adarqui has joined #ocaml
sh0t has joined #ocaml
Haudegen has joined #ocaml
<ericbmerritt>
rgrinberg1: Syslog is a signature, but it also has an implementation (there is a related ml file). again this is probably me missing something fundamental
<rgrinberg1>
ericbmerritt: then the problem is that you aren't exposing that implementation in the mli
rgrinberg1 is now known as rgrinberg
<companion_cube>
o/
<ericbmerritt>
ah. the interface is essentially hiding the implementation? does that mean that I need to use an ml file here as struk|work suggested?
<companion_cube>
ollehar1: 'a Gen.t = unit -> 'a option, in this case
<companion_cube>
it's a library called "gen" on opam
<rgrinberg>
ericbmerritt: no, if the module is called Syslog, you should just add module Syslog : Syslog to the mli
<ollehar1>
companion_cube: ok
<ollehar1>
I found from_string, though, which I use now
<ollehar1>
but have other problems
<ericbmerritt>
literally just that line?
<ericbmerritt>
or does it need the struct definition?
<rgrinberg>
ericbmerritt: in the corresponding ml file, yes.
<ollehar1>
like, making menhir use sedlexing instead of lexing
<rgrinberg>
ericbmerritt: if it helps, call your signature something else. E.g. the core convention would be Syslog_intf
<rgrinberg>
then it would module Syslog : Syslog_intf
<rgrinberg>
assuming you have the appropriate module Syslog = struct .. end in the ml file
<rgrinberg>
ericbmerritt: not that you will also need to straight up duplicate the signature Syslog_intf (or Syslog in your case) in both the ml and mli
<ericbmerritt>
rgrinberg: I do. and that makes sense. Actually the Syslog interface just includes the S interface so it would probably be something like `module Syslog : S` in the interface and syslog in the implementation
<ericbmerritt>
I think we are saying the same thing actually
wraithm has joined #ocaml
<struk|work>
ericbmerritt: I was just making sure you actually have a corresponding ml for the mli somewhere
<rgrinberg>
ericbmerritt: yep. sounds about right
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
zach_ has joined #ocaml
<zach_>
Something I saw on /r/ocaml that I wanted to get people's opinion on: "Implicits bolted on in OCaml that late will have a hard time integrating intro the stdlib and existing code"
<zach_>
What do you guys think of this?
<companion_cube>
I won't say more :)
mcclurmc has quit [Ping timeout: 256 seconds]
<rgrinberg>
who said it?
<struk|work>
zach_: the whole concept of stdlib is overrated, so don't care. implicits are cool but I don't need them either yet..
<zach_>
Some poster named das_kube.
* companion_cube
<rgrinberg>
well that's b/c the stdlib won't change at all probably :P
<rgrinberg>
so it has a hard time integrating with any new feature
<zach_>
I mean it seems like it's also the common wisdom that the OCaml stdlib is pretty awful, hence batteries and core. Given that new features are on the way, and given that the stdlib is so bad, doesn't anybody think that maybe its time for the language to commit to a proper toolset?
<rgrinberg>
zach_: why should we care?
<rgrinberg>
at this point the stdlib is mostly for the compiler team and dependency fascists
<rgrinberg>
use containers/core/batteries and move on
ollehar1 has quit [Ping timeout: 255 seconds]
<companion_cube>
zach_: almost everyone agrees it would be nice to have a consensus on a better stdlib
<companion_cube>
the problem is no-one agrees on which one
<rgrinberg>
companion_cube: an even bigger problem would to select the 2-3 people who can actually change the stdlib
<rgrinberg>
consensus making won't help you there...
<rgrinberg>
s/select/convince/g
<companion_cube>
so we all want the tooling and stdlib to be better, but don't know how
<companion_cube>
yes, maintainers don't want to change the stdlib
<rgrinberg>
yup. in fact they explictly say to use batteries/core
<rgrinberg>
or another lib that fills a particular hole (like re)
<companion_cube>
yeah
<Denommus>
in menhir, is the only way of representing [FOO bar] by doing foobar: FOO bar and then option(foobar)?
<companion_cube>
it would be very interesting to split the stdlib from the compiler
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<rgrinberg>
companion_cube: if we can't accomplish that for ocamlbuild
<rgrinberg>
the the odds are against us
<companion_cube>
yep
<companion_cube>
live with the statut quo :p
<rgrinberg>
companion_cube: it's not even bad though
<rgrinberg>
let a thousand flowers bloom
<companion_cube>
more modularity! :D
<companion_cube>
pff, it almost makes me want again to update batteries
<rgrinberg>
i'd be way happier if oasis and findlib died ASAP
<rgrinberg>
then anything happening to the stdlib situation
rntz has joined #ocaml
<flux>
rgrinberg, so instead of findlib we would +I stuff to some build configuration? or do you have an alternative?
<rgrinberg>
flux: well opam should do it
<flux>
how should opam do it?
nullcat_ has joined #ocaml
<flux>
if you want opam to replace findlib, then perhaps you should first submit the code to make that possible :)
<companion_cube>
if findlib dies, we are doomed
<rgrinberg>
flux: you're right we need a good proposal first
<companion_cube>
so that half the ecosystem can use findlib, and the other half uses the new stuff
<companion_cube>
good idea :p
<flux>
and I don't think opam even has enough information to do all what findlib is used for.. byte code, native code, C libraries, C modules, standalone ocaml modules, packs..
<ericbmerritt>
rgrinberg: that was it. thanks a million man. I am slowly building out my module knowledge. Its crazy I have been writing ocaml code for awhile and I just realized that all this module composition stuff is completely new to me
<flux>
as far as I'm concerned, findlib is a great tool and doing its job great
<rgrinberg>
I don't think findlib is bad. It's just that right now it's too annoying to specify a different set of dependencies twice
<flux>
the best argument against findlib I've seen that it's code is now pretty.
<flux>
+is
<flux>
s/now/not/ :)
<flux>
well, hearsay, I haven't looked..
<rgrinberg>
right now the amount of boilerplate you have to write for an ocaml project now is nuts
<rgrinberg>
findlib is partially responsible for that
<companion_cube>
rgrinberg: then a build system (assemblage?) should do it for you
<companion_cube>
I don't think findlib is responsible
<companion_cube>
anyway, stdlib and build system are more pressing issues
<flux>
maybe more pressing, but it seems to me none of these issues are very pressing at all..
<rgrinberg>
build system i agree. it's best for your sanity that you forget abou the stdlib issue ;)
<companion_cube>
yeah, too much code depends on various stdlibs anyway
<flux>
maybe I don't write enough ocaml programs to find the build system situation insurmountable ;)
<companion_cube>
the build system is not a totally lost cause
cic has joined #ocaml
<flux>
and stdlib.. well, I guess the stdlib is a problem for library writers - and therefore to library consumers
<flux>
solution: all libraries shall nowforth come in two varities, one foor Core and one for Batteries.. and one for Containers ;-)
<companion_cube>
flux: well this is a problem with Async/Lwt
<companion_cube>
in general, libraries do not depend on batteries or core too much (there are exceptions sadly)
<rgrinberg>
companion_cube: why sadly? what difference does it make? -_-
<flux>
companion_cube, they don't, but I tbink that's a choice library writers do so they don't impose one on their users
<companion_cube>
well, I don't like libraries that depend on core
<flux>
..exactly for that reason
<companion_cube>
(or batteries, but it's less frequent)
<companion_cube>
yeah, but still sometimes it happens
<flux>
so basically that means no such library can expose their data, say, as a lazy sequence
<flux>
or one of the many other data structures provided by those alternative standard libs
noze has joined #ocaml
sh0t has joined #ocaml
<companion_cube>
well, it's possible using structural types :/
<flux>
I guess it would be nice if async and lwt provided shims that allowed them to simulate each other
<companion_cube>
e.g., libraries can agree on the [`Ok of 'a | `Error of 'b] type
<companion_cube>
and several authors do this
<flux>
then code could work with either of them with soem functors
Hannibal_Smith has quit [Quit: Leaving]
<flux>
but apparently their semantics differs ever-so-slightly that it could be error-prone
<struk|work>
companion_cube: core diverges with Or_error.t (and more importantly Error.t) quite a bit from lwt
<struk|work>
*core/async
<flux>
companion_cube, is that really a solution.. a group of people agrees on some names that are not really codified anywhere
<companion_cube>
yes, they are very annoying
<companion_cube>
i don't want to depend on core just to have the same error type
<flux>
it's ok for ('a, 'b) result as it's so simple type
<flux>
but not all things are as easy
<struk|work>
companion_cube: agreed
<companion_cube>
well I tried to push unit -> 'a option as the common iterator type
<companion_cube>
but everyone does their stuff :)
<rgrinberg>
the error crap is getting fixed in 4.03 i thought
<companion_cube>
I hope so
<companion_cube>
(although putting it in pervasives is… strange)
<flux>
4.03 is going to get ('a,'b) result?
<flux>
companion_cube, not so strange.. it is quite a pervasive type ;-)
<struk|work>
rgrinberg: the Result crap, not the "Error "crap
<noze>
(1) how does one do memory profiling?
<noze>
(2) what's a sane way of adding a debugging / tracing mode to my program? ATM I just have a command-line option that sets the verbosity, and a lot of Print.debug "some msg" statements, where Print.debug only prints if the verbosity is above a certain level, but I guess that's rather expensive, because a lot of strings have to be formatted just to be discarded, when the debugging is disabled.
<rgrinberg>
struk|work: ah yes, core has its own type for representing errors
<rgrinberg>
iirc it's just a lazy string?
<struk|work>
rgrinberg: its a sexp expression with [to|of]_[string|exn]
<flux>
noze, 1) try ocp-memprof? 2) at the moment, the efficient solution is to use a syntax extension. can't recommend any, I haven't used one since forever.
<struk|work>
I can't get myself to consider it a good universal choice.
tane has quit [Quit: Verlassend]
Submarine has joined #ocaml
Submarine has joined #ocaml
toroidalcode has quit [Remote host closed the connection]
zach_ has quit [Ping timeout: 246 seconds]
mcclurmc has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
rand000 has quit [Ping timeout: 252 seconds]
ygrek has quit [Ping timeout: 255 seconds]
mcclurmc has joined #ocaml
<noze>
wait you need to create an account with OCP to access the documentation of ocp-memprof?