yunxing_ has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 276 seconds]
yunxing_ has joined #ocaml
Sorella has joined #ocaml
silver has quit [Quit: rakede]
cat5e has joined #ocaml
f[x] has quit [Ping timeout: 246 seconds]
rgrinberg has joined #ocaml
Denommus` has quit [Read error: Connection reset by peer]
unbalancedparen has quit [Quit: WeeChat 1.5]
tristero has joined #ocaml
rgrinberg has quit [Ping timeout: 276 seconds]
troydm has joined #ocaml
SimonJF_ has joined #ocaml
gustav___ has joined #ocaml
Algebr has joined #ocaml
ohama has joined #ocaml
cow-orker has joined #ocaml
john51 has joined #ocaml
nicoo has joined #ocaml
gustav___ has quit [Max SendQ exceeded]
gustav___ has joined #ocaml
wolfcore has quit [Ping timeout: 244 seconds]
d0nn1e has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #ocaml
wolfcore has joined #ocaml
d0nn1e has joined #ocaml
yunxing_ has quit [Remote host closed the connection]
Algebr` has quit [Ping timeout: 250 seconds]
jeffmo has quit [Ping timeout: 264 seconds]
pierpa has quit [Ping timeout: 276 seconds]
Algebr` has joined #ocaml
Algebr` has quit [Ping timeout: 250 seconds]
kushal has joined #ocaml
kushal has quit [Quit: Leaving]
sh0t has quit [Remote host closed the connection]
shinnya has quit [Ping timeout: 276 seconds]
johnelse has quit [Ping timeout: 276 seconds]
kushal has joined #ocaml
johnelse has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
johnelse has quit [Ping timeout: 260 seconds]
johnelse has joined #ocaml
zaquest has quit [Ping timeout: 272 seconds]
zaquest has joined #ocaml
jeffmo has joined #ocaml
jeffmo has quit [Read error: Connection reset by peer]
jeffmo has joined #ocaml
yunxing_ has joined #ocaml
yunxing_ has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
yunxing_ has joined #ocaml
yunxing__ has joined #ocaml
yunxing_ has quit [Ping timeout: 250 seconds]
MercurialAlchemi has quit [Ping timeout: 260 seconds]
larhat has joined #ocaml
MercurialAlchemi has joined #ocaml
larhat has quit [Quit: Leaving.]
Denommus has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 276 seconds]
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
d0nn1e has quit [Ping timeout: 258 seconds]
jeffmo has quit [Ping timeout: 244 seconds]
jeffmo has joined #ocaml
jeffmo has quit [Ping timeout: 240 seconds]
tane has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
mcspud has quit [Excess Flood]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has joined #ocaml
mcspud has joined #ocaml
AlexDenisov has joined #ocaml
dakk has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
Reshi has joined #ocaml
FreeBirdLjj has joined #ocaml
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
copy` has quit [Quit: Connection closed for inactivity]
Simn has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
yunxing__ has quit [Ping timeout: 250 seconds]
Nahra`` has quit [Remote host closed the connection]
tane has quit [Ping timeout: 250 seconds]
Nahra has joined #ocaml
jonasen has joined #ocaml
tane has joined #ocaml
dexterph has joined #ocaml
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nojb_ has joined #ocaml
AltGr has joined #ocaml
dakk has joined #ocaml
kushal has quit [Quit: Leaving]
kushal has joined #ocaml
AlexDenisov has joined #ocaml
manizzle has joined #ocaml
nicholasf has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
jonasen has joined #ocaml
jonasen has quit [Client Quit]
TheLemonMan has joined #ocaml
tane has quit [Quit: Leaving]
dave24 has joined #ocaml
AlexDenisov has quit [Max SendQ exceeded]
FreeBirdLjj has joined #ocaml
AlexDenisov has joined #ocaml
AlexDenisov has quit [Max SendQ exceeded]
AlexDenisov has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
dhil has joined #ocaml
dhil has quit [Remote host closed the connection]
kushal has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
tane has joined #ocaml
dhil has joined #ocaml
nicholasf has quit [Remote host closed the connection]
tg has quit [Ping timeout: 246 seconds]
nicholasf has joined #ocaml
pyon has quit [Quit: ... flowering silent scarlet piece of night.]
sdothum has joined #ocaml
Reshi has quit [Ping timeout: 276 seconds]
larhat has joined #ocaml
<infinity0>
gasche: oh nice, thanks
<infinity0>
yes i also saw klist in ocaml-containers, that seems to also have the same shape
tg has joined #ocaml
jwatzman|work has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
sfri has quit [Ping timeout: 260 seconds]
AltGr has left #ocaml [#ocaml]
orbitz_ has quit [Quit: Reconnecting]
orbitz has joined #ocaml
nicoo has quit [Ping timeout: 244 seconds]
sfri has joined #ocaml
nicoo has joined #ocaml
Reshi has joined #ocaml
sepp2k has joined #ocaml
Reshi has quit [Ping timeout: 260 seconds]
sfri has quit [Remote host closed the connection]
<dave24>
is it good practice to always use lables when they exits for a function?
<dave24>
i keep getting warnings for ommitting labels
shim has joined #ocaml
sfri has joined #ocaml
<mrvn>
i thought it was a requirement
<mrvn>
# let f ~x = x;;
<mrvn>
val f : x:'a -> 'a = <fun>
<mrvn>
# f 1;;
<mrvn>
- : x:(int -> 'a) -> 'a = <fun>
yomimono has joined #ocaml
<mrvn>
doesn't work without the label
<mrvn>
And ur function of the day is: # let (=) (=) = (=);;
<mrvn>
val ( = ) : 'a -> 'a = <fun>
silver has joined #ocaml
<dave24>
oh, but it seems to work fine most of the time
<dave24>
i'll just always put the labels i guess
kushal has joined #ocaml
Kakadu has joined #ocaml
yomimono has quit [Quit: Leaving]
Reshi has joined #ocaml
A1977494 has joined #ocaml
A1977494 has quit [Quit: Leaving.]
A1977494 has joined #ocaml
Reshi has quit [Ping timeout: 276 seconds]
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
unbalancedparen has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 264 seconds]
nicholasf has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
nicholasf has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
octachron has joined #ocaml
AlexDenisov has joined #ocaml
dhil has quit [Ping timeout: 272 seconds]
<octachron>
dave24, mrvn : labels are necessary only when the return type of the function is polymorphic, for instance "let f ~x = x". The label is needed because complicated applications like "f ~x:f ~x:f 1" are possible.
<octachron>
Simpler functions does not require the label to be written, e.g. "let f ~x = 1 in f []" is fine
tennix has joined #ocaml
<mrvn>
octachron: but that's about the only thing that works. As soon as you have 2 labels or a label and normal arg it doesn't.
kdas_ has joined #ocaml
sh0t has joined #ocaml
<octachron>
"let f ~x y ~z = x + y +z in f 2 3 4" works perfectly fine
kushal is now known as Guest29039
<Drup>
octachron: only when the application is complete
<octachron>
Drup, true. It is partial application which is more finnicky
BitPuffin has joined #ocaml
Guest29039 has quit [Ping timeout: 276 seconds]
<mrvn>
I like that you can call f ~z
kdas_ is now known as kushal
kushal has quit [Changing host]
kushal has joined #ocaml
Reshi has joined #ocaml
<cnu->
what libraries should i look at if i want to create a server that speaks a binary protocol? i see there is Lwt and Async for communicating. what should i use to parse binary data?
Reshi has quit [Ping timeout: 272 seconds]
<gasche>
cnu-: the "bitstring" library is excellent for binary parsing
<gasche>
unfortunately it relies on a camlp4 extension, which is going out of fashion these days
nicholasf has quit [Remote host closed the connection]
<mrvn>
carefully
<mrvn>
ups
<Drup>
but I would rather use angstrom, if it works well enough
rgrinberg has joined #ocaml
<companion_cube>
it would be hype to have a ppx for easy binary parsing that compiles to angstrom :]
<companion_cube>
o/ rgrinberg
<Drup>
companion_cube: the thing is, you don't get much by using a ppx compared to combinators, in the case of bitstring
<Drup>
ppx for this kind of stuff is terribly verbose ( [@ ..] everywhere)
<mrvn>
Drup: don't you only put them on the type defintion and then you get a reader/writer out of it?
sh0t has quit [Remote host closed the connection]
<Drup>
mrvn: you seem to assume you have a datatype definition and there is a natural format for it. It's not the case when you want to parse an existing binary format
<mrvn>
mirage has this thing where you plug in the packet definition of your protocol and it outputs functions for handling it. Menage or something?
<mrvn>
menhir?
<mrvn>
not menhir, something like it.
sz0 has quit [Quit: Connection closed for inactivity]
jonasen has joined #ocaml
kushal has quit [Quit: Leaving]
dhil has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
hcarty has joined #ocaml
ncthom91 has joined #ocaml
<hcarty>
cnu-: angstrom is very nice for that kind of parsing
ncthom91 has quit [Client Quit]
<hcarty>
"nice" in this case meaning easy to use and efficient
<cnu->
thank you. i need easy
agarwal1975 has quit [Quit: agarwal1975]
loocash has joined #ocaml
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<apache2>
would be nice if it was able to read erlang terms too
agarwal1975 has joined #ocaml
<Drup>
gasche: that means rewriting a parser that can implement half's ocaml langage expression
pyon has joined #ocaml
<Drup>
(length can be expressions)
<Drup>
also, your tool interaction becomes crap
<Drup>
You gain a bit on syntax, but you loose on everything else
darkf_ has joined #ocaml
pierpa` has quit [Quit: brb]
pierpa has quit [Quit: brb]
pierpa has joined #ocaml
<reynir>
ångström :(
<Drup>
(and it's still not clear it's shorter/better than combinators)
darkf has quit [Ping timeout: 250 seconds]
<gasche>
I think combinators are quite likely to be less readable and feel less declarative, in particular when there is a dependency between the value of some fields and the specification of others
BitPuffin has quit [Remote host closed the connection]
<gasche>
also I would aim for parser *reuse*, not reimplementation, and I'm skeptical that tool interaction can give you much on the pre-preprocessing result anyway
<apache2>
does angstroem allow you to reference earlier generated tokens?
<gasche>
(the only useful thing I can think of right now is support for line-wrapping / pretty reprinting)
<hcarty>
apache2: Depends on how you structure your parser, but yes in general it does
<gasche>
I think differences in readability could easily be evaluated by writing a combinator parser for an actual binary format such the IPV4 header
<gasche>
(ångström's examples I have seen are JSON and HTTP, which are not in the same ballpark)
<gasche>
edwin: the format description stops just before the variable-length parts of the header
<gasche>
Kakadu: --raw does show dependencies
BitPuffin has joined #ocaml
<gasche>
Kakadu: so does (opam show -f depends)
<gasche>
hcarty: I don't think your msgpack parser particularly readable, in the sense that it seems less readable that a declarative description of the format
<gasche>
(the quality of Erlang binary parsers and bitstring is that they act as both implementations and specifications)
<gasche>
on the other hand, msgpack seems quite a bit more complex than the bitstring examples I've seen
<gasche>
and I would be ready to buy the argument that combinators scale better in term of composability
<gasche>
(but at the leaves, there is a lot of noise)
<gasche>
(I'm not sure, though, that they scale betters; just that I don't remember what bitstring's support for sub-parsers is like)
<apache2>
with bitstring you can relatively easy to subparsing
<gasche>
(I have nothing against ångström and I find the optimization efforts laudable and interesting; but let's be objective on readability)
<hcarty>
gasche: Agreed, that's totally fair
<edwin>
I like the bitstring syntax better for binary formats, or variable length binary formats like you said
<edwin>
for parsing things like URLs / textual protocols like HTTP I think I'm not sure bitstring would be a good fit, combinators like angstrom seem better
tg has quit [Quit: Leaving]
<Kakadu>
gasche: It seems that opam doesn't for my package. Where any mistakes can be hidden? http://paste.in.ua/1760/#24
<apache2>
edwin: agreed
loocash has joined #ocaml
<apache2>
on both points
<Drup>
gasche: on tooling after preprocessing: if you do your ppx manipulation right (and annotate locations and ghost properly), merlin is quite good
<edwin>
(and for parsing source code I want something based on an actual state machine that can run in linear time)
* apache2
has still not managed to understand how to use Menhir, so I can't comment on that
<Drup>
(in particular, the ppx-bitstring that I linked was well handled in merlin)
tg has joined #ocaml
<gasche>
Kakadu: my guess would be that the information "opam show" is using does not come from this opam file, but from somewhere else
<gasche>
try (opam show --where) maybe to know where the opam file it reads is?
<Kakadu>
Yeah, it comes from /home/kakadu/.opam/4.02.3-modular-implicits/overlay/minikanren/opam
<Kakadu>
But should it?
<gasche>
well "opam show" shows what it knows in a repository
<Kakadu>
I think that it should point where the package is pinned
<gasche>
ah
<gasche>
well that would be the issue then
<Kakadu>
Okay
<gasche>
it looks like "opam show foo" does not follow pins
<gasche>
feel free to open a bug report against ocaml/opam
<gasche>
Drup: I don't follow, how would that differ from my proposed extension syntax? I can also generate locations carefully in the post-preprocessing AST
<Drup>
gasche: everything is hidden inside a string, merlin doesn't really like that
<Drup>
(at least, last time I tried something like that)
<gasche>
that doesn't make sense to me
<Drup>
You could say that it's something merlin should improve, which is probably true, but it seems to be a bit of work
MercurialAlchemi has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<gasche>
(I have no time to experiment with Merlin+ppx right now, but I won't buy the fact that the two settings differ without a reproduction case, and would use that as an issue report against Merlin)
tane has quit [Quit: Leaving]
yunxing_ has joined #ocaml
<rks`_>
hum
kushal has quit [Quit: Leaving]
<rks`_>
gasche: I don't know what the problem is per say, the only problem I could see is locations not being precise enough
tennix has joined #ocaml
<rks`_>
(from your ppx that is, i.e. I assume the {| "ELF"; version:4; ... |} will become "let version = 4" ...)
<rks`_>
(and if the location of version is the one of the whole string, then it might be annoying)
<gasche>
(don't start writing "per say"! that's the scum of english mistakes)
<rks`_>
(if you try to get information from merlin with your cursor inside the string)
<gasche>
so
<gasche>
the scenario I have in mind is that my ppx generator generates, from this extension point, an AST with correct locations
<gasche>
e.g. "version" will be on "version" exactly (exactly like, say, Camlp4 parsers have been able to do for years)
<gasche>
the "let" node would point to "version: 4", etc.
yunxing_ has quit [Remote host closed the connection]
<rks`_>
right
<gasche>
(I understand that some things, like navigational commands, may work on the AST *before preprocessing* and would be less precise in that case; but that should not be the case of, eg., typing feedback, as it works with the post-processing AST)
<rks`_>
then I think it should be lovely (← that isn't *per say* the first word which came to my mind, but it sounded very british.)
shinnya has quit [Ping timeout: 276 seconds]
darkf_ has quit [Quit: Leaving]
shinnya has joined #ocaml
sepp2k has quit [Quit: Leaving.]
ncthom91 has joined #ocaml
jonasen has joined #ocaml
jonasen has quit [Client Quit]
jeffmo has joined #ocaml
loocash has quit [Quit: Leaving]
slash^ has joined #ocaml
Denommus has quit [Read error: Connection reset by peer]
jonasen has joined #ocaml
loocash has joined #ocaml
dexterph has quit [Ping timeout: 264 seconds]
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
agarwal1975 has quit [Quit: agarwal1975]
jwatzman|work has quit [Quit: jwatzman|work]
agarwal1975 has joined #ocaml
jonasen has joined #ocaml
yunxing_ has joined #ocaml
Algebr` has joined #ocaml
yunxing_ has quit [Remote host closed the connection]
larhat has quit [Quit: Leaving.]
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<gasche>
I'm thinking of asking for a merge privilege on opam-repository, to stop having to annoy people
<gasche>
(but then I would feel pressure to merge other people's stuff)
AlexDenisov has quit [Client Quit]
<hnrgrgr>
gasche: it is more pressure than privilege :-p
<gasche>
indeed
<hnrgrgr>
but you would be welcome.
<gasche>
also I like being able to tell Fabrice "well you're the maintainer so it's your decision"
AlexDenisov has joined #ocaml
shinnya has quit [Ping timeout: 258 seconds]
octachron has joined #ocaml
yunxing_ has quit [Remote host closed the connection]
yunxing_ has joined #ocaml
Kakadu has quit [Quit: Page closed]
<octachron>
gasche, do you remember which tests failed when you tested the non-exhaustive pattern matching warning PR?
<gasche>
no, but they should be in the testsuite by now
<gasche>
I wrote a ML submission about the algorithm, in case you are interested
<gasche>
why?
<gasche>
arh
<gasche>
octachron: I think I confused "ambiguous pattern variable" and "non-exhaustive pattern matching"
<gasche>
so this *other* PR, they were the typing-gadts/ tests
<gasche>
the one you changed with "case" instead of "value", running the tests I was seeing "value" back I think
<gasche>
(so I thought you had removed the actual change during the rebase)
dhil has quit [Ping timeout: 246 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
<octachron>
gasche, hmm, I also got errors with typing-gadt at some point that I fixed by rebuilding expect_test
rgrinberg has quit [Ping timeout: 260 seconds]
BitPuffin has quit [Read error: Connection reset by peer]
dhil has joined #ocaml
Algebr` has joined #ocaml
<octachron>
gasche, I think I can reproduce these test failures by doing "make world; cd testsuite; make all" rather than "make tests". Does that fit your experience?
NingaLeaf_ has joined #ocaml
jonasen_ has joined #ocaml
sigjuice has quit [Ping timeout: 252 seconds]
hyperbor1ean has joined #ocaml
AlexDeni_ has joined #ocaml
wolfcore has quit [Ping timeout: 252 seconds]
ski has quit [Ping timeout: 252 seconds]
MorTal1ty has quit [Ping timeout: 252 seconds]
mrvn has quit [Ping timeout: 252 seconds]
yan has quit [Ping timeout: 252 seconds]
AlexDenisov has quit [Ping timeout: 252 seconds]
jonasen has quit [Ping timeout: 252 seconds]
j_king has quit [Ping timeout: 252 seconds]
NingaLeaf has quit [Ping timeout: 252 seconds]
regnat[m] has quit [Ping timeout: 252 seconds]
M-jimt has quit [Ping timeout: 252 seconds]
jmasseo has quit [Ping timeout: 252 seconds]
tobiasBora has quit [Ping timeout: 252 seconds]
aantron has quit [Ping timeout: 252 seconds]
Lasher` has quit [Ping timeout: 252 seconds]
hyperboreean has quit [Ping timeout: 252 seconds]
metaglog has quit [Ping timeout: 252 seconds]
inr has quit [Ping timeout: 252 seconds]
asm89 has quit [Ping timeout: 252 seconds]
mrvn has joined #ocaml
ski has joined #ocaml
j_king has joined #ocaml
MorTal1ty has joined #ocaml
inr has joined #ocaml
sigjuice has joined #ocaml
wolfcore has joined #ocaml
regnat[m] has joined #ocaml
aantron has joined #ocaml
M-jimt has joined #ocaml
jmasseo has joined #ocaml
metaglog has joined #ocaml
metaglog has quit [Changing host]
metaglog has joined #ocaml
Kakadu has joined #ocaml
yan has joined #ocaml
tobiasBora has joined #ocaml
Reshi has joined #ocaml
Lasher` has joined #ocaml
asm89 has joined #ocaml
copy` has joined #ocaml
yunxing_ has quit [Remote host closed the connection]
slash^ has quit [Read error: Connection reset by peer]
dakk has quit [Ping timeout: 246 seconds]
mandeep has joined #ocaml
dakk has joined #ocaml
Lasher` has quit [Read error: Connection reset by peer]
<gasche>
octachron: I was just thinking that if I had the money I would hire someone for a full-time OCaml position with the sole task of reviewing github patches, fixing the package ecosystem wrt. OCaml changes, and writing documentation. If I did that, I would probably try to hire you.
<gasche>
(in fact I can find several other people that would be a good fit)
<gasche>
a few days ago we discussed whether anyone would be interested in doing "community management" and writing documentation
<gasche>
I think "patch review and consolidation" added to the mix (in top priority) makes the job more challenging and therefore more desirable
<gasche>
now I only need to find a rich sponsor :-'
<Algebr`>
ha
<gasche>
(Jane Street has good OCaml people, but they also send large patches, and it's probably more healthy to have them reviewed by someone outside)
<fds>
I really like the idea of a subscription model, with a kickstarter-style bootstrap to guarantee wages for say 1 year. But maybe it's ridiculous to think that OCaml programmers would pay for this kind of `service'.
* fds
shrugs.
<gasche>
fds: I think people could pay, but I'm not sure there is a critical mass to gather enough money
<gasche>
I would be willing to pay, say, €20 a month; if you can find 250 people like me, you can make it work
<gasche>
fds: that's one of the problem OCamlPro are facing, it's hard to make money on OCaml tooling because the community is rather small
tg has quit [Quit: Leaving]
<gasche>
(it's also not completely clear to me on which legal basis a company could receive crowd-funding money to pay someone, or someone without company could receive crowd-funding money in a way that is legal and provide them worker benefits)
tg has joined #ocaml
<hcarty>
gasche: There are platforms like patreon which have, presumably, made some effort to figure out the legality of an arrangement like that
<fds>
Well, there are 284 nicks in this channel, so.. :-D
<fds>
But seriously, these are all difficult problems that I sadly haven't got any answers to.
<mrvn>
gasche: work benefits? Double the amount needed.
shinnya has joined #ocaml
<gasche>
mrvn: I was aiming for €3k/month and counted for €5k to include benefits
yunxing_ has joined #ocaml
jonasen has joined #ocaml
jonasen_ has quit [Ping timeout: 240 seconds]
<gasche>
hcarty: so Patreon knows a bit about US taxation and otherwise it directs you to VAT-style forms that are supposed to tax some form of consumption
<gasche>
doesn't tell you much about how you would declare your work to your own country
<hcarty>
gasche: Self-employment seems to always be an ugly thing to manage
yunxing_ has quit [Ping timeout: 260 seconds]
yunxing_ has joined #ocaml
nicholasf has joined #ocaml
mandeep has left #ocaml ["Leaving"]
StrykerKKD has joined #ocaml
hcarty has quit [Ping timeout: 260 seconds]
rgrinberg has joined #ocaml
<octachron>
gasche, I do not see any specific legal difficulties with crowd funding? But I agree that the problem is more having a critical mass of people willing to pay.
<gasche>
(and someone willing to do the job)
<mrvn>
and willing to take the risk of not getting payed next month
<Drup>
gasche: did you asked ocamllabs people ?
<gasche>
not yet
<infinity0>
is there a way to refer to the "self"/"current" module? i want to pass it to a functor
<gasche>
no
<gasche>
you should probably do things differently
<gasche>
(recursive modules are not fun)
yunxing_ has quit [Remote host closed the connection]
<infinity0>
ok
<infinity0>
what's the usual pattern for implementing a "module type" where some of the functions would be implemented in terms of the other functions?