flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
tobiasBora has quit [Quit: Konversation terminated!]
void64 has quit [Ping timeout: 245 seconds]
Drup has quit [Quit: Leaving.]
void64 has joined #ocaml
csakatoku has joined #ocaml
talzeus_ has quit [Read error: Connection reset by peer]
q66 has quit [Quit: Leaving]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
talzeus has joined #ocaml
void64 has quit [Ping timeout: 256 seconds]
walter|r has joined #ocaml
turnersr has joined #ocaml
void64 has joined #ocaml
BiDOrD_ has quit [Ping timeout: 248 seconds]
BiDOrD has joined #ocaml
void64 has quit [Ping timeout: 245 seconds]
shinnya has quit [Ping timeout: 240 seconds]
void64 has joined #ocaml
whitequa1k is now known as whitequark
breakds has joined #ocaml
turnersr has quit [Quit: Leaving]
arquebus has joined #ocaml
arquebus has quit [Quit: Konversation terminated!]
void64 has quit [Ping timeout: 264 seconds]
darkf has joined #ocaml
void64 has joined #ocaml
justdit has joined #ocaml
yacks has quit [Quit: Leaving]
justdit has quit [Ping timeout: 245 seconds]
void64 has quit [Ping timeout: 246 seconds]
gnuvince- has joined #ocaml
<whitequark> I just wrote a function with signature
<whitequark> val merge_fold : f:(string -> 'b -> 'a -> 'a -> ('b * 'a)) -> 'b -> ('a, sorted) t -> ('a, sorted) t -> 'b * ('a, sorted) t
<whitequark> does that make me a bad person?
justdit has joined #ocaml
gnuvince- has quit [Remote host closed the connection]
csakatok_ has joined #ocaml
csakatoku has quit [Ping timeout: 264 seconds]
justdit has quit [Ping timeout: 245 seconds]
ggole has joined #ocaml
Snark has joined #ocaml
zpe has joined #ocaml
breakds has quit [Quit: Konversation terminated!]
ulfdoz has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
Arsenik has joined #ocaml
<darkf> whitequark: probably
justdit has joined #ocaml
ulfdoz has quit [Ping timeout: 245 seconds]
Arsenik has quit [Remote host closed the connection]
zpe has joined #ocaml
djcoin has joined #ocaml
zpe has quit [Ping timeout: 245 seconds]
ttamttam has joined #ocaml
thomasga has joined #ocaml
<whitequark> hmm. how do I convert non-decimal integers from string to big_int?
zpe has joined #ocaml
<ggole> Manually :/
<whitequark> :/
<ggole> I don't think there are radix options for any of that stuff.
<whitequark> yes, I've searched for them for quite a long time.
<ggole> What do you want, hex?
<whitequark> hex and binary
<ggole> Mmm
<whitequark> I think I can read, say, a stream of nativeints (or Int64's), because it would be easy to split the source into them, and then convert them with usual means and feed into Big_int.
zpe has quit [Ping timeout: 276 seconds]
mika1 has joined #ocaml
cago has joined #ocaml
<ggole> Hmm, I'd just do it char at a time
<ggole> Although that might be a bit slow
<ggole> Not sure how fast shifts are on big ints
contempt has quit [Read error: Operation timed out]
contempt has joined #ocaml
contempt has quit [Ping timeout: 264 seconds]
zpe has joined #ocaml
contempt has joined #ocaml
zpe has quit [Ping timeout: 245 seconds]
<companion_cube> hey wmeyer!
zpe has joined #ocaml
<whitequark> ggole: I think big ints are represented as lists of words or something like that
<whitequark> so shifts by 2^n should be very fast
<companion_cube> most likely arrays
<whitequark> companion_cube: it's some insane crap in C
<whitequark> I looked at it and I have no idea how it manages to work
Simn has joined #ocaml
* whitequark shrugs
<whitequark> companion_cube: actually no, that was something else. I looked at it again and it's just arrays indeed.
<whitequark> #define Digit_val(nat,pos) (((bng) Data_custom_val(nat))[pos])
<ggole> x86 has some facilities for multiword shifts
<ggole> But they might only apply to shifts by one... can't recall the details atm
<companion_cube> whitequark: arrays allow fast copies
<ggole> Oh yeah, rcl
ontologiae_ has joined #ocaml
<whitequark> so, shift_left_big_int basically blits the underlying nat by several integral words, and then fixes it up by shifting each "digit" (nativeint) by the fractional word and carrying
<whitequark> so, shifts by one wordsize will be as fast as it's possible.
wwilly has joined #ocaml
<whitequark> (though I have no idea why did I just dig into that: lexer overhead will completely dominate any bigint conversion facility.)
<wwilly> bonjour
justdit has quit [Ping timeout: 240 seconds]
<companion_cube> hello
skchrko has joined #ocaml
void64 has joined #ocaml
<whitequark> lol, actually you can use internal api Nat.sys_nat_of_string, which allows you to specify base
<whitequark> it already has all the logic inside, it's just not exported. dumb.
<kerneis> whitequark: there is a bug report tagged "easy" on mantis for this
<kerneis> if you send a patch, it will probably be accepted very easily
<whitequark> kerneis: I'll look into it
mcclurmc has joined #ocaml
mcclurmc1 has joined #ocaml
chris2 has quit [Ping timeout: 240 seconds]
mcclurmc1 has quit [Client Quit]
mcclurmc1 has joined #ocaml
ggole has quit [Ping timeout: 245 seconds]
mcclurmc has quit [Ping timeout: 264 seconds]
demonimin has quit [Ping timeout: 243 seconds]
mcclurmc1 is now known as mcclurmc
ggole has joined #ocaml
ttamttam has quit [Quit: ttamttam]
ttamttam has joined #ocaml
q66 has joined #ocaml
justdit has joined #ocaml
Drup has joined #ocaml
wwilly has quit [Ping timeout: 260 seconds]
csakatok_ has quit [Remote host closed the connection]
introom has joined #ocaml
justdit has quit [Ping timeout: 264 seconds]
wwilly has joined #ocaml
ollehar has joined #ocaml
introom has left #ocaml []
ontologiae has joined #ocaml
ontologiae_ has quit [Read error: Connection reset by peer]
_andre has joined #ocaml
n06rin has joined #ocaml
Drup has quit [Ping timeout: 245 seconds]
Neros has joined #ocaml
justdit has joined #ocaml
justdit has quit [Ping timeout: 264 seconds]
wwilly has quit [Remote host closed the connection]
yacks has joined #ocaml
Drup has joined #ocaml
talzeus has quit [Remote host closed the connection]
justdit has joined #ocaml
ollehar has quit [Ping timeout: 256 seconds]
<jpdeplaix> 19:46:10 pippijn | has anyone here used menhir parameterised parsers before? // yes. https://github.com/jpdeplaix/ocamldap/blob/monadize/src/ldif_changerec_parser.mly
<jpdeplaix> (and it compiles)
<pippijn> jpdeplaix: yes, I got it
<pippijn> it works fine now
<pippijn> thanks anyway
demonimin has joined #ocaml
<def-lkb> anybody knows how to make ocaml link against camlrun_shared rather than camlrun when using -output-obj?
<def-lkb> (gasche maybe?)
breakds has joined #ocaml
zpe has quit [Ping timeout: 245 seconds]
breakds has quit [Remote host closed the connection]
zpe has joined #ocaml
ollehar has joined #ocaml
chris2 has joined #ocaml
justdit has quit [Ping timeout: 276 seconds]
<whitequark> hi pippijn
<pippijn> hi whitequark
<whitequark> any updates on re2ml?
<pippijn> working on it
<pippijn> I'm thinking about the types right now
<pippijn> I want this:
<pippijn> well, I have these types:
<pippijn> what I want is
<pippijn> let lexer_a = VarBase ((0, (fun pos -> "got A")), Letter 'A')
<pippijn> let lexer_b = VarBase ((0, (fun pos -> "got B")), Letter 'B')
<pippijn> eh
<pippijn> well, that should be 1 instead of 0
<pippijn> let lexer = VarGroup ((2, (fun pos what -> "choice " ^ what)), PatChoice (lexer_a, lexer_b))
<pippijn> I somehow want to give the result of the label functions to the enclosing pattern
<pippijn> so that the input "A" will result in "choice got A"
breakds has joined #ocaml
<pippijn> can ocaml do that?
<whitequark> perhaps GADT?
<pippijn> yeah, I was thinking about that
<pippijn> but I don't know anything about GADTs
<whitequark> I don't understand them very well either
<whitequark> but ggole told me a very good explanation :)
<ggole> I did? O_o
<whitequark> ...
<whitequark> I think?
<whitequark> maybe that is a false memory.
<ggole> We had a discussion about whether they were useless
<ggole> I don't think I understand them well enough to explain the details.
<pippijn> maybe I can write the types in coq, first
<pippijn> but I don't know coq, either :)
<whitequark> I'll try to write you a GADT variant of this, but tomorrow. too sleepy now.
chambart has joined #ocaml
<whitequark> I found the explanation in OCaml's manual helpful, conceptually.
<ggole> Hmm, I don't even understand the problem
<whitequark> I think the problem is that (fun pos -> ...) thing is a user-defined function which can return whatever it wants
<whitequark> and pippijn wants to somehow make the type of `what' in the `VarGroup' callback the same as the return type of the former one.
<whitequark> this seems like a textbook case for GADTs, but I'm not sure until I implemented it
talzeus has joined #ocaml
<ggole> Eh? It's gotta be a string
<pippijn> why?
<whitequark> ggole: why?
talzeus__ has joined #ocaml
<whitequark> it's a lexer callback
<pippijn> it could be a Token.t or int or anything
<pippijn> and it could be mixed
<whitequark> I would want to return a token from the outermost one, and a string or int for the innermost one, for example
<pippijn> right
<whitequark> to compose a, say, integer literal token from several parts
<ggole> Sec, somebody is talking to me
<Drup> whitequark, pippijn : this sounds like the list of composible function, which is indeed a textbook case for gadt.
talzeus__ has quit [Read error: Connection reset by peer]
<ggole> OK
<ggole> whitequark: it's gotta be a string because it's passed to ^
talzeus has quit [Read error: Connection reset by peer]
<whitequark> ggole: I think this is just an example
justdit has joined #ocaml
<pippijn> it's an example
<pippijn> val varBase : (position → 'a) → regex → 'a pattern
<pippijn> val patChoice : 'a pattern → 'a pattern → 'a pattern
talzeus has joined #ocaml
<pippijn> no..
<pippijn> wrong :)
talzeus has quit [Read error: Connection reset by peer]
<Drup> pippijn: here is a list of composible function, try to fiddle with that a bit :)
<Drup> type (_,_) funlist = Nil : ('a,'a) funlist | Cons : ('b -> 'c) * ('a,'b) funlist -> ('a,'c) funlist
<ggole> I still don't get it. I played with the example and it just seems mistyped.
justdit has quit [Ping timeout: 246 seconds]
talzeus has joined #ocaml
<kerneis> ggole: an empty list is the identity
<kerneis> hence a type of 'a -> 'a
<kerneis> encoded as ('a, 'a) in the gadt
<kerneis> Cons is function composition
<ggole> I was referring to pippijn's code, not Drups
<kerneis> ah
<pippijn> that was just a concept
<pippijn> not working code
<pippijn> varBase : (position -> 'result) -> regex -> 'result pattern
<pippijn> varGroup : (position -> 'a -> 'result) -> 'a pattern -> 'result pattern
<ggole> It doesn't compile, but only because you are missing a parameter
<pippijn> patChoice : 'a pattern -> 'a pattern -> 'a pattern
<pippijn> patConcat : 'a pattern -> 'b pattern -> ('a -> 'b) pattern
<pippijn> actually I didn't try patConcat yes
<ggole> That's mistyped. The function in VarGroup is supposed to have the same type as the functions in its components, but they don't have the same arity.
<ggole> If you fix that it compiles fine?
<ggole> I really don't see either the problem, or the relation to GADTs. Maybe I just have the dumb today.
<pippijn> hm
<pippijn> it is mistyped, yes
<pippijn> types.ml: https://paste.xinu.at/nxl/
<pippijn> main.ml: https://paste.xinu.at/Zd7c/
<pippijn> this types (but I don't know the contents of those functions)
<hcarty> Does anyone here have a suggestion for where to stay (or not stay) in Boston for ICFP/OUD?
<ggole> pippijn: again, badly typed. You've defined a label as a pair of int and function of arity one, and then you're trying to construct labels using functions of different arity.
asmanur has quit [Ping timeout: 276 seconds]
asmanur_ has joined #ocaml
<pippijn> ggole: did you look at the types.ml I just pasted?
<ggole> type 'a label = (position -> 'a)
<pippijn> ok
<ggole> | VarGroup of 'a label * 'a pattern
<ggole> (fun pos (a, b) -> "concat got " ^ a ^ " and " ^ b)
<pippijn> don't look at the variant
<ggole> How is that the right arity?
<pippijn> look at the functions in main.ml
<ggole> So the types.ml isn't ground truth? Subject to change?
<pippijn> yes
<ggole> Hmm, ok
saml has joined #ocaml
<pippijn> ggole: do you understand what I want?
<pippijn> I don't see how to put it into a single type
<ggole> Yeah, I think so
braibant_ has joined #ocaml
justdit has joined #ocaml
<ggole> I ripped some bits out: hopefully the idea is clear
<pippijn> interesting
<pippijn> ggole: seems to be exactly what I want
<pippijn> so now I do need to switch to ocaml 4
<ggole> Um
<ggole> Which version are these in? Hmm.
<pippijn> gadts in 4.00.1 or so
<ggole> Yeah, seems so
<pippijn> I've refused to upgrade so far
<pippijn> because I never needed gadts
<pippijn> and I prefer to have debian packages
<ggole> You might be able to use something else
<ggole> Objects or polymorphic variants
<pippijn> hmm
<Drup> pippijn: opam switch =°
<pippijn> Drup: yes, exactly
<pippijn> and can I use that together with a system installed ocaml 3.12?
<Drup> yes
<pippijn> because when I followed the instructions on the website, it said everything about ocaml must be uninstalled
<Drup> libraries, yes, it's easier
<pippijn> and coq
<pippijn> fine
* pippijn uninstalls everything
derek_c has joined #ocaml
derek_c has quit [Client Quit]
derek_c has joined #ocaml
justdit has quit [Read error: Connection reset by peer]
<def-lkb> def-lkb: ocamlc -runtime-variant _shared
<pippijn> oh yeah, now my own menhir package no longer works
* ggole wonders if he has set pippijn on the road to ruin
<pippijn> I don't like opam
<pippijn> why yet another packaging system?
<pippijn> USE flags! opam is gentoo
<adrien_oww> :D
<ggole> So that it can run on windows, I assume
<pippijn> :\
* adrien_oww will probably resurrect slackware packages
<adrien_oww> ggole: wut?
<adrien_oww> :)
* adrien_oww has his yypkg on windows
<ggole> That's the reason given by Python, Ruby, Node people for reinventing their own things
<pippijn> people should just all use pkgsrc
<pippijn> that works on windows, too
<ggole> Never heard of it :/
* ggole doesn't want to learn another package manager
* pippijn neither, but now has to
<pippijn> opam :<
<Drup> pippijn: you mean, everyone working together for the same project in an fantastic impulse of collaboration ?
<Drup> ahahah.
<pippijn> yes
<ggole> Socialism!
<pippijn> I don't understand why people need to reinvent the wheel 500 times
* ggole proudly waves the Union Jack
<pippijn> ./configure --disable-libev --disable-react --disable-ssl --enable-unix --enable-extra --enable-preemptive --disable-glib
<pippijn> what
<pippijn> why disable libev?
<pippijn> I'm installing lwt..
<hcarty> pippijn: You need to install conf-libev (or something similar) to enable libev support
<adrien_oww> needs a use flag :P
<pippijn> great.
<pippijn> the sooner I can get rid of this mess the better
<adrien_oww> pippijn: source-based package managers are very painful on windows due to the compilation times
<n06rin> how to declarate if with only then? I mean without else.
<adrien_oww> pippijn: also, I bet pkgsrc doesn't work well on windows
<adrien_oww> (first: symlinks)
<ggole> if foo () then bar ()
<pippijn> when I have time, I'll make an opam recipe -> debian package thing
<pippijn> unless someone else does it before me
<ggole> Follow it with one ; if you want to follow it with more expressions.
<adrien_oww> (second: does it "work" on windows under msys/cygwin, or actually on windows?)
<pippijn> adrien_oww: ntfs has symlinks now
<n06rin> ggole: without double semicolon?
<adrien_oww> pippijn: unusable
<pippijn> adrien_oww: and I have no idea
<pippijn> I don't use windows
<ggole> Double semicolon is only for toplevel expressions
<ggole> You may or may not need a single semicolon.
<n06rin> hmmmm
<adrien_oww> pippijn: before creating symlinks, you need to know whether you'll point to a file or a directory; which makes symlinks to non-existant targets much much more difficult
<n06rin> thanks, ggole
<adrien_oww> pippijn: and you need admin rights
* ggole nods
<pippijn> oh
<pippijn> I didn't know that
<pippijn> that's bad
<adrien_oww> pippijn: manageable with combinations of other things but you need some special handling which I doubt pkgsrc provides
<Drup> adrien_oww: I don't envy your knowledge of windows sordid details.
<pippijn> did lablgtk ditch gladecc?
<adrien_oww> (yypkg does now; instead of patching libarchive/bsdtar I delete symlinks in the package at archiving-time and put rules in the post-inst script to create them)
<adrien_oww> pippijn: hmm?
<adrien_oww> Drup: thanks for your compassion :P
<pippijn> ah no
<Drup> adrien_oww: you're welcome :D
<pippijn> what do you need for lwt+ssl?
<pippijn> and react?
<Drup> lwt ssl and react ? Not sure to understand the question
<adrien_oww> react is standalone; ssl comes from I don't remember what =)
<pippijn> opam installs lwt without react
<adrien_oww> pippijn: you're doing lablgtk+lwt+react?
<pippijn> and without ssl
<Drup> pippijn: well then, just install ssl and react
<pippijn> adrien_oww: no, I'm doing lablgtk+lwt
<adrien_oww> Drup: afaiu it's hardcoded
<adrien_oww> pippijn: may I ask you which project you're working on?
<pippijn> just a small thing
<pippijn> nothing serious
testcocoon has quit [Quit: Coyote finally caught me]
<Drup> I just checked the opam package, no, it's not hardcoded
<Drup> just install ssl and react and it will recompile lwt with the correct options enabled
<adrien_oww> pippijn: ok, first time doing lablgtk?
<pippijn> I did that some time ago
<pippijn> in half an hour
<pippijn> it's nothing
<adrien_oww> ok, I'm very interested in any issue you encounter, even if it takes you 30 seconds to solve
<pippijn> right now I'm battling debian
<pippijn> with installing gtk2 dev files
<adrien_oww> each time you stumble on something you don't like or something you have an issue on, send me a message on IRC
<adrien_oww> (even the most trivial stuff; things add up)
<pippijn> ok
<adrien_oww> thanks =)
<adrien_oww> (if you do it, complain at once since otherwise you'll probably forget about it; thanks =) )
testcocoon has joined #ocaml
<Drup> adrien_oww: you should organize sessions with lablgtk-noobs :3
<pippijn> sure
<pippijn> oh yeah
<pippijn> adrien_oww: it crashes :)
<pippijn> on both ubuntu and debian
<adrien_oww> Drup: yeah, I could probably ask for such people on the caml-list =)
<pippijn> even the simplest hello world
<adrien_oww> pippijn: you inited gtk+?
<pippijn> yes
<pippijn> I took the hello world example
<pippijn> but I don't know, maybe that doesn't happen with the opam version
<adrien_oww> well, you can run the "lablgtk2" program
<adrien_oww> and
<adrien_oww> GWindow.window ~show:true ()
<adrien_oww> should show something
<pippijn> I can not test it anymore
<pippijn> it's all gone now, and I'm doing opam
<pippijn> I compiled and ran the hello world thing from the website/tutorial/whatever it was
<Drup> adrien_oww: before the oups evening, a lablgtk afternoon ? ^^
<adrien_oww> pippijn: ok; which ubuntu and debian versions did you have?
<adrien_oww> I don't have such machines but I'm sure I can hijack coworkers' computers =)
<adrien_oww> Drup: I work during the week ='(
<Drup> pippijn: calm down, he is in the middle of an opam revolution
tane has joined #ocaml
<adrien_oww> (but that could be good; will probably need a first pass to fix the most common issues)
<pippijn> ok, I have a problem with opam
<pippijn> when I install ssl, it says it plans to: install ssl; rebuild lwt [use ssl]
<pippijn> but then ssl failed
<pippijn> because libssl-dev wasn't installed
<pippijn> when I then did opam install ssl again, it forgot that it wanted to rebuild lwt
<Drup> install lwt again
<pippijn> yes
<hcarty> Yeah, that is an opam annoyance. If there isn't a bug already for it it's probably worth opening one.
<pippijn> I did that
<pippijn> but there was something else and I forgot what it was that it wanted to rebuild
walter|r has quit [Quit: This computer has gone to sleep]
<Drup> look in your history ?
<pippijn> you mean the scrollback?
<pippijn> because that is gone
<Drup> well, nothing to do then, sorry. Opam is really stupid about recompilation
<pippijn> it seems there is no monad-custom
<pippijn> what happened to batteries.syntax?
<hcarty> pippijn: It was removed with the Batteries 2.0 release
<pippijn> I see
<hcarty> pippijn: The syntax extensions are pacakged separately now
<hcarty> *packaged
mika1 has quit [Quit: Leaving.]
cago has left #ocaml []
<pippijn> ocamlfind: Package `lwt.text' not found
<Drup> pippijn: you need ocaml-text
<pippijn> oh
<pippijn> so not all conf things are conf-something
<pippijn> there are also ocaml-something
<Drup> afaik, ocaml-text is an ocaml library
<Drup> libev is not, and cannot be handled properly by opam for now
<pippijn> ok
<Drup> conf-bla is to make it explicit that we need a non-ocaml bla library
<pippijn> I see
<Drup> It is planed to enforce this dependency, but it's not done for now.
<pippijn> didn't help
<pippijn> I installed ocaml-text
<pippijn> and it rebuilt lwt
<pippijn> but no lwt.text
<pippijn> and there is no lablgtk2.glade
<pippijn> adrien_oww: how do I get glade?
<adrien_oww> you have the C library?
<pippijn> oh
<pippijn> no
<pippijn> how do you reinstall it?
<pippijn> Package lablgtk is already installed (current version is 2.16.0)
<pippijn> if I uninstall it, it wants to uninstall 3 other packages that use it
<pippijn> oh, there is a "reinstall"
<pippijn> which failed
<pippijn> wonderful..
<adrien_oww> yeah, package management is not trivial at all
<pippijn> wmeyer: who tried to convince me to use opam again?
<Drup> pippijn: old version of opam I presume ?
<pippijn> old?
<pippijn> ok, where do I get the new one
<Drup> It's an old bug
bkpt has joined #ocaml
<pippijn> I installed it from avsm's PPA
<Drup> (at least, It looks like what was happening with an old bug)
ttamttam has quit [Quit: ttamttam]
<avsm> a lot of these upgrade teething issues will be sorted out in 1.1, in beta shortly
<avsm> in the meanwhile, a manual 'opam install lwt js_of_ocaml' should solve that particular issue
<pippijn> yes
<pippijn> I did that now
<pippijn> now I got everything except lwt.text and batteries.syntax
chambart has quit [Ping timeout: 245 seconds]
<pippijn> so where did batteries.syntax go?
<Drup> I'm not sure it exist anymore, there was a lot of changes in batteries 2
<pippijn> :(
ttamttam has joined #ocaml
<pippijn> I need a list comprehension syntax extension
<adrien_oww> I think it doesn't exist anymore
<pippijn> :|
<pippijn> great
<pippijn> so nobody except me uses that
<Drup> (I have lwt.text, and i'm almost sure that ocaml-text is enough for that)
<companion_cube> maybe you can convince batteries' maintainers to make a batteries-extended with it ^^
<companion_cube> or package the old syntax exntesions in batteries-syntax or somehting
chambart has joined #ocaml
<pippijn> --%{ocaml-text:enable}%-text
<pippijn> seems so, yes
<pippijn> Drup: you have react?
<pippijn> because I enabled react, and then it enabled text
shinnya has joined #ocaml
<pippijn> yep
<pippijn> Drup: it needs react
<pippijn> without react, it doesn't enable text
<pippijn> opam is wonderful :\
<Drup> that's not an opam issue
<pippijn> it isn't?
<pippijn> without react: ./configure --enable-libev --disable-react --enable-ssl --enable-unix --enable-extra --enable-preemptive --enable-glib
<pippijn> with react: ./configure --enable-libev --enable-react --enable-ssl --enable-unix --enable-extra --enable-preemptive --enable-glib --enable-text
justdit has joined #ocaml
<Drup> hum, maybe an opam issue then. there should always be -enable or -disable
<pippijn> "--%{ocaml-text:enable}%-text" {"%{react:installed}%"} ]
<pippijn> apparently it was intentional
<Drup> oh, so yeah, not an opam issue :]
<pippijn> an .opam issue then
<pippijn> now all I need is a list comprehension syntax extension
<Drup> pippijn: or maybe the text module in lwt need react ...
<pippijn> maybe yes
<avsm> it's a little bit more complex, sadly. https://github.com/ocamlpro/opam/issues/641
<avsm> it would be easier if lwt had those as separately distributed packages
justdit has quit [Read error: Connection reset by peer]
<Drup> oh, that's interesting, I have this problem with the lilis package
<pippijn> Error: No implementations provided for the following modules: Deriving_Show referenced from types.cmx
<pippijn> with this:
<pippijn> /home/pippijn/.opam/system/bin/ocamlfind ocamlopt -package batteries,deriving-ocsigen,deriving-ocsigen.syntax types.cmx main.cmx -o drelex.native -linkpkg
<Drup> pippijn: did you install deriving ?
<pippijn> Drup: would it have compiled if I hadn't?
<pippijn> it doesn't link
<pippijn> $ ar t .opam/system/lib/deriving-ocsigen/deriving.a
<pippijn> deriving_Show.o
<pippijn> [...]
<pippijn> and in the cmxa: Name: Deriving_Show
shinnya has quit [Quit: ZNC - http://znc.in]
<pippijn> hmm
<pippijn> it doesn't include deriving.cmxa, only deriving_num.cmxa
ttamttam has quit [Quit: ttamttam]
<pippijn> I guess batteries includes num
<pippijn> and then I need to open Deriving_num everywhere
pkrnj has joined #ocaml
<pippijn> doesn't help
tane has quit [Quit: Verlassend]
<pippijn> ok, no more deriving for me
n06rin has quit [Quit: Leaving.]
Drup has quit [Ping timeout: 264 seconds]
justdit has joined #ocaml
Arsenik has joined #ocaml
mcstar has joined #ocaml
<mcstar> can someone offer me a copy of metaocaml? i seem to cant find any mirrors of it, and the i cant download it either from its main site
darkf has quit [Quit: Leaving]
<hcarty> pippijn: The old Batteries list comprehension extension is available from opam as pa_comprehension IIRC
<pippijn> oh
<pippijn> good :)
ontologiae has quit [Ping timeout: 260 seconds]
Anarchos has joined #ocaml
<technomancy> can you cross-compile native code to OS X from gnu/linux?
<whitequark> technomancy: there is darwin-gcc.
<whitequark> I'm afraid you are in a world of pain with it, but it exists and seems to work.
<whitequark> it is also theoretically possible to combine clang with target=darwin and darwin-binutils for perhaps better results.
<technomancy> eh no worries; I'll just make the macosecksists compile for themselves =P
<whitequark> you can distribute bytecode
<whitequark> I *think* bytecode includes all library dependencies.
<technomancy> hm... dunno. seems like if I'm going to get them to install the runtime they might as well just go all the way and pull in the whole toolchain
<technomancy> but I guess installing async via opam can take like fifteen minutes
<technomancy> I can get an OS X friend to compile too, but I feel weird about signing a binary I didn't produce myself.
Kakadu has joined #ocaml
<pippijn> I'm going to get so much trouble with GADTs :\
<ggole> I've never successfully used one yet. (In a real program.)
contempt has quit [Ping timeout: 276 seconds]
contempt has joined #ocaml
justdit has quit [Read error: Connection reset by peer]
justdit has joined #ocaml
contempt has quit [Ping timeout: 245 seconds]
<pippijn> yeah, this is pain
<pippijn> I have a pattern -> pattern list function
derek_c has quit [Quit: Lost terminal]
justdit has quit [Read error: Connection reset by peer]
contempt has joined #ocaml
Drup has joined #ocaml
<pippijn> PatConcat is throwing shit in my face :\
<pippijn> it's the one with ('a * 'b) at the end
<pippijn> I need to put ('a * 'b) pattern and 'b pattern in a list together
dnm has joined #ocaml
<ggole> Hmm, why?
arquebus has joined #ocaml
<pippijn> the derivative of (p1, p2) is (p1', p2), if p1 is not nullable, and it is (p1', p2)+p2' if p1 *is* nullable
<pippijn> for example
<ggole> Hrmm
<pippijn> the pattern "ab" derived over 'a' will be "b"
<ggole> Sounds like an excessive amount of fun to figure out.
<pippijn> or let's say "aab" over 'a' is "ab"
<pippijn> and "a?ab" over 'a' is "ab|b"
<pippijn> where | is the choice operator
<pippijn> if I don't put them into a list together, I need to handle them separately
<pippijn> but that doesn't work, because in the end, they must be in a list together
<pippijn> maybe it's not possible..
arquebus has quit [Quit: Konversation terminated!]
<pippijn> but maybe it doesn't need to be heterogenous
<pippijn> that's such a pity
<pippijn> I don't think it works :\
mcclurmc has quit [Quit: Leaving.]
pkrnj has quit [Quit: Computer has gone to sleep.]
Drup has quit [Ping timeout: 256 seconds]
ollehar has quit [Ping timeout: 245 seconds]
pkrnj has joined #ocaml
tobiasBora has joined #ocaml
turnersr has joined #ocaml
ggole has quit []
Drup has joined #ocaml
bkpt has quit [Quit: Leaving]
<companion_cube> is there a straightforward way to perform DNS lookup in OCaml ?
<Anarchos> no idea
<asmanur_> companion_cube: there is a function in Unix, gethostbyname iirc
Kakadu has quit [Ping timeout: 245 seconds]
<companion_cube> oh
<companion_cube> asmanur_: thanks
chambart has quit [Ping timeout: 245 seconds]
rwmjones has quit [Ping timeout: 240 seconds]
<adrien> CONFORMING TO POSIX.1-2001 specifies gethostbyname(), gethostbyaddr(), sethostent(), endhostent(), gethostent(), and h_errno; gethostbyname(), gethost‐ byaddr(), and h_errno are marked obsolescent in that standard. POSIX.1-2008 removes the specifications of gethostbyname(), gethost‐ byaddr(), and h_errno, recommending the use of getaddrinfo(3) and get‐ nameinfo(3) instead.
<adrien> or, earlier in the manpage:
<adrien> DESCRIPTION The gethostbyname*() and gethostbyaddr*() functions are obsolete. Applications should use getaddrinfo(3) and getnameinfo(3) instead.
<companion_cube> well, anyway, there is stuff for this in Unix, that I did not see
rwmjones has joined #ocaml
chambart has joined #ocaml
Simn has quit [Quit: Leaving]
thomasga has quit [Quit: Leaving.]
dnm has quit [Ping timeout: 276 seconds]
mcstar has quit [Quit: mcstar]
turnersr has quit [Ping timeout: 240 seconds]
Anarchos is now known as haiku_ocaml_guy_
haiku_ocaml_guy_ is now known as without_opam
chambart has quit [Read error: Operation timed out]
turnersr has joined #ocaml
without_opam is now known as Anarchos
Snark has quit [Quit: leaving]
_andre has quit [Quit: leaving]
dnm has joined #ocaml
yakov_ has joined #ocaml
zpe has quit [Remote host closed the connection]
yakov_ has quit [Quit: Leaving]
Arsenik has quit [Remote host closed the connection]
rwmjones has quit [Ping timeout: 240 seconds]
Myk267 has quit [Quit: Myk267]
rwmjones has joined #ocaml
djcoin has quit [Quit: WeeChat 0.4.0]
everyonemines has joined #ocaml
pkrnj has quit [Quit: Computer has gone to sleep.]
ontologiae has joined #ocaml
mcsquiggedy has quit [Ping timeout: 268 seconds]
mcsquiggedy has joined #ocaml
ontologiae has quit [Ping timeout: 240 seconds]
yakov_ has joined #ocaml
void64 has quit [Ping timeout: 240 seconds]
yakov_ has quit [Client Quit]
everyonemines has quit [Quit: Leaving.]
void64 has joined #ocaml
ollehar has joined #ocaml
venk has quit [Ping timeout: 245 seconds]
watermind has joined #ocaml
pkrnj has joined #ocaml
venk has joined #ocaml
Neros has quit [Ping timeout: 246 seconds]
ollehar has quit [Quit: ollehar]
turnersr has quit [Ping timeout: 264 seconds]
gnuvince has quit [Remote host closed the connection]
pkrnj has quit [Quit: Computer has gone to sleep.]
tobiasBora has quit [Quit: Konversation terminated!]
pkrnj has joined #ocaml
gnuvince has joined #ocaml
gnuvince has quit [Changing host]
gnuvince has joined #ocaml