<orbifx[m]>
If Note.t is 'a, then shouldn't the rest match?
larhat has joined #ocaml
shinnya has quit [Ping timeout: 258 seconds]
<kakadu>
It seem that you have less gneral type in .ml and want it to be seen as mpre general type in mli
<orbifx[m]>
yeah
<orbifx[m]>
Not allowed?
<kakadu>
no. It doesn't make any sense
average has quit [Quit: leaving]
Simn has quit [Read error: Connection reset by peer]
Simn has joined #ocaml
kakadu has quit [Ping timeout: 260 seconds]
ziyourenxiang has joined #ocaml
kakadu has joined #ocaml
ontologiae has joined #ocaml
igitoor has quit [Ping timeout: 240 seconds]
ontologiae has quit [Ping timeout: 268 seconds]
sillyotter has quit [Quit: WeeChat 1.4]
larhat has quit [Quit: Leaving.]
jnavila has joined #ocaml
rwmjones has quit [Ping timeout: 268 seconds]
shinnya has joined #ocaml
jnavila has quit [Ping timeout: 246 seconds]
<orbifx[m]>
Did in my mjnd
johnelse has quit [Ping timeout: 240 seconds]
johnelse has joined #ocaml
igitoor has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
igitoor has quit [Changing host]
igitoor has joined #ocaml
Anarchos has joined #ocaml
average has joined #ocaml
FreeBirdLjj has joined #ocaml
nullifidian_ has quit [Read error: Connection reset by peer]
nullifidian__ has joined #ocaml
johnelse has quit [Ping timeout: 268 seconds]
johnelse has joined #ocaml
AlexRussia has joined #ocaml
AlexRussia__ has quit [Ping timeout: 240 seconds]
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 264 seconds]
<Leonidas>
companion_cube: when will containers be split in single function packages? according to the current trwnds in js thats the way to go
<companion_cube>
isn't it already? :p
<companion_cube>
(single function, no thanks, but single modules!!)
_whitelogger has joined #ocaml
spew has joined #ocaml
nullifidian__ has quit [Read error: Connection reset by peer]
nullifidian_ has joined #ocaml
cbot has joined #ocaml
aantron_ has joined #ocaml
<aantron_>
for anyone that has tried reading lwt.ml in the past, and was stumped: i've commented it to death and reorganized it to make it more legible https://github.com/ocsigen/lwt/pull/354
<aantron_>
hopefully it will now be somewhat possible for regular people to contribute to the lwt core :)
<aantron_>
(i count as a regular person)
<aantron_>
the PR itself is pretty huge, but i would appreciate any review - even just proofreading some of the comments would help pretty much everyone that uses Lwt
nullifidian_ has quit [Read error: Connection reset by peer]
nullifidian_ has joined #ocaml
<Drup>
aantron_: Announce that on the mailing list, it will be of interest to a lot more people than people watching the lwt repository :p
<aantron_>
Drup: yes :) i'll do that
<aantron_>
and probably in a few other places
<aantron_>
but it might take me like a day. trying to start resting after finishing this !@#$ :p
<Drup>
hum, I'll have to review it
strykerkkd has joined #ocaml
<aantron_>
Drup: that would be very helpful :)
<Drup>
I think the "unification" vocabulary is not really good, especially since it has nothing to do with what "unification" is in typing/logic
<Drup>
You would be better of with "Alias", or something like that
<aantron_>
noted. mind adding that as a comment (maybe inline) to the PR?
<aantron_>
i struggled a lot with finding a good vocabulary for that, that gives the right idea, and unification was the best thing i came up with. that's why i put it in quotes :)
<Drup>
It's not too bad, it's pretty much how unification is actually implemented in OCaml, actually
<Drup>
("Repr" comes from there, in fact)
<aantron_>
:)
<aantron_>
trying to avoid Repr though. it just seems too opaque, though i guess if explained clearly enough ahead of time, it could be used
<Drup>
Well, the "repr" vocabulary is consistent with some compsci domains :p
<Drup>
(just, fairly technical ones)
<Drup>
btw, what terrible thing would happen if we tried to immediately shorten paths and get rid of that case ?
<aantron_>
i'm not sure what you mean by immediately shorten paths – like not have chains of Repr/Unified_with/Alias/whatever to call it?
<Drup>
(Also, I think your coding style tends to err a little bit too far on the ravioli side, although is far less terrible than the original spagetti)
<Drup>
yes
<aantron_>
i think the first time Lwt even becomes aware of such a chain is in a call to underlying
<aantron_>
because afaik Lwt never deliberately creates a chain, beyond just one promise pointing to an underlying promise
<aantron_>
(i didnt exhaustively check it now, this is just the residual impression left)
<aantron_>
also you're welcome to point out the ravioli :)
<Drup>
hum, actually, it might be important for canceling
<Drup>
*sight*, canceling ...
<aantron_>
actually that makes no sense, of course lwt creates chains, there is no other way to create them
<aantron_>
anyway that's something that we can hopefully discuss easier with this PR posted, but i would prefer to do it later as `state brain = `Fried`
<Drup>
(and now I'm totally going to eat ravioli this evening))
<aantron_>
lol
<aantron_>
but you're welcome to speculate about it, post it, prod other people (including me) to deal with it, etc. :p
<Drup>
maybe I can try to make jérôme reads it
<aantron_>
+1
jnavila has joined #ocaml
jsoo has joined #ocaml
govg has quit [Quit: leaving]
jsoo has quit [Client Quit]
jsoo has joined #ocaml
<apache2>
is there a way to ensure statically that a given function can only be used once?
<Drup>
apache2: can you explain the context ?
<apache2>
porting c code to ocaml
<apache2>
rewriting the loops to tail-recursive functions
<apache2>
I want to make sure that all state modifications (for the previously [in c] mutable variables) get carried across to the next iteration
jsoo has quit [Client Quit]
<apache2>
basically I'm looking for a warning message a bit like the "unused variable", but for a certain type of variables I'd like to make sure that they get used exactly once
<Drup>
it doesn't exist
<Drup>
I remember chambart saying he wanted something like that too, for program transformations
<apache2>
I guess it would be a fairly simple ppx
<apache2>
like let%once i_2 = foo bar in ...... [recurse over the scope and check that you only see i_2 once]
<Drup>
Attributes for that, not extensions
<apache2>
what's an attribute?
<apache2>
the [@@ once] stuff?
<Drup>
Yes
jnavila has quit [Ping timeout: 240 seconds]
<Drup>
just like warnings, it doesn't change the semantics of a piece of code, just checks things
<apache2>
cool
spew_ has joined #ocaml
ontologiae has joined #ocaml
spew has quit [Ping timeout: 255 seconds]
jnavila has joined #ocaml
<toolslive>
so you want uniqueness typing?
ontologiae has quit [Ping timeout: 268 seconds]
<flux>
it would be something simpler and syntactic only