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/
ollehar has quit [Ping timeout: 264 seconds]
travisbrady has joined #ocaml
<pippijn> (byte code)
dfarmer has quit [Ping timeout: 240 seconds]
yacks has quit [Ping timeout: 256 seconds]
yacks has joined #ocaml
stevej has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
ollehar has joined #ocaml
csakatoku has joined #ocaml
breakds has quit [Remote host closed the connection]
dsheets has quit [Read error: Operation timed out]
nixfreak has joined #ocaml
<nixfreak> installed opam but getting error trying to install anything using opam
<nixfreak> opam install utop
<nixfreak> 'opam install utop' failed.
<nixfreak> Fatal error: exception End_of_file
<nixfreak> would the file be ocamlinit ??
madroach has quit [Ping timeout: 248 seconds]
madroach has joined #ocaml
ivan\ has quit [Ping timeout: 256 seconds]
nixfreak has quit [Ping timeout: 252 seconds]
ollehar has quit [Ping timeout: 264 seconds]
f[x] has quit [Ping timeout: 264 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
ivan\ has joined #ocaml
osnr has quit [Client Quit]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
oriba has quit [Quit: oriba]
mattrepl has quit [Quit: mattrepl]
asmanur has quit [Ping timeout: 245 seconds]
f[x] has joined #ocaml
osnr has quit [Read error: Connection reset by peer]
osnr1 has joined #ocaml
osnr1 has quit [Quit: Leaving.]
asmanur has joined #ocaml
travisbrady has quit [Quit: travisbrady]
talzeus has joined #ocaml
chrisdotcode has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
darkf has joined #ocaml
justdit has joined #ocaml
justdit has quit [Ping timeout: 252 seconds]
fraggle_laptop has quit [Remote host closed the connection]
pootler_ has quit [Ping timeout: 240 seconds]
pootler__ has quit [Ping timeout: 246 seconds]
mattrepl has joined #ocaml
nixfreak has joined #ocaml
gautamc has quit [Read error: Connection reset by peer]
gautamc has joined #ocaml
derek_c has joined #ocaml
dfarmer has joined #ocaml
pootler_ has joined #ocaml
pootler__ has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
pootler__ has quit [Ping timeout: 255 seconds]
pootler_ has quit [Ping timeout: 255 seconds]
osnr has quit [Quit: Leaving.]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
f[x] has quit [Ping timeout: 256 seconds]
justdit has joined #ocaml
justdit has quit [Read error: No route to host]
justdit has joined #ocaml
Yoric has joined #ocaml
Watcher7 is now known as Watcher7|off
Zeev has joined #ocaml
dfarmer has quit [Ping timeout: 260 seconds]
pootler_ has joined #ocaml
speredenn has joined #ocaml
pootler_ has quit [Ping timeout: 256 seconds]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
ttamttam has joined #ocaml
ttamttam has quit [Client Quit]
justdit has quit [Quit: Lost terminal]
mal`` has quit [Ping timeout: 256 seconds]
mal`` has joined #ocaml
ggole has joined #ocaml
csakatok_ has joined #ocaml
csakatoku has quit [Ping timeout: 248 seconds]
osnr has quit [Quit: Leaving.]
pootler_1 has joined #ocaml
<gasche> hcarty: not all ocamlbuild users use OASIS, so I think it's better to have the useful plugin developped separately
pootler_2 has joined #ocaml
<gasche> (which can then of course be included in oasis)
<gasche> besides, I'm not sure how much the idea that "ocamlbuild doesn't support external modules" is true
<gasche> I never tried to do something like that, but I don't really understand why that wouldn't be at arms length
<gasche> (obviously other people seem to have tried that and did not get it working, but still it's unclear to me why)
pootler__ has quit [Ping timeout: 252 seconds]
pootler_ has quit [Ping timeout: 260 seconds]
talzeus has quit [Read error: Connection reset by peer]
talzeus has joined #ocaml
pootler_ has joined #ocaml
pootler__ has joined #ocaml
pootler_1 has quit [Ping timeout: 240 seconds]
q66 has joined #ocaml
pootler_2 has quit [Ping timeout: 240 seconds]
ttamttam has joined #ocaml
Netfeed has quit [Changing host]
Netfeed has joined #ocaml
Snark has joined #ocaml
derek_c has quit [Ping timeout: 255 seconds]
derek_c has joined #ocaml
zpe has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Ping timeout: 246 seconds]
zpe has quit [Ping timeout: 252 seconds]
tane has joined #ocaml
Zeev has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
talzeus has quit [Remote host closed the connection]
raichoo has joined #ocaml
_habnabit has quit [Remote host closed the connection]
_habnabit has joined #ocaml
talzeus has joined #ocaml
talzeus has quit [Remote host closed the connection]
_habnabit has quit [Remote host closed the connection]
ontologiae has joined #ocaml
talzeus has joined #ocaml
derek_c has quit [Quit: leaving]
_habnabit has joined #ocaml
thomasga has joined #ocaml
f[x] has joined #ocaml
ontologiae has quit [Ping timeout: 256 seconds]
zpe has joined #ocaml
_habnabit has quit [Remote host closed the connection]
_habnabit has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
mika1 has joined #ocaml
cago has joined #ocaml
osnr has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
osnr has quit [Ping timeout: 255 seconds]
ontologiae has joined #ocaml
eikke has joined #ocaml
cdidd has quit [Ping timeout: 248 seconds]
eikke has quit [Ping timeout: 240 seconds]
zpe has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
testcocoon has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
testcocoon has quit [Client Quit]
eikke has joined #ocaml
testcocoon has joined #ocaml
testcocoon has quit [Client Quit]
testcocoon has joined #ocaml
testcocoon has quit [Client Quit]
testcocoon has joined #ocaml
Kakadu has joined #ocaml
testcocoon has quit [Client Quit]
testcocoon has joined #ocaml
testcocoon has quit [Client Quit]
testcocoon has joined #ocaml
testcocoon has quit [Client Quit]
testcocoon has joined #ocaml
Kakadu has quit [Client Quit]
Kakadu has joined #ocaml
Yoric has quit [Ping timeout: 256 seconds]
eikke has quit [Ping timeout: 264 seconds]
eikke has joined #ocaml
testcocoon has quit [Client Quit]
testcocoon has joined #ocaml
ollehar has joined #ocaml
testcocoon has quit [Client Quit]
testcocoon has joined #ocaml
ohama has quit [Ping timeout: 260 seconds]
ohama has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
zpe has joined #ocaml
osnr has quit [Ping timeout: 268 seconds]
zpe has quit [Ping timeout: 256 seconds]
tane has quit [Quit: Verlassend]
Zeev has joined #ocaml
weie has quit [Quit: Leaving...]
zpe has joined #ocaml
zpe has quit [Read error: No route to host]
zpe has joined #ocaml
adrien_oww has quit [Ping timeout: 268 seconds]
mcclurmc has joined #ocaml
adrien_oww has joined #ocaml
Yoric has joined #ocaml
rwmjones is now known as rwmjones_rowing
weie has joined #ocaml
eikke has quit [Ping timeout: 264 seconds]
rwmjones_rowing is now known as rwmjones
dsheets has joined #ocaml
cdidd has joined #ocaml
ontologiae has quit [Ping timeout: 264 seconds]
skchrko has quit [Remote host closed the connection]
csakatok_ has quit [Remote host closed the connection]
_andre has joined #ocaml
eikke has joined #ocaml
skchrko has joined #ocaml
troydm has quit [Read error: Operation timed out]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Ping timeout: 256 seconds]
f[x] has quit [Ping timeout: 264 seconds]
spanish has joined #ocaml
foo808_ has joined #ocaml
Drup has joined #ocaml
foo808 has quit [Ping timeout: 245 seconds]
talzeus has quit [Remote host closed the connection]
djcoin has joined #ocaml
<spanish> yeah!, I got a couple of nice fixes de-sissyfying mtasc, though I finally had to do pre-process ocaml thourgh a loop on the makefile, which is completely unsuitable
<spanish> but I couldn't get ocaml behaving at all
<spanish> hell, that's correct english
<spanish> what I did was to prefix source files with `sp-' and then preprocess them and output as the same without it, then run ocaml
troydm has joined #ocaml
adrien_o1w has joined #ocaml
ontologiae has joined #ocaml
adrien_oww has quit [Ping timeout: 255 seconds]
<gasche> spanish: have you got your repro case around to try?
<gasche> I'm quite sure you should be able to use the "-pp" option to avoid Makefile hacks
darkf has quit [Quit: Leaving]
darkf has joined #ocaml
eikke has quit [Ping timeout: 255 seconds]
eikke has joined #ocaml
cdidd has quit [Read error: Connection reset by peer]
thomasga1 has joined #ocaml
thomasga has quit [Ping timeout: 264 seconds]
<spanish> what gasche?
<spanish> I guess you mean if I can handle you the source?
<gasche> spanish: a few days ago I asked you for a small reproductible example of the issue you had
<gasche> (integrating a cpp pass in an OCaml compilation workflow)
<gasche> when you said you tried with -pp but it didn't work
<spanish> the link I pasted was a reproducible case gasche
<gasche> could you give that link again?
<spanish> it's not just the compiler, but the lexer also, and the whole thing
<spanish> ocaml is not really meant to be flexible to anything that it's ocaml
<spanish> *that it's not ocaml
* gasche not convinced
tane has joined #ocaml
<spanish> the file you should be looking should be `test/Makefile.am'
<spanish> or `compiler/Makefile.am' can't recall for sure
<spanish> if you modify that file and type `make' `Makefile' gets rebuilt and yur changes apply
<gasche> I don't have the URL adress of the file (anymore), could you give it again
<gasche> ?
<spanish> sure, let me see
ollehar has quit [Ping timeout: 252 seconds]
remyzorg has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<pippijn> I'm not getting useful backtraces from Printexc.print_backtrace when using Lwt
clog has quit [^C]
clog has joined #ocaml
mattrepl has quit [Quit: mattrepl]
dsheets has quit [Read error: Operation timed out]
dsheets has joined #ocaml
breakds has quit [Quit: Konversation terminated!]
<pippijn> Kakadu: you're doing qml, right?
<Kakadu> pippijn: ask
<pippijn> how is it going?
<Kakadu> helloworld works
<pippijn> I have skimmed it
<MarcWeber> What is `Tuple ? "- : [> `Tuple ] = `Tuple" ?
<MarcWeber> Is this related to streams?
<Kakadu> MarcWeber: Polymorphic variant
<Kakadu> pippijn: why do you ask?
zpe has quit [Remote host closed the connection]
<pippijn> because I want to make a gui
<pippijn> not now, but maybe soon
<gasche> MarcWeber: did you try my code proposal above?
zpe has joined #ocaml
<MarcWeber> gasche: I undesrstand that its close, but doesn't compile.
<MarcWeber> Smohowe the $...$ -> $...$ is bad.
<gasche> the use of `Tuple and `Function is defined in deriving/syntax/type.ml
<MarcWeber> comparing the camlp4f output this is the resolt of the type a= line of tuple and "int -> int"
<gasche> were is the "->" ?
<gasche> have you tried the second proposal with (`Function f)?
<gasche> s/were/where/
<MarcWeber> srf
<MarcWeber> sry
<Kakadu> pippijn: more concretely, I'm looking for testers now
<MarcWeber> gasche: That compiles just fine.
travisbrady has quit [Quit: travisbrady]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
eikke has quit [Read error: Operation timed out]
<MarcWeber> So polymorphic variants are like creating variants "on the fly" without declaring a type? Its like "Either" for arbitrary many variants - and the "left/right" have sane names ?
<companion_cube> it's indeed creating variants on the fly
<gasche> meh
<companion_cube> but types are still there :)
Kakadu has quit [Quit: Konversation terminated!]
raichoo has joined #ocaml
<ggole> That's not really like Either...
<companion_cube> I think what MarcWeber meant, is that variants can replaced a Either type by something more explicit in names
<companion_cube> something with more explicit cases
smondet has joined #ocaml
<gasche> Polymorphic variants are both structural (they don't need to be declared upfront to have an identity) and extensible (they can be extended by either row polymorphism or subtyping)
dsheets has quit [Ping timeout: 260 seconds]
<gasche> in the deriving codebase, I think polymorphic variants are used because of the extensibility aspect
<gasche> in practice all the variants involved are declared upfront
<ggole> The subtyping seems a bit flaky
<gasche> (which is good practice if you want to avoid confusing type error messages)
<ggole> You have to cast a lot :(
<gasche> the subtyping is explicit
<gasche> which is more or less the "good" way to do subtyping in a language with polymorphism
gautamc has quit [Read error: Connection reset by peer]
<ggole> GADTs can express something a bit like a subtyping relation
<ggole> But I haven't grokked those in all fullness yet
<ggole> They also seem to require annotations. But perhaps that is the price to pay for sane subtyping.
gautamc has joined #ocaml
<gasche> inference of polymorphism, inference of subtyping, pick one
<gasche> (note that in OCaml there are really two languages involved: the term language, with implicit polymorphism and explicit subtyping, and the module language with no polymorphism and implicit subtyping)
<ggole> So far I've found that the datatypes I wish to subtype are not polymorphic
* companion_cube tries to imagine what module-level polymorphism would be
<gasche> but I'm not sure what you mean about using GADTs for subtyping; I don't think that would work without injective a primitive notion of subtyping at some point
<gasche> companion_cube: abstraction on module types
<companion_cube> hmm
<ggole> Say, type 'a foo = Foo : int -> [`Foo] foo | Bar : float -> [`Bar] foo
<gasche> ah
<ggole> Then you can use gadt constaints to talk about subsets of constructors
<gasche> that's not really subtyping, but more like playing with phantom types
<ggole> Yes
<gasche> there is no "real" subtyping involved if you never cast values
<ggole> but the effect is remarkably similar
<ggole> You get to forget about irrelevant constructors when matching, for instance
<companion_cube> ggole: not if you consider extensibility
<ggole> Yes, this is "up front" subtyping
<ggole> I'm not sure if it would be a good idea or not, frankly
<ggole> Still working on my understanding of GADTs
<gasche> I personally prefer to avoid using polymorphic variants to instantiate GADT parameters
<gasche> I think GADTs alone are complex enough with simple (abstract) types
<companion_cube> gasche: wait, GADT often require type annotations anyway :D
<ggole> It seems to work ok in my toy examples
<ggole> Although annotations are required where a subtype is matched on
<gasche> functors also give you that impression :-'
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<ggole> How would you attack a "subtype problem"? Basic variants, and assert false on the "impossible" values?
* ggole doesn't care for that
<gasche> what do you call a "subtype problem"?
<gasche> (I will leave soon, btw.)
speredenn has quit [Read error: Operation timed out]
<ggole> When you naturally have a variant that is the same as another variant, except one or more legs is impossible
remyzorg has quit [Quit: Quitte]
<ggole> Say you are modelling instruction operands. The most general operand can be a register, memory, or an immediate value.
<ggole> But some instructions have operands that cannot be one of those.
<gasche> yeah, I know
<gasche> this problem
<ggole> How do you model this without writing the same code ten times?
<gasche> I think it depends on how much the sub-variant is used
<gasche> if it's one or two time, I'm fine with assert false
<gasche> if it's an important immediate language, I usually copy ADTs
<gasche> (or polymorphic variants but with strict annotations)
<gasche> I haven't had to do that design again in presence of GADTs yet
<ggole> And then duplicate code for the copied ADTs -_-
<ggole> Neither solution really feels right
osnr has quit [Ping timeout: 266 seconds]
<ggole> I have the beginnings of a toy model based on the "subtype" trick I mentioned
<ggole> But I'm not sure about it so far
<gasche> if I have to choose between "feels right" and "easy to understand, maintain and explain on the long run", I prefer the latter
<ggole> Sure
<ggole> But it would be nice to have both :)
ollehar has quit [Ping timeout: 264 seconds]
<gasche> got to go; see you
<ggole> Later.
skchrko has quit [Quit: Leaving]
ollehar has joined #ocaml
ttamttam has quit [Ping timeout: 264 seconds]
ollehar has quit [Read error: Connection reset by peer]
travisbrady has joined #ocaml
beckerb has quit [Ping timeout: 245 seconds]
Yoric has quit [Ping timeout: 264 seconds]
ontologiae has quit [Ping timeout: 256 seconds]
zpe has quit [Remote host closed the connection]
<MarcWeber> Two more questions: If I want to derive Show of a foreign module, there is no other way then patching that makefile to make deriving derive the show code?
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
ontologiae has joined #ocaml
<MarcWeber> http://dpaste.com/1257190/ Is it possible to derive show for "type ('k, 'v) map = ..", either by using deriving (Show) or by writing that implementation manually?
skchrko has joined #ocaml
<ggole> I don't know much about derive, but it's hard to see how you could write show manually for any type 'k
maufred_ has quit [Ping timeout: 246 seconds]
<ggole> The ocaml "solution" here is functors, but they can be clumsy.
thomasga1 has quit [Ping timeout: 264 seconds]
ttamttam has joined #ocaml
ulfdoz has joined #ocaml
f[x] has quit [Ping timeout: 256 seconds]
mattrepl has joined #ocaml
ttamttam has quit [Client Quit]
ollehar has joined #ocaml
dsheets has joined #ocaml
troydm has quit [Quit: What is hope? That all of your wishes and all of your dreams come true? (C) Rau Le Creuset]
troydm has joined #ocaml
pootler_ has quit [Ping timeout: 246 seconds]
pootler__ has quit [Ping timeout: 268 seconds]
pootler_ has joined #ocaml
pootler__ has joined #ocaml
yacks has quit [Ping timeout: 246 seconds]
emmanuelux has joined #ocaml
justdit has joined #ocaml
zpe has joined #ocaml
zpe has quit [Read error: Operation timed out]
mattrepl has quit [Quit: mattrepl]
<ollehar> is first class module signatures something that could be useful?
<troydm> ollehar: depends on how you are going to use them?
<troydm> ollehar: but i don't think that ocaml supports that
<ollehar> no
<ollehar> I heard scala had something like it
<ollehar> like first class typeclasses
<troydm> don't know anything about scala
<troydm> i should probably learn
<troydm> but i do like clojure more
yacks has joined #ocaml
mattrepl has joined #ocaml
tobiasBora has quit [Ping timeout: 256 seconds]
ttamttam has joined #ocaml
justdit has quit [Quit: Lost terminal]
eikke has joined #ocaml
ttamttam has left #ocaml []
ulfdoz has quit [Ping timeout: 246 seconds]
ulfdoz has joined #ocaml
<pippijn> meh, Lwt.async is only in 2.4, not in 2.3 (which ubuntu has)
<pippijn> look at that, ubuntu is more outdated than debian
tani has joined #ocaml
Yoric has joined #ocaml
tane has quit [Ping timeout: 260 seconds]
ontologiae has quit [Ping timeout: 240 seconds]
Kakadu has joined #ocaml
ggole has quit []
eikke has quit [Ping timeout: 260 seconds]
tobiasBora has joined #ocaml
tobiasBora has quit [Remote host closed the connection]
thomasga has joined #ocaml
mcclurmc has quit [Ping timeout: 260 seconds]
BiDOrD has joined #ocaml
BiDOrD_ has quit [Ping timeout: 248 seconds]
ollehar has quit [Ping timeout: 246 seconds]
darkf has quit [Quit: Leaving]
travisbrady has quit [Quit: travisbrady]
tobiasBora has joined #ocaml
thomasga has quit [Quit: Leaving.]
Drup has quit [Ping timeout: 264 seconds]
testcocoon has quit [Read error: Connection reset by peer]
Watcher7|off is now known as Watcher7
travisbrady has joined #ocaml
testcocoon has joined #ocaml
Zeev has quit [Ping timeout: 264 seconds]
Drup has joined #ocaml
mattrepl has quit [Quit: mattrepl]
mattrepl has joined #ocaml
mattrepl has quit [Client Quit]
_andre has quit [Quit: leaving]
UncleVasya has joined #ocaml
weie_ has joined #ocaml
weie has quit [Ping timeout: 255 seconds]
tianon has quit [Ping timeout: 246 seconds]
chrisdotcode has quit [Remote host closed the connection]
osa1 has joined #ocaml
tianon has joined #ocaml
Snark has quit [Quit: leaving]
Kakadu has quit []
raichoo has quit [Quit: leaving]
cdidd has quit [Ping timeout: 260 seconds]
cdidd has joined #ocaml
mcclurmc has joined #ocaml
eikke has joined #ocaml
spanish has quit [Quit: Leaving]
<amiller_> what would be the difficulty in implementing a quoting scheme for parsetree.mli
<amiller_> there isn't anything in particular about it is there?
<amiller_> i mean anything harder than what's done for camlp4
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
djcoin has quit [Quit: WeeChat 0.4.0]
manud has joined #ocaml
travisbrady has quit [Quit: travisbrady]
ulfdoz has quit [Ping timeout: 246 seconds]
<gasche> amiller_: what do you mean by "a quoting scheme"?
<amiller_> <:parsetree< if true then () else () >>
<gasche> you should look at Alain Frisch's extension_points branch
<amiller_> oh
osa1 has quit [Quit: Konversation terminated!]
manud has quit [Ping timeout: 252 seconds]
skchrko has quit [Quit: Leaving]
Yoric has quit [Ping timeout: 252 seconds]
q66 has quit [Remote host closed the connection]
smondet has quit [Quit: Gotta go home]
<ousado> where can I find info about how ocaml implements HOFs?
eikke has quit [Ping timeout: 255 seconds]
eikke has joined #ocaml
oriba has joined #ocaml
tobiasBora has quit [Quit: Konversation terminated!]
osa1 has joined #ocaml
<hnrgrgr> ousado: it is classical closures.
osa1 has quit [Client Quit]
<oriba> :-)
<hnrgrgr> maybe too general but first idea is: http://gallium.inria.fr/~xleroy/mpri/2-4/semantics.2up.pdf
<hnrgrgr> but there is probably a lot of textbook on the subject.
mcclurmc has quit [Ping timeout: 248 seconds]
<ousado> hnrgrgr: thanks, but I'm more after how it achieves it's performance, and whether it specializes (sometimes) or how the dispatch is handled
eikke has quit [Ping timeout: 255 seconds]
eikke has joined #ocaml
Watcher7 is now known as Watcher7|off
osnr has quit [Quit: Leaving.]
mfp has quit [Ping timeout: 268 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
Watcher7|off is now known as Watcher7
mfp has joined #ocaml
Simn has joined #ocaml
tani has quit [Quit: Verlassend]
eikke has quit [Ping timeout: 264 seconds]
eikke has joined #ocaml
venk` has quit [Ping timeout: 248 seconds]
Simn has quit []
eikke has quit [Ping timeout: 252 seconds]
mattrepl has joined #ocaml