<waqas>
Thanks for the hints. Still trying to wrap my head around this. The ~ in the type definition I linked above has the exact same purpose? I can almost see how this might work in function arguments, but still unsure of how it works in a type definition.
<def`>
The file you linked is not ocaml code, but a dsl for deriving common functions from a type definition
<waqas>
Aha
meteo_ has quit [Client Quit]
<def`>
I guess ~ semantics might have no effect on the type definition, but on the derived functions (although I never used atd, so … :))
<waqas>
I was looking at the data model of GitHub, Google Code, etc out of curiosity. I wanted type definitions instead of API docs, and stumbled on this one.
<nullcat_>
...
<nullcat_>
i didn't even realize it's DSL...
ghostpl_ has quit [Ping timeout: 264 seconds]
<waqas>
Neither did I. I've been interested in Ocaml for some time, so I picked the ocaml bindings out of all the others :)
<Drup>
flux: that's what stephen dolan want's to do in ocaml multicore
<flux>
in addition Lwt could choose to spin up new cores should it happen so that all threads are busy and new work arrives
<flux>
drup, cool
<MercurialAlchemi>
er, spin up cores?
<Drup>
he calls them "fibers"
<flux>
oops, spin up threads
<MercurialAlchemi>
you mean system threads?
<flux>
I mean, even more threads than just the number of cores
<companion_cube>
what is the current count of ocaml multicore attempts?
<companion_cube>
I feel like it's really high
<MercurialAlchemi>
(I'd buy software that spins up cores :) )
<Drup>
MercurialAlchemi: "Marshal" /me dies
<flux>
mercurialalchemi, buy from ibm.. ;)
<Drup>
MercurialAlchemi: but yes
<MercurialAlchemi>
companion_cube: are they being processed in //?
<MercurialAlchemi>
Drup: well, yeah, no shared memory here
<MercurialAlchemi>
what's the problem with marshal apart from that, though?
mcclurmc has quit [Remote host closed the connection]
<Drup>
it's slow
<Drup>
pipe + marshall is really really slow
<MercurialAlchemi>
are there any faster serialization schemes for abitrary objects?
<MercurialAlchemi>
(and I think that's what unison is using, and unison seems fast enough...)
<Drup>
any other serialization scheme is actually probably slower
<MercurialAlchemi>
figured
<Drup>
well, it depends a lot how much data you have to put in the pipes
<Drup>
but if it's non trivial
<MercurialAlchemi>
so it's not necessarily a bad choice if you have to have serialization
<Drup>
your multicore solution is probably going to be slower.
milosn has joined #ocaml
<MercurialAlchemi>
Drup: in the context of a webserver, if all you're exchange is a request record, it may not be that bad, no?
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
govg has quit [Ping timeout: 265 seconds]
tnguyen has joined #ocaml
milosn has quit [Ping timeout: 250 seconds]
yminsky has quit [Quit: Connection closed for inactivity]
ghostpl_ has joined #ocaml
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
<Drup>
MercurialAlchemi: except when the content is big, like a file :p
<Drup>
(but yes)
kushal has quit [Ping timeout: 264 seconds]
milosn has joined #ocaml
<MercurialAlchemi>
Drup: well, yeah, but you can work around that, just dump the body somewhere on disk and hand over the location to the process
<MercurialAlchemi>
serializing large things is not fast with anything anyway
<MercurialAlchemi>
but still, working with shared memory would be quite faster
<ousado>
you can sendmsg the socket instead
<flux>
in principle, it's messages in the wire anyway :)
<flux>
with some caching..
idegen has left #ocaml [#ocaml]
<MercurialAlchemi>
ousado: depends, you don't want to block your main process because your worker is too busy to read
<ousado>
err, non-blocking io?
kushal has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
gasche has quit [Read error: Connection reset by peer]
milosn has quit [Read error: Connection reset by peer]
tianon has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
tianon has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
psy_ has joined #ocaml
milosn has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
s1n4 has quit [Ping timeout: 272 seconds]
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
cesar_ has joined #ocaml
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
tianon has quit [Changing host]
tianon has joined #ocaml
cesar_ is now known as Guest99922
Guest99922 has quit [Ping timeout: 256 seconds]
waqas has joined #ocaml
waqas has left #ocaml [#ocaml]
govg has joined #ocaml
shinnya has quit [Ping timeout: 256 seconds]
darkf has quit [Ping timeout: 265 seconds]
verthandi has quit [Quit: ERC (IRC client for Emacs 25.0.50.1)]
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
ollehar1 has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
fraggle__ has quit [Read error: Connection reset by peer]
psy_ has quit [Read error: Connection reset by peer]
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
pobivan has quit [Ping timeout: 245 seconds]
pobivan_ has joined #ocaml
lordkryss has joined #ocaml
psy_ has joined #ocaml
badkins has quit [Remote host closed the connection]
ptc has joined #ocaml
kdef has joined #ocaml
fraggle_ has joined #ocaml
cdidd has quit [Ping timeout: 252 seconds]
ptc has quit [Ping timeout: 264 seconds]
ptc has joined #ocaml
badon has joined #ocaml
octachron has quit [Remote host closed the connection]
ptc has quit [Ping timeout: 272 seconds]
cdidd has joined #ocaml
johnelse is now known as johnel_away
johnel_away has quit [Remote host closed the connection]
<Drup>
ollehar "it deserves" ?
nullcat_ has joined #ocaml
nullcat_ has quit [Client Quit]
nullcat has joined #ocaml
jwatzman|work has joined #ocaml
jwatzman|work has quit [Read error: Connection reset by peer]
badon has quit [Ping timeout: 246 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest39024
<ollehar1>
Drup: sorry
<Drup>
well, you can't drop that without details.
tianon has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
<Drup>
If you think it's unpractical crap, I would really like to know why.
tianon has joined #ocaml
<Drup>
(that's a serious question, I'm really interested :D)
Guest39024 has quit [Ping timeout: 256 seconds]
ghostpl_ has quit [Remote host closed the connection]
Submarine has joined #ocaml
govg has quit [Quit: leaving]
ghostpl_ has joined #ocaml
<MercurialAlchemi>
"... is a mix between WordPress best practices..." -> ^_^
<MercurialAlchemi>
this broke my sarcasm detector
olauzon has quit [Quit: olauzon]
matthewhill has joined #ocaml
matthewhill has quit [Client Quit]
<Drup>
MercurialAlchemi: my sarcasm detector is broken since I saw someone talk seriously about "ruby's reliability".
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
badkins has joined #ocaml
<MercurialAlchemi>
technically, by itself it's pretty harmless
uris77 has joined #ocaml
<MercurialAlchemi>
unfortunately, it makes eval() based tricks all too easy
<MercurialAlchemi>
then people write DRY unreadable horrors, and monkey-patch to hell and back
<MercurialAlchemi>
at least the Python community is usually more sensible
<ollehar1>
ocsigen doesn't seem to implement any of the usual web idioms
<ollehar1>
MVC, seperation of concerns, ORM
<ollehar1>
and the code looks like...
<Drup>
macaque is not an orm ?
<Drup>
ocsigen doesn't enforce how your MVC is done, it's a bit different than not allowing it.
Algebr has joined #ocaml
<ollehar1>
So there's no standard way of doing MVC in Ocsigen?
<MercurialAlchemi>
ollehar1: something like Flask doesn't enforce MVC either
<ollehar1>
well...
<ollehar1>
there should be a "this is usually how we do it"
<ollehar1>
a framework culture, if you will.
<ollehar1>
or framework idioms.
<Drup>
there is a usual way, yes
<Drup>
using react, basically
<Drup>
but it's not really MVC, just FRP
Denommus has joined #ocaml
<Drup>
If you look at MVC as done by most frameworks, it's basically a spagetti of handler and callbacks. We can do that implicitely with the FRP stuff
<MercurialAlchemi>
and I have no idea of why you'd use React.E.fix for, for instance
<Drup>
MercurialAlchemi: basically never :D
<MercurialAlchemi>
eh, it was in the breakout example
<MercurialAlchemi>
I was trying to read the .ml in the train the other day
<MercurialAlchemi>
unfortunately, while there are sections with extensive comments, it's replete with single-letter variables
<MercurialAlchemi>
which, I'm sure, make complete sense to the author
MrScout has joined #ocaml
<ollehar1>
Drup: Guess I got put off by HTML in code
<ollehar1>
Will have a closer look.
<Drup>
ollehar1: the thing is, I occasionally see comments like the one you did, and similarly, I don't really have arguments, only vague impressions, so I would really like to know where the impression comes from.
lewis1711 has joined #ocaml
<lewis1711>
don't suppose anyone else here uses ubuntu and has opam 1.2 working? the opam in ubuntu is thoroughly broken. there's a PPA, but it seems to be down or inactive, as I can't get packages from it
<lewis1711>
ah screw it I'll just compile it.. let's shave some yaks
<ollehar1>
OK, I'll try be more constructive, just need to install stuff
lewis1711 has quit [Client Quit]
<Drup>
lewis1711: live in opam dev ! :D
ollehar1 has quit [Quit: ollehar1]
lewis1711 has joined #ocaml
<Denommus>
MercurialAlchemi: React.E.fix is for when you have two recursively dependent events
<Denommus>
MercurialAlchemi: in GUI programming, that rarely ever happens
<Denommus>
MercurialAlchemi: it's more common in game programming (where you may have your velocity deriving from your acceleration, and your acceleration being reduced if you have a big velocity)
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
kdef has quit [Ping timeout: 264 seconds]
<MercurialAlchemi>
hmm
Hannibal_Smith has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
uris77 has quit [Quit: leaving]
<MercurialAlchemi>
Denommus: so how would you define your velocity and acceleration using fix?
ptc has joined #ocaml
<Drup>
I'm not sure using that for a game is a great idea
<lewis1711>
ahhh, now ocaml core dumps when I start it. I"ve done a great job with utop in ubuntu
<Drup>
You can't drive react's "tick" really, so you won't be able to control precisely what's happening.
<Drup>
lewis1711: what did you tried to compile by yourself ?
<lewis1711>
Drup, nope, I grabbed the .deb files of opam 1.2.1 from the ppa site manually, since the ppa was broken
<MercurialAlchemi>
(I think in general, what I miss is an example of how you design a larger application AND separate your logic from the effectful - I don't like the idea of having half your application state being made of signals)
matason has quit [Quit: Later!]
<Drup>
MercurialAlchemi: define large
<Drup>
lewis1711: what did you do to make ocaml coredump ._.
<Drup>
(monster !)
<MercurialAlchemi>
Drup: we're talking about ocaml, maybe 1kloc
<Drup>
I have an example
<lewis1711>
Drup, I have no clue. if I do "eval `opam config env`", it doesn't crash... even though I thought I had already yak-shaved that into my bashrc or whatever
<Drup>
you could probably find a better one, but I don't know any
<lewis1711>
oh new opam, time to opam init
<Drup>
hum, no, you shouldn't have to
<lewis1711>
that fixed it. for anyone following along to my exciting saga.
<Drup>
the good thing with FRP is that you can define the various parts completely independently
<Drup>
and all the wiring/boilerplate is done at the same place
<Drup>
If you follow that, it's relatively clear to know what's happening
<Drup>
(obviously, if you don't, it's a fucking mess to debug)
<Denommus>
Drup: I didn't mean to imply React is usable for games :-D
octachron has joined #ocaml
<Denommus>
Drup: I guess continous, arrowized FRP is much better for that (like Netwire)
<Drup>
Denommus: not even mentioning the efficiency question
<MercurialAlchemi>
Drup: no doubt, though event-based systems are not necessarily easy
<Drup>
which is rather critical for the core game engine
<Denommus>
Drup: I just wanted to provide an example of a recursively defined signal
<Drup>
right :)
Algebr has quit [Remote host closed the connection]
<Drup>
It would be good if you could export the underlying spagetti graph of a given React program
<Drup>
like what was done for Lwt
Haudegen has quit [Ping timeout: 244 seconds]
<Denommus>
MercurialAlchemi: I have an example of recursively defined arrow in Netwire here (though is not runnable because I lost the library code in a broken hard drive): https://gist.github.com/Denommus/648f0a1bc4b6cb3f6bf3
<Denommus>
MercurialAlchemi: the "loop" in velocity is somewhat similar to React.S.fix
seangrove has joined #ocaml
tianon has quit [Read error: Connection reset by peer]
martintrojer has quit [Max SendQ exceeded]
tianon has joined #ocaml
ontologiae has joined #ocaml
jwatzman|work has joined #ocaml
struktured has quit [Ping timeout: 265 seconds]
martintrojer has joined #ocaml
MrScout has quit [Ping timeout: 256 seconds]
matason has joined #ocaml
badon has joined #ocaml
Gama11_ has joined #ocaml
<Denommus>
Drup: wouldn't it be interesting to have a library similar to Netwire in OCaml, with continous time and arrow-based semantics?
ghostpl_ has joined #ocaml
<Drup>
I never looked at netwire, so I can't really answer
<Drup>
you now about froc, right ?
<Denommus>
not really
Gama11 has quit [Ping timeout: 250 seconds]
Nahra has quit [Remote host closed the connection]
<Drup>
hum, froc is still monadic, not arrow-based
MrScout has joined #ocaml
Haudegen has joined #ocaml
<Denommus>
Drup: is it based on continous time, though?
<Drup>
not sure what that even means in the context of signals/events, tbh.
<Denommus>
why am I writing continous all the time?
<Denommus>
*continuous
<Denommus>
Drup: React's approach is discrete: the graph is only "updated" when there is some external event happening
<Drup>
sure, that's what makes it at least not completely inefficient.
<Denommus>
Drup: yes, I completely understand. But that makes it not viable for games, where there's an update of state continuously, even when there aren't external events
kakadu has quit [Quit: Page closed]
<Drup>
you mean you want a value to be defined for each time ?
<Denommus>
maybe. I don't quite get how is the most efficient implementation of continuous-time FRP
<Drup>
No, let's just talk semantic-wise
<Drup>
the difference between events and signals, in react, is that signals have a value for each time while events have a value only for specific times.
<Denommus>
instead of providing something like React's React.E.create and React.S.create, Netwire provides a function that must be called for each iteration, where you push the events that should be computed for the current iteration
<Denommus>
Drup: how would you push the events to the current step?
<Anarchos>
Drup is React based on the HDR of Daniel Le Métayer ?
<Drup>
Anarchos: no idea
<Drup>
Denommus: React.execute
snikkers has quit [Remote host closed the connection]
<Drup>
Step.execute*
<Drup>
Denommus: if you look at E.create and E.signal
<Drup>
the push functions take a step as optional argument
<Drup>
E.create and S.create*
<Drup>
so you could technically forcefully drive the update steps.
<Denommus>
Drup: ah. So maybe it's possible, indeed. But I don't think React was made for such a thing. An experiment would be interesting, nevertheless
snikkers has joined #ocaml
<Drup>
clearly, React is not exactly suited
<Denommus>
Drup: although I think OCaml would be even better for Netwire-like AFRP, given the strict evaluation (Netwire does a lot of monadic magic to properly evaluate everything without space or time leaks)
<Drup>
and I'm pretty sure you could make something much more efficient by applying this hypothesis
tianon has quit [Read error: Connection reset by peer]
<Denommus>
although representing Arrows on OCaml must be quite a task...
<Drup>
funilly, when I was in first year of master, I implemented a minimal arrow library without overloading
tianon has joined #ocaml
mcclurmc has joined #ocaml
<Drup>
just after discovering arrows
<Drup>
it was absolutely horrible to use, because of the lack of overloading, of course
<Drup>
but no, it's not difficult to implement
<Drup>
as long as you keep it *not* general purpose
dsheets has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
<Denommus>
Drup: you mean like React is monadic without actually implementing a Monad sig?
<Drup>
the big issue you will face is the absence of operators that works both on functions and your specific arrow instance
<Drup>
yes
badon_ is now known as badon
<Denommus>
when OCaml gets typeclasses making that general purpose will become easier, probably, won't it?
<Drup>
or even like Lwt, where you clearly implement a Monad sig, but you never tried to do anything with other monads :)
<Drup>
yes
badon has quit [Client Quit]
<Denommus>
heh
<Denommus>
I guess I'll try my hand at it, then. Wish me luck
<haesbaert>
is there any place I can get a list of tags for ocamlbuild ?
ggole has quit []
<Drup>
ocamlbuild -documentation
nullcat has quit [Ping timeout: 250 seconds]
<haesbaert>
ahhhhnnnnnn
<haesbaert>
thx
<Drup>
beware
<Drup>
it's not complete
ptc has quit [Ping timeout: 248 seconds]
<Drup>
it's lacking dynamically generated stuff, and so on
<haesbaert>
it's kinda painfull to read maybe I'll just stick with command line options
<Drup>
and it's not expressed in term of tags, but in terms of rules
<Drup>
which is annoying
ptc has joined #ocaml
Tchi__ has quit [Ping timeout: 246 seconds]
lewis1711 has quit [Ping timeout: 250 seconds]
mengu has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
_andre has quit [Quit: leaving]
mcclurmc has quit [Remote host closed the connection]
kakadu has joined #ocaml
tianon has quit [Read error: Connection reset by peer]
MrScout has quit [Remote host closed the connection]
tianon has joined #ocaml
lewis1711 has joined #ocaml
mcclurmc has joined #ocaml
kushal has quit [Ping timeout: 256 seconds]
shinnya has joined #ocaml
<Denommus>
Drup: any idea on when OCaml will have typeclasses?
<Drup>
Nope.
<Drup>
but you can try it ! "opam switch 4.02.0+modular-implicit"
Choups314 has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
<haesbaert>
hmm I'm failing at finding the cflags tag for ocamlbuild
<Choups314>
Bonjour
kushal has joined #ocaml
<Choups314>
Oops it's an english channel ?
<Drup>
Yes it is. The french channel is #ocaml-fr
<Choups314>
Ok sorry ;)
Haudegen has quit [Ping timeout: 252 seconds]
TheLemonMan has joined #ocaml
icicled has joined #ocaml
<Choups314>
How can I interact with ocamldebug when the program is running ? (It focus the console with a prompt .. and I cannot set breakpoints before the program is loaded)
lewis1711 has quit [Ping timeout: 250 seconds]
tianon has quit [Quit: brb, updating image]
tianon has joined #ocaml
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
Algebr has joined #ocaml
Haudegen has joined #ocaml
badon has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
mengu__ has joined #ocaml
mengu has quit [Ping timeout: 272 seconds]
MrScout has joined #ocaml
MrScout_ has joined #ocaml
MrScout has quit [Read error: No route to host]
claudiuc has quit [Ping timeout: 265 seconds]
<Anarchos>
Choups314 load your program, set the breakpoint ; runs the program.
Algebr has quit [Ping timeout: 264 seconds]
Sorella has quit [Quit: Connection closed for inactivity]
<Choups314>
Anarchos, I couldn't because the modules were not loaded yet. But I found the solution : "goto 0"
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
<smondet>
Drup: what's the status on ocaml-lmdb?
<smondet>
(sqlite got on my nerves once too much …)
<Drup>
untouched since you last asked :D
Sorella has joined #ocaml
<smondet>
does it work as is? is there anything you think is really missing?
<Drup>
hum, I remember pushing a todo file, but apparently I didn't
<Drup>
ah! I commited but didn't push
<Drup>
smondet: there you go, see the readme
<Drup>
it works, but on the dev version of lmdb, and there is no nice cursor interface
<Drup>
now that the new ctypes version is out, I should retry the last point of the todo list
<smondet>
why? what is wrong with the dynamic version?
<Drup>
unnecessary libffi magic.
cesar_ has joined #ocaml
cesar_ is now known as Guest78570
<Drup>
smondet: I'm rather happy with the parts of the interface I did, but if you have comments, shoot :)
freling has quit [Quit: Leaving.]
Guest78570 has quit [Ping timeout: 256 seconds]
badkins_ has quit [Read error: Connection reset by peer]
struktured has joined #ocaml
<smondet>
Drup: the API looks good to me. But yeah, I need a way to iterate. And they use `flock()` which scares me (that will randomly break when someone puts a DB file on an NFS mount)
<Drup>
what kind of iteration do you need to do ?
<Drup>
the issue with the cursor interface is that the raw lmdb thing is both very flexible, and insane.
<Drup>
but adding a very limited iter function is very easy.
<smondet>
go through all the key-values for a given collection (which I agree can be implemented on top of the current API)
paddymahoney has joined #ocaml
paddymahoney has quit [Max SendQ exceeded]
<Drup>
so iter.
<Drup>
(and no, you can't do that with the current Lmdb module)
<smondet>
(I meant you can put all the keys of interest in a value for which you know the key, so get that one, unserialize, and List.iter :) )
<Drup>
urg
<Drup>
Nope.
<Drup>
smondet: do you only need iter : (key -> value -> unit) -> db -> unit ?
ollehar1 has joined #ocaml
<smondet>
What I would need is to implement the module type in Trakeva, so be able to go through a subset of the keys (“collections”, or a given prefix, etc)
<Drup>
right, so you do need the fancy cursor API
tianon has quit [Read error: Connection reset by peer]
mengu__ has quit [Remote host closed the connection]
tianon has joined #ocaml
kdef has joined #ocaml
claudiuc has joined #ocaml
Algebr has joined #ocaml
oriba has joined #ocaml
<Drup>
smondet: would you need the multiple stuff ?
<smondet>
I don't know yet :) Still evaluating options
<Drup>
the issue with lmdb is that the interface is really awfully unsafe
<smondet>
(and right now cannot compile ocaml-lmdb, but seems to be a ctypes problem)
<Drup>
basically, you have configuration flags that influence which flags you can enable on the operations later on
<Drup>
smondet: better now ?
tianon has quit [Read error: Connection reset by peer]
tianon has joined #ocaml
<smondet>
oh, indeed, I had a `ctypes.foreign` ocamlfind package, but not the `ctypes-foreign` opam package...
<Drup>
yes, change in ctypes 0.4
olauzon_ has joined #ocaml
<smondet>
cool, now I can play with ocaml-lmdb (which compiled fine with the Lmdb in `brew` → 0.9.14)
<Drup>
it's possible they released more versions :D
olauzon has quit [Ping timeout: 250 seconds]
olauzon_ is now known as olauzon
larhat has joined #ocaml
<smondet>
Drup: ah yes, the dynamic thing, with the wrong version fails later :D Dl.DL_error "dlsym(RTLD_DEFAULT, mdb_version): symbol not found".
<Drup>
right.
<Drup>
smondet: you understand why I want static stuff now ? ;)
<Drup>
(and a cppo layer)
freling has joined #ocaml
pobivan_ has quit [Quit: pobivan_]
olauzon has quit [Quit: olauzon]
olauzon has joined #ocaml
dav has quit [Ping timeout: 246 seconds]
dav has joined #ocaml
MrScout_ has quit [Remote host closed the connection]
tane has quit [Quit: Verlassend]
AlexRussia has quit [Ping timeout: 250 seconds]
xificurC has quit [Ping timeout: 252 seconds]
freling has quit [Quit: Leaving.]
<kakadu>
Why I can't do something like this?
<kakadu>
type aux_info
<kakadu>
include Comb.STREAM with type t := aux_info*string
<Drup>
only a name after :=
<Drup>
not a type expression
tianon has quit [Read error: Connection reset by peer]
<kakadu>
Why this restriction was introduced?
tianon has joined #ocaml
<Drup>
it's the natural semantic for what ":=" is doing
<Drup>
which is basically "replace a name by another name"
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
<Drup>
there is an ticket on mantis where jacque garigues explains why it would be unsound to put anything else.
MrScout has joined #ocaml
ptc has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ptc has joined #ocaml
<kakadu>
okay, thanks
Submarine has quit [Quit: Leaving]
<smondet>
Drup: BTW why did you go for the dev version of lmdb?
<Drup>
I figured it would be easier to work, since I would just need to add cppo on top
<Drup>
it may have been a wrong move :x
matason has quit [Ping timeout: 264 seconds]
* Anarchos
is lost in all his module/functor instantiation graph .
<Drup>
smondet: note that I don't actually request the dev version
<Drup>
I request a version that implements all the function I declared :D