TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
Emmanuel`_ has quit [Quit: Konversation terminated!]
ollehar has quit [Quit: ollehar]
<seangrove>
aantron_: I chuckled at your, "I don't know how well ocaml *can* do ..." comment
<seangrove>
It struck a chord with me ;)
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 248 seconds]
<Leonidas>
Algebr: my room in Fes is amazing, it has a door. unlike all other rooms here :D
<Leonidas>
Algebr: how did you manage to get kicked out of a terminal?
<Algebr>
haha, nicely done. A man on a bicycle said I had to get out, that they were closing it
<lobo>
Leonidas: oh. well, a door should be worth at least one star
Vintila has quit [Ping timeout: 244 seconds]
<Leonidas>
it has electricity, I've had worse.
<lobo>
Leonidas: oh yeah and you've got internet somehow
<Leonidas>
lobo: i have a maroccan sim. but they have wifi, true. I'm completely fine with my choice :-)
dsheets has joined #ocaml
<Leonidas>
they also have some french people here, which will probably increase my ocaml skills
<Algebr>
by osmosis?
newbie|8 has joined #ocaml
<Leonidas>
heh, connection broke down.
dsheets has quit [Ping timeout: 250 seconds]
<Leonidas>
Algebr: by forcing me to practice my french, thus allowing me to access more ocaml resources :D
<Algebr>
I wonder how much knowledge is language locked
<Leonidas>
In all honesty, I believe it is much less than it used to be couple of years ago. I basically never stumble into french stuff
<Leonidas>
If I were to pick up Coq that might look different
<seangrove>
Hrm, is Coq not used widely outside of France?
<newbie|8>
Is there any documents about the architecture of the OCaml compiler?
therac25 has joined #ocaml
<Algebr>
newbie|8: smth specific in mind?
<newbie|8>
Algebr: "smth"?
<Algebr>
something
<Leonidas>
seangrove: my german friends use isabelle
<def`>
Coq seems mostly used outside of France.
<newbie|8>
Algebr: Nothing specific. I've been reading quite a bit about implementing functional languages, but its mostly papers about specific things (one paper about CPS, one about compiling pattern matches, ...) i'd like to see how a production system puts them all together.
<Leonidas>
newbie|8: there is one book by helmut seidl which explains how functional languages like ML can get compiled. I liked it, YMMV.
<seangrove>
Algebr: Looking at the SO survey, the only mention of OCaml is "Delphi was the most commonly used write-in language or technology, and Typescript is the write-in that more developers want to use. (Hey, we see you OCaml.)"
<seangrove>
Hrm, Clojure doesn't fair great, but I suppose for a lisp it's not too bad at all
<seangrove>
I don't remember where I bought it - I assume off of Amazon
<Drup>
seangrove: is bootvar fixed now ?
<seangrove>
Drup: I think so, but don't remember exactly. I have too many pins.
hxegon has quit [Quit: BRB]
<seangrove>
Drup: Time for another Mirage release, perhaps?
<seangrove>
I wouldn't mind seeing more frequent releases. There are just so many different packages to keep straight if they're not released frequently enough
<Drup>
bootvar is independent
<seangrove>
Is it though, if Mirage can't boot on EC2 because of it?
jeffmo has quit [Quit: jeffmo]
<Drup>
what I mean is that it's not a release of mirage you need, it's a release of bootstrap
<Drup>
bootvars*
nicholasf has quit [Remote host closed the connection]
dsheets has joined #ocaml
nicholasf has joined #ocaml
dsheets has quit [Ping timeout: 248 seconds]
Emmanuel`_ has joined #ocaml
<newbie|8>
seangrove: I've read LiSP, but the chapter on compiling to C was kind of weak, as the author admitted.
<seangrove>
Oui, oui...
<newbie|8>
seangrove: I'm also curious to see how things like type inference and set builder notation are implemented, for example.
<seangrove>
newbie|8: Yeah, I suspected LiSP would be a bit different, but still in the same vaguely similar direction ;)
<newbie|8>
seangrove: Is "The ZINC Experiment" still relevant to OCaml?
<seangrove>
newbie|8: No idea, sorry
<yunxing>
hey does anyone know how to change the precedence of the "error" token in ocamlyacc?
<yunxing>
Ah, I found it, I can just set it as other tokens
yunxing has quit [Remote host closed the connection]
yunxing has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
FreeBirdLjj has joined #ocaml
yunxing has quit [Remote host closed the connection]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
dsheets has joined #ocaml
seangrove has quit [Ping timeout: 250 seconds]
dsheets has quit [Ping timeout: 276 seconds]
ygrek has quit [Ping timeout: 252 seconds]
<infinity0>
how do i get a handle to the 3rd file descriptor? openfile "/proc/self/fd/3" works here but apparently it's not available on bsd
yunxing has joined #ocaml
<Algebr>
is there like a dup2 on bsd?
yunxing has quit [Remote host closed the connection]
Algebr has quit [Remote host closed the connection]
<infinity0>
oh looks like /dev/fd/3 is available on bsd, i guess i can use that
therac25 has quit [Quit: therac25]
noddy has quit [Quit: "it's a bit backwards around here"]
aantron_ has quit [Quit: Leaving...]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
dsheets has joined #ocaml
Emmanuel`_ has joined #ocaml
noddy has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
yunxing has joined #ocaml
newbie|8 has quit [Ping timeout: 240 seconds]
hxegon has joined #ocaml
dsheets has joined #ocaml
yunxing has quit [Ping timeout: 248 seconds]
dsheets has quit [Ping timeout: 244 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
noddy has quit [Quit: "it's a bit backwards around here"]
therac25 has joined #ocaml
therac25 has quit [Client Quit]
zoobab has quit [Remote host closed the connection]
yunxing has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
dsheets has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
dsheets has quit [Ping timeout: 248 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
GeorgeHahn has quit [Read error: Connection reset by peer]
darkf has quit [Read error: Connection reset by peer]
hxegon has quit [Quit: BRB]
clockish has quit [Ping timeout: 276 seconds]
clockish has joined #ocaml
Lasher` has quit [Remote host closed the connection]
Lasher` has joined #ocaml
darkf has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 246 seconds]
sz0 has joined #ocaml
ggole has joined #ocaml
antkong_ has quit [Quit: antkong_]
ggole_ has joined #ocaml
ggole has quit [Ping timeout: 260 seconds]
AlexRussia has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
nicholasf has quit [Ping timeout: 250 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
seangrove has joined #ocaml
MercurialAlchemi has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
nicholasf has joined #ocaml
GeorgeHahn has joined #ocaml
nicholasf has quit [Remote host closed the connection]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
ggole__ has joined #ocaml
antkong has joined #ocaml
yunxing has quit [Remote host closed the connection]
ggole_ has quit [Ping timeout: 268 seconds]
seangrove has quit [Ping timeout: 276 seconds]
malc_ has joined #ocaml
ggole_ has joined #ocaml
ggole__ has quit [Ping timeout: 260 seconds]
ggole__ has joined #ocaml
FreeBird_ has joined #ocaml
FreeBird_ has quit [Remote host closed the connection]
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
wiredsister has joined #ocaml
ggole_ has quit [Ping timeout: 248 seconds]
wiredsister has quit [Remote host closed the connection]
wiredsister has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
larhat has joined #ocaml
slicefd has joined #ocaml
antkong has quit [Quit: antkong]
butts_butts has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
Simn has joined #ocaml
butts_butts has quit [Ping timeout: 244 seconds]
tane has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
wiredsister has quit [Ping timeout: 260 seconds]
GeorgeHahn has quit [Read error: Connection reset by peer]
ontologiae has joined #ocaml
Haudegen has quit [Ping timeout: 260 seconds]
dsheets has joined #ocaml
pierpa has joined #ocaml
darkf has quit [Quit: Leaving]
kakadu has joined #ocaml
ggole__ is now known as ggole
badon has quit [Ping timeout: 264 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
infinity0 has quit [Ping timeout: 248 seconds]
badon has joined #ocaml
nicholasf has joined #ocaml
sepp2k has joined #ocaml
infinity0 has joined #ocaml
malc_ has left #ocaml ["ERC (IRC client for Emacs 25.0.50.2)"]
OnkV has joined #ocaml
OnkV has quit [Ping timeout: 260 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
kerneis has joined #ocaml
badon has quit [Ping timeout: 240 seconds]
nicholasf has quit [Remote host closed the connection]
<kerneis>
hi - I've got a user trying to build cmxs with ocamlbuild. One of his source files is foobarparse.mly (compiled with ocamlyacc). When he tries to load the library, he gets an error "undefined symbol: camlFoobarparse". Manually linking a cmxa/cmxs works. Does that ring a bell?
<kerneis>
ah, he doesn't have a mllib/mldylib file
<kerneis>
per https://github.com/gasche/manual-ocamlbuild/blob/master/manual.md#targets-basics, I guess the following kicks in: "build foo.cmx and create a plugin archive containing exactly foo.cmx. Note that this differs from the rule for .cm{,x}a files (whose archive include the dependencies of the module Foo), in order to avoid dynamically linking the same modules several times."
antkong_ has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
mettekou has joined #ocaml
Emmanuel`_ has joined #ocaml
leyyin has joined #ocaml
dsheets has quit [Remote host closed the connection]
seangrove has joined #ocaml
dsheets has joined #ocaml
seangrove has quit [Ping timeout: 276 seconds]
warp has joined #ocaml
yomimono has joined #ocaml
Haudegen has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Haudegen has quit [Ping timeout: 250 seconds]
Emmanuel`_ has joined #ocaml
sillyotter has joined #ocaml
sillyotter has quit [Client Quit]
mettekou has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mettekou has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has quit [Quit: Konversation terminated!]
silver has joined #ocaml
Emmanuel`_ has joined #ocaml
yomimono has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
noddy has joined #ocaml
Haudegen has quit [Ping timeout: 276 seconds]
dsheets has quit [Remote host closed the connection]
tane has quit [Ping timeout: 248 seconds]
mettekou has quit [Read error: Connection reset by peer]
seangrove has joined #ocaml
freehck has quit [Ping timeout: 260 seconds]
tane has joined #ocaml
seangrove has quit [Ping timeout: 252 seconds]
fluter has quit [Ping timeout: 248 seconds]
nicholasf has joined #ocaml
fluter has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
Haudegen has joined #ocaml
dsheets has joined #ocaml
FreeBird_ has joined #ocaml
tane has quit [Quit: Verlassend]
FreeBirdLjj has quit [Ping timeout: 244 seconds]
tane has joined #ocaml
yomimono has quit [Ping timeout: 276 seconds]
Haudegen has quit [Ping timeout: 260 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
lmaury has joined #ocaml
jeffmo has joined #ocaml
FreeBird_ has quit [Remote host closed the connection]
lmaury has left #ocaml ["Leaving"]
lokien_ has joined #ocaml
Haudegen has joined #ocaml
t4nk927 has joined #ocaml
jeffmo has quit [Quit: jeffmo]
MercurialAlchemi has quit [Ping timeout: 260 seconds]
noddy has quit [Ping timeout: 276 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
seangrove has joined #ocaml
yomimono has joined #ocaml
seangrove has quit [Ping timeout: 260 seconds]
newbie|8 has joined #ocaml
jeffmo has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
seangrove has joined #ocaml
freehck has joined #ocaml
tane has quit [Read error: Connection reset by peer]
AlexRussia has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
tane has joined #ocaml
tennix has joined #ocaml
noddy has joined #ocaml
aantron has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
<Drup>
aantron: I'm starting to work on tyxml
<Drup>
That implementation reflect is slighly unreasonable :D
<Drup>
of*
<aantron>
Drup: batch your initial comments in the issue, or tell me in email :) i should also tell you there are some questionable things to fix, like the top-level merging of antiquotations is not done in the best way, and top-level pcdata doesnt get scoped inside a module
<aantron>
im trying to avoid IRC unless necessary and relax as much as possible. too much work -> hurt my health points :)
<Drup>
Ok
hxegon has joined #ocaml
jewel has quit [Ping timeout: 244 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
Sonderblade has joined #ocaml
hxegon is now known as hxegon_AFK
hxegon_AFK is now known as hxegon
hxegon has quit [Quit: BRB]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
BitPuffin has joined #ocaml
slash^ has joined #ocaml
lokien_ has quit [Quit: Connection closed for inactivity]
BitPuffin has quit [Read error: Connection reset by peer]
BitPuffin has joined #ocaml
yunxing has joined #ocaml
hxegon has joined #ocaml
d0nn1e has quit [Ping timeout: 250 seconds]
d0nn1e has joined #ocaml
copy` has joined #ocaml
yunxing has quit [Remote host closed the connection]
sepp2k has quit [Quit: Leaving.]
hxegon is now known as hxegon_AFK
hxegon_AFK is now known as hxegon
ontologiae has quit [Ping timeout: 240 seconds]
tane has quit [Ping timeout: 244 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
dsheets has quit [Remote host closed the connection]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
tane has joined #ocaml
larhat has quit [Quit: Leaving.]
sh0t has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
shinnya has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
fraggle_ has joined #ocaml
Emmanuel`_ has joined #ocaml
BitPuffin|osx has joined #ocaml
BitPuffin|osx is now known as ForkedPuffin
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
yunxing has joined #ocaml
th5 has joined #ocaml
ForkedPuffin is now known as BitPuffin|osx
Emmanuel`_ has quit [Quit: Konversation terminated!]
dsheets has joined #ocaml
tnguyen has joined #ocaml
Emmanuel`_ has joined #ocaml
tnguyen has quit [Client Quit]
Guest80682 is now known as tnguyen
tnguyen is now known as Guest9007
dsheets has quit [Ping timeout: 248 seconds]
cateches has joined #ocaml
<pierpa>
is there a notation for infinity which is accepted by float_of_string?
<cateches>
is there a more recent guide for the llvm bindings that doesn't use streams to lex/parse?
<cateches>
I assume the llvm stuff works regardless of parsing technique
<Drup>
yeah, not exactly ..
<Drup>
it's a bit old, it doesn't use the newest JIT, I think
<cateches>
ah
<cateches>
llvm.moe is the latest docs, right?
<Drup>
I don't remember, it was 2 years ago ..
<Drup>
yes, it should be
<cateches>
thanks, this should at least get me started
dsheets has joined #ocaml
<pierpa>
bug reported.
ygrek has joined #ocaml
seangrove has quit [Ping timeout: 260 seconds]
<cateches>
I think I have a mismatched llvm version installed :(
hxegon is now known as hxegon_AFK
cateches has quit [Quit: Page closed]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
TheLemonMan has joined #ocaml
Haudegen has quit [Ping timeout: 248 seconds]
hxegon_AFK is now known as hxegon
aphprentice has joined #ocaml
mhinz has joined #ocaml
kakadu has quit [Quit: Page closed]
GeorgeHahn has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
<aantron>
Drup, let me know when its my turn to work again. il pull your branch ppx into my PR and go from there
<Drup>
Just pull my things and work on top
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
darkf has joined #ocaml
dsheets has quit [Ping timeout: 240 seconds]
Haudegen has joined #ocaml
octachron has joined #ocaml
dsheets has joined #ocaml
<Drup>
aantron: you really like your pipe operator x)
dsheets has quit [Ping timeout: 276 seconds]
slicefd has quit [Quit: WeeChat 1.4]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 244 seconds]
mettekou has joined #ocaml
<Leonidas>
pipe operator is best :D
<Leonidas>
If I could write software consisting of only the pipe operator, I'd totally do it
<pierpa>
between pipes and camls in this channel there's no visibility because of smoke
slash^ has quit [Read error: Connection reset by peer]
kakadu has joined #ocaml
BitPuffin has quit [Ping timeout: 244 seconds]
butts_butts has joined #ocaml
mettekou has quit [Read error: Connection reset by peer]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
yomimono has quit [Ping timeout: 276 seconds]
<pierpa>
Drup: wrt float_of_string: "I can't reproduce what you mention on either osx or Ubuntu 14.04 LTS 64 bits."
<lyxia>
I don't have this bug either.
<pierpa>
hmmm
<pierpa>
so, (string_of_float infinity) what does return?
<lyxia>
"inf"
<lyxia>
and float_of_string parses both inf and infinity
<pierpa>
which is parsed correctly by float
<pierpa>
_of_string, I suppose?
<lyxia>
indeed
<pierpa>
hmmmm
<pierpa>
I'm on windows, but Drup confirmed on his end
<lyxia>
Arch here
<Drup>
Huum
<Drup>
I noticed it didn't return "infinity"
<pierpa>
I'm using 4.01. maybe this has already been fixed in later versions?
<Drup>
but float_of_string does parse "inf"
<pierpa>
ah
<Drup>
eh, 4.01
<infinity0>
# let flag_of_mode mode = match (mode:'a Lwt_io.mode) with Lwt_io.Input -> Unix.O_RDONLY | Lwt_io.Output -> Unix.O_WRONLY;;
<infinity0>
val flag_of_mode : Lwt_io.input Lwt_io.mode -> Unix.open_flag = <fun>
<pierpa>
then you don't experience any bug
<Drup>
That's so old :D
<infinity0>
anyone know how to make that work ^
<Drup>
aantron: Why do you need delimiter lenght in `String ? Isn't the location enough ?
<noddy>
infinity0: what are you trying to do here?
<infinity0>
noddy: trying to convert input/output to rdonly/wronly, but ocaml type inferrer keeps coercing flag_of_mode to input mode -> open_flag instead of 'a mode -> open_flag
<noddy>
i'd say no way
<noddy>
if it's you that is producing that 'a Lwt_io.mode, by any chance, then GADT could do it, otherwise, no. 'a needs to be the same across all cases.
<infinity0>
it is me that is producing the mode object yes
<noddy>
then produce an 'a foo instead, with type 'a foo = Input : Lwt_io.input foo | Output : Lwt_io.output foo
<octachron>
Drup, true. However, this part mixes the explicit polymorphic notation and the locally abstract type one without any explanation.
<Drup>
Ah, true
<Drup>
This is delicate
dsheets has joined #ocaml
<octachron>
I was a little too harsh. The polymorphic syntax is explained in 7.13, but without context. And the Gadt section does not mention that it is using the polymorphic syntax.
dsheets has quit [Ping timeout: 250 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
dwillems has joined #ocaml
antkong_ has quit [Ping timeout: 260 seconds]
<aantron>
Drup: iirc the location is to the beginning of the delimiter, the delimiter length is for knowing the location of the contents.. i honestly don't remember anymore if i could have immediately adjusted the string location by the delimiter length or what. would have to look again
antkong_ has joined #ocaml
<Drup>
aantron: it would be nice to remove that
<Drup>
It's very painful for 4.03
<Drup>
(I can do all the code without cppo, but this part would need it ..)
_andre has quit [Quit: leaving]
<aantron>
ok, noted it
<Drup>
(Your idiom of doing rev+fold_left instead of fold_right is midly amusing
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
<Drup>
Technically, it's very good code habit, since it's tail rec, and not the other .. except that if you are starting to emit expressions that big, the compiler is going to start exploding before the ppx :D
<aantron>
i wouldnt call that an "idiom" of mine
<Drup>
Hm ?
noddy has quit [Ping timeout: 264 seconds]
jeffmo has quit [Quit: jeffmo]
butts_butts has quit [Ping timeout: 240 seconds]
<aantron>
i've only done that a few times in my life, so it's a bit of a leap to say this is an idiom
<aantron>
of mine
<aantron>
:p
<Drup>
Well, it's the first time I look closely as your code. Since I can happily generalize from those 2.5k lines of OCaml, :tada: :D
<Drup>
at*
antkong__ has joined #ocaml
antkong_ has quit [Ping timeout: 260 seconds]
Haudegen has joined #ocaml
seangrove has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
jeffmo has joined #ocaml
BitPuffin|osx has joined #ocaml
yunxing has joined #ocaml
yunxing has quit [Remote host closed the connection]
kolko has quit [Ping timeout: 268 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
mk270 has joined #ocaml
mk270 has left #ocaml [#ocaml]
Emmanuel`_ has joined #ocaml
acieroid`` has joined #ocaml
yunxing has joined #ocaml
itPuffin|osxB has joined #ocaml
seliopou_ has joined #ocaml
mj12`_ has joined #ocaml
mattrepl_ has joined #ocaml
mj12` has quit [Ping timeout: 276 seconds]
BitPuffin|osx has quit [Ping timeout: 276 seconds]
mattrepl has quit [Ping timeout: 276 seconds]
seliopou has quit [Ping timeout: 276 seconds]
mattrepl_ is now known as mattrepl
gustav___ has quit [Ping timeout: 276 seconds]
iosys has quit [Ping timeout: 276 seconds]
Fleurety has quit [Ping timeout: 276 seconds]
acieroid` has quit [Ping timeout: 276 seconds]
j_king has quit [Ping timeout: 276 seconds]
gustav___ has joined #ocaml
j_king has joined #ocaml
Fleurety has joined #ocaml
iosys has joined #ocaml
octachron has quit [Ping timeout: 240 seconds]
octachron has joined #ocaml
freehck has quit [Ping timeout: 260 seconds]
dwillems has quit [Ping timeout: 248 seconds]
noddy has joined #ocaml
th5 has quit [Quit: th5]
<Drup>
aantron: this ppx even has better error messages than raw tyxml
<Drup>
x)
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has quit [Quit: Konversation terminated!]
<aantron>
oh yeah :) well i guess the base tyxml doesnt really have an opportunity to do this, due to relying on compiler messages.. so its not a fair comparison :)
kakadu has quit [Remote host closed the connection]
Emmanuel`_ has joined #ocaml
<Drup>
It doesn't really matter if it's a fair comparison. At the end of the day, the user receive an error message and get confused (or not)
yunxing has quit [Remote host closed the connection]
yunxing has joined #ocaml
t4nk927 has left #ocaml [#ocaml]
octachron has quit [Ping timeout: 260 seconds]
yunxing has quit [Remote host closed the connection]
Simn has quit [Ping timeout: 248 seconds]
hxegon has quit [Quit: PEACE OUT]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
hxegon has joined #ocaml
nicholasf has quit [Remote host closed the connection]
yunxing has joined #ocaml
nicholasf has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
dwillems has joined #ocaml
yunxing has quit [Ping timeout: 240 seconds]
octachron has joined #ocaml
<octachron>
I was wondering, except polymorphically function with gadts, is there another "common" use case for the "type a b c." syntax?
<Drup>
polymorphic recursion, that was the original use case, in fact
<Drup>
let me compose an example
<Drup>
Actually, I don't need too, wikipedia has one !
<octachron>
Drup, wouldn't explicit polymorphic annotation be enough here?
<Drup>
Try it.
<Drup>
Note: It is needed for one of the datastructure in Okasaki's book
<Drup>
(The queue with O(1) concat, iirc)
<octachron>
Drup, this seems to work fine "let rec len: 'a. 'a nested -> int = ... "
<Drup>
Ah, yes, that's the same
<Drup>
"type a . ..." = "(type a)" + " 'a . ... "
<Drup>
It's a combination of the two notations
<Drup>
You need one for polymorphic recursion, you need the other for GADT, it so happen that a good amount of GADT also have poly recursion, so there is a notation special for that
<octachron>
yep, my question was is there any context outside of this case, when one would need this syntax somewhat frequently ?
<Drup>
the abstract datatype notation is useful for first class modules too
GeorgeHahn has quit [Read error: Connection reset by peer]
<Drup>
but I have rarely seen a usecase with both first class modules and poly rec
<octachron>
sure, but the combination of the two is mainly rec + GADTs?
<Drup>
I'm sure you can come up with an example with first class modules + poly rec
<Drup>
:D
<octachron>
Probably... However, "would that be a 'sane' example" might be a completely different question :p
yunxing has joined #ocaml
<octachron>
well, I will try to add a line in the manual saying that "type a b c." is very useful in the context of polymorphic question + GADTs and see if anyone finds major objections to that statement.
<Drup>
No disagreement
antkong__ has quit [Quit: antkong__]
malc_ has joined #ocaml
sh0t has quit [Ping timeout: 250 seconds]
<Nazral>
A Lwt_stream isn't really made to receive input at random times from a pipe is it ?
noddy has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
tane has quit [Quit: Verlassend]
yunxing has quit [Remote host closed the connection]
orbifx has joined #ocaml
Simn has quit [Quit: Leaving]
yunxing has joined #ocaml
<Drup>
aantron: If an element has an [@@reflect.element] attached, should it be registered inside labeled_attributes ?
The_Mad_Pirate has joined #ocaml
leyyin has quit [Quit: So Long, and Thanks for All the Fish]
Algebr has joined #ocaml
octachron has quit [Quit: Leaving]
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
Algebr has quit [Remote host closed the connection]
yunxing has quit [Remote host closed the connection]
mettekou has joined #ocaml
itPuffin|osxB has quit [Ping timeout: 244 seconds]
Emmanuel`_ has quit [Quit: Konversation terminated!]
Emmanuel`_ has joined #ocaml
silver has quit [Quit: rakede]
yunxing has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]
aantron has quit [Remote host closed the connection]
Emmanuel`_ has joined #ocaml
yunxing has quit [Remote host closed the connection]
aantron has joined #ocaml
Emmanuel`_ has quit [Quit: Konversation terminated!]