<rgrinberg>
from there, it's just turning the crank just like in cohttp
<rgrinberg>
I'm not sure if I would classify this work as good for a newcomer though. I remember the details of the module system were confusing to me as a beginner.
<rgrinberg>
great way to learn though
<englishm>
I'll start poking around and see what I can figure out. If I make any progress I'll send some PRs your way. :)
mcclurmc has quit [Remote host closed the connection]
<rgrinberg>
thanks
<englishm>
thank you!
<rgrinberg>
dont hesitate to ask or open issues
<rgrinberg>
maybe i should do the initial split myself to show the way forward :D
<englishm>
sure, don't let me hold you back :)
jprakash has joined #mirage
tlockney is now known as tlockney_away
jprakash has quit [Quit: leaving]
englishm has quit [Remote host closed the connection]
AltGr has joined #mirage
rgrinberg has quit [Quit: Leaving.]
<bsb>
Morning
thomasga has joined #mirage
thomasga has quit [Quit: Leaving.]
thomasga has joined #mirage
dsheets has joined #mirage
thomasga has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 245 seconds]
avsm has joined #mirage
thomasga1 has joined #mirage
avsm has quit [Quit: Leaving.]
dsheets has joined #mirage
thomasga1 has quit [Client Quit]
djs55 has joined #mirage
djs55 has quit [Client Quit]
djs55 has joined #mirage
thomasga1 has joined #mirage
andreas has joined #mirage
andreas1 has quit [Ping timeout: 244 seconds]
thomasga has joined #mirage
thomasga has quit [Client Quit]
thomasga1 has quit [Ping timeout: 240 seconds]
avsm has joined #mirage
lpw25 has joined #mirage
dezzy has quit [Changing host]
dezzy has joined #mirage
avsm has quit [Quit: Leaving.]
avsm has joined #mirage
englishm has joined #mirage
<dsheets>
avsm, HSTS HTTP header RFC 6797 and they use preloaded lists to thwart first contact mitm
lpw25 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
AltGr has left #mirage [#mirage]
jprakash has joined #mirage
brson has joined #mirage
philtor_ has joined #mirage
mcclurmc has quit [Remote host closed the connection]
avsm has joined #mirage
djs55 has quit [Quit: Leaving.]
philtor has quit [Ping timeout: 260 seconds]
dsheets has quit [Ping timeout: 260 seconds]
philtor has joined #mirage
thomasga has joined #mirage
rgrinberg has quit [Quit: Leaving.]
yomimono has joined #mirage
avsm has quit [Quit: Leaving.]
thomasga has quit [Quit: Leaving.]
mcclurmc has joined #mirage
dbuenzli has quit [Ping timeout: 264 seconds]
mcclurmc has quit [Remote host closed the connection]
philtor_ has quit [Ping timeout: 264 seconds]
agarwal1975 has quit [Quit: agarwal1975]
mcclurmc has joined #mirage
mcclurmc has quit [Remote host closed the connection]
rgrinberg has joined #mirage
mcclurmc has joined #mirage
mcclurmc has quit [Remote host closed the connection]
dsheets has joined #mirage
djs55 has joined #mirage
dbuenzli has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
mcclurmc has joined #mirage
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
yomimono has joined #mirage
yomimono has quit [Read error: Connection reset by peer]
dbuenzli has quit [Quit: Leaving.]
avsm has joined #mirage
<vbmithr_>
hannes: How do I gather entropy with nocrypto ?
<vbmithr_>
Is there a way to give /dev/urandom somewhere ?
<vbmithr_>
It's annoying to have to do that manually, I'd like to provide a function creating entropy and that's it.
dsheets has quit [Ping timeout: 250 seconds]
<rgrinberg>
avsm: I've had a cursory glance at async_kernel to see where the unix dependencies are coming from and it seems like the main obstacle is time
<rgrinberg>
how do you guys port time stuff to mirage?
djs55 has quit [Quit: Leaving.]
<avsm>
rgrinberg: it's mainly figuring out the channel interfaces
<avsm>
the time stuff is pretty easy: both async and lwt keep a timer wheel (or pqueue) of timeouts
<rgrinberg>
channel interfaces? like for reader/writer?
<avsm>
yeah, they're all C bindings
<avsm>
Async.Reader/Writer are specific to unix
<avsm>
like Lwt_io (which we dont use in Mirage)
<rgrinberg>
I see. So doing async_kernel alone is kind of pointless
<avsm>
i think it would be useful — for instance, you could port a lot of cohttp
<avsm>
async_unix is where the source of the traffic comes from, but the majority of logic (monitors, combinators) are in async_kernel
<avsm>
i've been wondering about porting to use the higher library to remove the IO module
<avsm>
(it would be an 'io kind instead)
<rgrinberg>
you mean in cohttp?
<avsm>
that might make all this easier, since there would be no need to functorize half the library
<avsm>
yeah
<rgrinberg>
yeah, I think JS would refuse any functorization as well
<rgrinberg>
it's just too damn ugly
<avsm>
it's a bit of a large hammer, yeah
<avsm>
about to finally commit some conduit code btw — quite happy with the interface now
<rgrinberg>
I think higher is worth trying I think it would work better for opium as well
<avsm>
(cohttp's been blocked far too long on that account)
* avsm
really wants to use opium on his website…
<rgrinberg>
I want webapp that compiles into a unikernel
<philtor>
opium uses Async?
<rgrinberg>
indeed
<rgrinberg>
avsm: also about the build system stuff, are we waiting on assemblage?
<philtor>
avsm: conduit code?
<philtor>
rgrinberg: How hard to port to Lwt?
<philtor>
I've been thinking I should just port mqtt_client to Lwt to get it into Mirage.
<rgrinberg>
philtor: how hard to port opium?
<rgrinberg>
or stuff in general
<philtor>
rgrinberg: yes
<philtor>
(opium)
<rgrinberg>
pretty trivial
<rgrinberg>
the challenge is supporting both
<philtor>
what is the "higher" library?
<philtor>
rgrinberg: yes, I'd rather not have two versions either.
<rgrinberg>
higher is a little hack to support type constructor polymorphism
<rgrinberg>
the point is that instead of writing code inside a functor to parameterize over a monad
<rgrinberg>
the monad is a parameter itself
<rgrinberg>
(Deferred.t or Lwt.t in our specific case)
<rgrinberg>
you still have to do the dictionary plumbing manually however so it's ugly anyway
<rgrinberg>
but at least you dont have to do the functor triple by pass surgery to your library