<andries12>
or maybe this blog by freenode staff member Matthew 'mst' Trout https://MattSTrout.com/
<andries12>
Hey, I thought you guys might be interested in this blog by freenode staff member Bryan 'kloeri' Ostergaard https://bryanostergaard.com/
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
prawnsalad10 has joined #ocaml
prawnsalad10 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
<prawnsalad10>
or maybe this blog by freenode staff member Matthew 'mst' Trout https://MattSTrout.com/
<prawnsalad10>
Hey, I thought you guys might be interested in this blog by freenode staff member Bryan 'kloeri' Ostergaard https://bryanostergaard.com/
granttrec has quit [Ping timeout: 260 seconds]
jbrown has quit [Ping timeout: 264 seconds]
<dtornabene>
love to see ocaml irc overrun with nazi bots, great stuff
<dtornabene>
:adrien can we get some ban hammer action up in this chamber or what
unyu has joined #ocaml
ben__ has joined #ocaml
ben__ has quit [Ping timeout: 240 seconds]
malina has quit [Ping timeout: 260 seconds]
<jgkamat>
You can set +r temporarily to solve it fwiw
<dtornabene>
:jgkamat was that to me?
<jgkamat>
er, to any op in this channel
<jgkamat>
maybe it's gotten better now though, so it's not needed
Guest43156 has joined #ocaml
cobreadmonster has quit [Quit: Connection closed for inactivity]
<Drup>
Leonidas: pretty sure there is a bug report about that
<Drup>
I though it was implemented in the last version
<Leonidas>
Drup: do I need to do something specific? When I try it, it only seems to pick up one of my opam files, building a tarball with all sublibraries and only creates one opam-repository package
TarVanimelde has quit [Quit: TarVanimelde]
matze11 has joined #ocaml
<matze11>
Hey, I thought you guys might be interested in this blog by freenode staff member Bryan 'kloeri' Ostergaard https://bryanostergaard.com/
<matze11>
or maybe this blog by freenode staff member Matthew 'mst' Trout https://MattSTrout.com/
<adrien>
unfortunately I can't do much op stuff on the channel
<adrien>
and freenode staff is not helpful on that
Guest43156 has quit [Read error: Connection reset by peer]
Haudegen has joined #ocaml
<steenuil>
zozozo: neat, I didn't know that was a thing
<steenuil>
they've been making the rounds on other servers too
<zozozo>
yeah, I actually got that list of filters on another server, ^^
Wojciech_K has joined #ocaml
ben______ has quit [Remote host closed the connection]
sagotch has quit [Quit: Leaving.]
<hannes>
how does embedding C stubs in OCaml work (let's assume for a unix binary)? in which files do the C stubs end up in (afaict there is a libfoo_stubs.a, but the same symbols end up in cmxs!?)? is the cmxs used when emitting a binary, or the cmxa and the .a?
<rks`>
a .cmxs is basically a .so
<rks`>
the .cmxa and .a are used when statically linking
<hannes>
rks`: ah, thanks. and the cmxs is used when dynamically linking (the default for ocaml afaict)?
<rks`>
the .cmxs is indeed used when dynamically linking
<rks`>
which is not the default for ocaml
<hannes>
hmm, in the end I have a binary which is dynamically linked against libthr / libm / libc (from the ocaml runtime i suspect), and libgmp -- so zarith does sth special here!?
<rks`>
well
<rks`>
the stubs will be statically linked
<rks`>
which, I guess, doesn't prevent from dynamically linking some C library they depend on?
shinnya has quit [Ping timeout: 248 seconds]
<Leonidas>
is there a way to unpack cma files into their cmis?
<Leonidas>
I am trying to run cmitomli but dune generates cma's
<rks`>
but honestly, the limit of my knowledge was before your last question, I'm just guessing at this point, so I'll probably stay quiet now and wait for someone actually knowledgable to answer
<rks`>
Leonidas: a .cma doesn't contain .cmi files, but .cmo files
<rks`>
I'm pretty sure dune also generates the .cmi files, you're just not looking hard enough
<Leonidas>
oh. I know it was some kind of archive, but apparently not the archive of what I wanted :-D
<hannes>
rks`: ok, thanks! that was already helpful
<Leonidas>
also fun files like _build/.misc/efd18ff7f1f791096762db11147cbfad.cmi
<Leonidas>
what are these for?
<rks`>
⁻\_(.%)_/⁻
<rks`>
ask rgrinberg
<hannes>
ha, and with ocamlobjinfo zarith.cmxa i discovered more details :)
_whitelogger has joined #ocaml
mahem1 has joined #ocaml
<reynir>
Leonidas: what's in the interface :o
<Leonidas>
reynir: Fatal error: exception Cmi_format.Error(_) according to cmitomli. So maybe not a cmi file at all
<reynir>
heh
weird_error has quit [Quit: weird_error]
jao has joined #ocaml
tarptaeya has joined #ocaml
jao has quit [Ping timeout: 255 seconds]
jaar has quit [Remote host closed the connection]
Fare has joined #ocaml
malina has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
spew has joined #ocaml
Denommus has joined #ocaml
<adrien>
I'm trying to install x509 through opam and I'm getting an error from the solver
<adrien>
opam show x509 tells me ""asn1-combinators" {>= "0.2.0"}"
<adrien>
and opam install tells me (among others) : "x509 → asn1-combinators < 0.2.0 → ocaml < 4.06.0"
<adrien>
why does opam install say "asn1-combinators < 0.2.0"
Haudegen has joined #ocaml
<reynir>
maybe it's trying to install an older version of x509 for some reason?
cryptocat1094 has joined #ocaml
<adrien>
reynir: any idea how to check that?
<reynir>
Sorry, no, but maybe you can try force a version: opam install x509.0.6.1
* reynir
heads to the beach o/
<adrien>
thanks and enjoy :)
<adrien>
seems like a good thing but I still have other dependencies to "solve"
<adrien>
ah...
<hannes>
adrien: which compiler are you on? let me know if you need further help.
<hannes>
i guess there's no good story for 4.07 and tls/x509 atm (need some work to figure the ppx_sexp_conv 0.11 deps)
<adrien>
4.07.0
<adrien>
I was trying it because migrating to opam 2.0.0 rc3 broke the database and I didn't care that much about it (this is on a specific-purpose container)
<hannes>
as mentioned above, there's an issue: ppx_sexp_conv >= v0.11.0 introduced a runtime dependency which x509+tls are not aware of (and thus constrained to older ppx_sexp_conv), and older ppx_sexp_conv are for some reasons not supported on 4.07.0
<adrien>
I don't really care which compiler version I use but I've been struggling to find one that let me install my dependencies successfully (calculon, lwt-react, cohttp-lwt-unix)
<adrien>
can it be worked around by hand or should I better use another compiler version?
<hannes>
you can remove the ppx_sexp_conv version constraint manually (nocrypto will hopefully take care of getting a dependency towards ppx_sexp_conv runtime lib), or downgrade your compiler... i'll improve the current state in opam-repository hopefully later today
gareppa has quit [Remote host closed the connection]
kakadu has joined #ocaml
jao has joined #ocaml
<kevinqiu>
I was wondering how to use `Async.Scheduler.yield_until_no_jobs_remain` properly. It seems like it should wait for all jobs on the queue to finish before becoming determined. However, I created a toy example where I put some print statements onto the queue by calling `after`, ignore it with `don't_wait_for`, and I call `yield_until_no_jobs_remain` to get a `Deferred.t` to return to the Command runner. However, this results in nothing
<kevinqiu>
possible? That's what I though `yield_until_no_jobs_remain` would give me but it seems not. Are jobs taken off the queue once work has started on them? Reading the code, I don't fully understand how the Job_queue works
<kevinqiu>
being output when the program exits. If I instead return the `Deferred.t` that is returned from `after` it works as expected and the statement is printed. The use case is that I want to be able to queue up output (Statsd metrics) in a larger program and not have to worry about the `Deferred.t` at the call sites. I want to just wait at the end of execution for all the Deferreds that I've created to resolve before exiting. Is this
jrslepak has quit [Quit: leaving]
jrslepak has joined #ocaml
<ELLIOTTCABLE>
why's the /topic still 4.06.0? :P
jnavila has joined #ocaml
mahem1 has quit [Quit: Page closed]
<rgr[m]>
kevinqiu: consider using a pipe.t for your queuing needs. How did you run your program? Aysnc just has a way to turn on the scheduler and not really a way to wait for it run all the jobs.
<rgr[m]>
Since the scheduler doesn't really have a way of knowing how many jobs will run.
<kevinqiu>
I was using `Command.run` + `Command.async_spec`
<kevinqiu>
I'll investigate the pipe
<kevinqiu>
I guess queing is the wrong word, the desired behavior is:
jack5638 has quit [Ping timeout: 260 seconds]
jack5638 has joined #ocaml
olle has joined #ocaml
<olle>
hi
<olle>
a question about linear type systems.
<ZirconiumX>
"Don't ask to ask, just ask"
<olle>
would it be possible with linear types to statically check the order of function calls, for example the use-case of interacting with a lua state
<olle>
when calling a function inside a lua state, you first push the function name, and the the function arguments, to a stack.
<companion_cube>
if combined with phantom types, I suppose so (although it'd be cumbersome)
<companion_cube>
each intermediate state would have a unique phantom type that is consumed to produce the next state when the next argument is passed
afloat has quit []
<olle>
companion_cube: yes, but then you'd have to catch the state on every call.
<olle>
my thought was with linear types, you could avoid this.