silver has quit [Read error: Connection reset by peer]
AtumT has quit [Quit: AtumT]
jao has quit [Ping timeout: 248 seconds]
Plazma has joined #ocaml
_whitelogger has joined #ocaml
hio has quit [Quit: Connection closed for inactivity]
oni-on-ion has quit [Ping timeout: 245 seconds]
gravicappa has joined #ocaml
gravicappa has quit [Read error: Connection reset by peer]
<xvilka>
one more day, one more fight with a deps for modern stack support
<xvilka>
I think I will end just forking everything slow for my needs
<dmbaturin>
What kind of deps?
<dmbaturin>
I tried to avoid forking anything. You can guess how well it worked. ;)
<xvilka>
dmbaturin: asn1-combinators, piqi, ppx
<xvilka>
I now understand why some of the projects migrated to Rust
<xvilka>
ocaml ecosystem is ETOOSLOW
<xvilka>
(moving)
<xvilka>
coming from radare.org project everything that is taking more than a few days is unbearable
<dmbaturin>
I had to wait half a year to have my PR against pppd _looked at_. :)
<xvilka>
dmbaturin: in this cases I (or we, in case of radare2) just make a custom fork
<xvilka>
life is too short to wait for someone
<dmbaturin>
Well, that's what I did. The users needed the patch.
<xvilka>
dmbaturin: I am fine with sending a patch
<xvilka>
just send and forget
<xvilka>
but use own fork
<dmbaturin>
Does Rust have working separate compilation now? I haven't looked in a while.
<xvilka>
dmbaturin: what do you mean by separate? you can always call rustc file.rs
<xvilka>
or do you mean an incremental one?
<companion_cube>
it has separate compilation per crate, not sure they did it inside a crate yet
<dmbaturin>
Yes, that's the canonical meaning of separate compilation—no need to recompile modules that hasn't changed.
<dmbaturin>
companion_cube: Would you be open to including val default : 'a -> 'a option -> 'a into CCOpt?
<companion_cube>
(within a crate, anything can depend on anything, so it's non trivial)
<xvilka>
dmbaturin: ah, yes, for quite some time
<companion_cube>
dmbaturin: CCOpt.get_or?
<dmbaturin>
companion_cube: Oh, nice. My naive type grep just failed.
<xvilka>
dmbaturin: in Rust it called incremental compilation I think
<companion_cube>
it has a labelled arg, that's why
<dmbaturin>
Yes, I see it now. Pretty strange name too. :)
<dmbaturin>
First I made a result monad with just bind and return because I didn't link a large lib for it. Then I needed mapM and foldM and I thought I'm going for containers in the end.
<companion_cube>
I forgot if I have a functor in CCResult, there's definitely one in CCList
<companion_cube>
(for list traversal)
<dmbaturin>
companion_cube: Why is it labeled by the way?
<companion_cube>
so I can remember the order
<companion_cube>
I know, it's not very consistent
<dmbaturin>
'a option -> 'a order would be really bad for partial application.
<companion_cube>
yeah…
<dmbaturin>
companion_cube: Also, lack of bind named "bind" as opposed to infix bind is bad for ppx_monadic.
<dmbaturin>
No way to just open, needs an alias.
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
Asmadeus has quit [Ping timeout: 258 seconds]
adrien has quit [Ping timeout: 268 seconds]
adrien has joined #ocaml
Asmadeus has joined #ocaml
narimiran has joined #ocaml
Haudegen has joined #ocaml
barockobamo has joined #ocaml
zolk3ri has joined #ocaml
gravicappa has joined #ocaml
jaar has joined #ocaml
keep_learning_M has quit [Ping timeout: 245 seconds]
keep_learning_M has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
mfp has joined #ocaml
gravicappa has quit [Ping timeout: 258 seconds]
Haudegen has quit [Remote host closed the connection]
sagax has quit [Ping timeout: 268 seconds]
gravicappa has joined #ocaml
jao has joined #ocaml
Haudegen has joined #ocaml
wilfredh has joined #ocaml
<wilfredh>
I just learnt about ocaml.toplevel_printer today :)
<wilfredh>
is it possible to use this with PPX show? My googling didn't find anything relevant.
hio has joined #ocaml
<Plazma>
so installed google-ocamlfuse via opam but i'm not sure where it installed it to or if it actually did anything? it said it completed
<Plazma>
not sure if it built the binary or not
<Drup>
Plazma: `opam show --list-files <pkg>` to know all the files installed by <pkg>
<Plazma>
ok, thanks.. ill have to check that when i get home
<Plazma>
it was strange too when i tried to build it after just to see , it said the deps weren't meant yet i swore it told me they were
<Plazma>
and youd typically not run opam as root yes?
<Plazma>
i recall a warning about that
<Drup>
yes, don't run opam as root
<Plazma>
only reason i considered was because ocaml-fuse is a system level thing often
gahr has quit [Quit: leaving]
gahr has joined #ocaml
jmid has joined #ocaml
jmid has left #ocaml [#ocaml]
jao has quit [Ping timeout: 272 seconds]
andreas31 has quit [Remote host closed the connection]
<companion_cube>
dmbaturin: I'd accept a PR for that
<companion_cube>
(even though I don't use ppx monadic)
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 258 seconds]
spew has joined #ocaml
andreas303 has joined #ocaml
AtumT has joined #ocaml
andreas303 has quit [Remote host closed the connection]
andreas303 has joined #ocaml
jao has joined #ocaml
nicoo has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
nicoo has joined #ocaml
barockobamo has quit [Remote host closed the connection]
bronsen has quit [Ping timeout: 245 seconds]
tane has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
barockobamo has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
al-damiri has joined #ocaml
ygrek has joined #ocaml
gravicappa has quit [Ping timeout: 245 seconds]
Serpent7776 has joined #ocaml
Haudegen has quit [Remote host closed the connection]
<Drup>
(I think you should target ppx_let, rather than ppx_monadic)
<Drup>
ppx_monadic is ... pretty terrible
jaar has quit [Ping timeout: 244 seconds]
Serpent7776 has quit [Read error: Connection reset by peer]
AtumT has quit [Read error: Connection reset by peer]
Serpent7776 has joined #ocaml
AtumT has joined #ocaml
addem has joined #ocaml
addem has quit [Client Quit]
addem has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
barockobamo has quit [Remote host closed the connection]
<sarahzrf>
hmm, so im trying to understand how the "information hiding" stuff in the module system works
<sarahzrf>
i think i have a handle on a lot of it so far, but
<sarahzrf>
suppose i did something like this: module M = Map.Make(struct type t = Foo;; let compare = compare end);;
<sarahzrf>
i.e.: i create a new type in an anonymous module being passed directly to a functor
<sarahzrf>
then is there any scenario in which that could result in the constructors of the type being accessible outside of the anonymous module?
<sarahzrf>
because it basically gets immediately sealed by being passed to the functor, right?
<sarahzrf>
sorry, rephrased: since it's anonymous, the only way to get ahold of the type will be by seeing it somewhere in the functor's output, but the constructors will already be sealed by the time the functor sees the module, right?
<sarahzrf>
er, i feel like im still not describing it quite right, but...
assemblyman has quit [Quit: ™]
Haudegen has quit [Ping timeout: 245 seconds]
Haudegen has joined #ocaml
Anarchos has joined #ocaml
Wooble has joined #ocaml
Anarchos has quit [Client Quit]
Anarchos has joined #ocaml
jnavila has joined #ocaml
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
gravicappa has quit [Ping timeout: 245 seconds]
addem has quit [Quit: Leaving]
<octachron>
sarahzrf, indeed the type t of the functor argument becomes only known as M.key, and you can never construct a non-empty map of type M.t.
addem has joined #ocaml
<sarahzrf>
cool
zolk3ri has quit [Remote host closed the connection]
<addem>
I'm thinking I would make it a module such that using certain functions would generate a 1 or a 0 with probability p and increment the seed in the Random module.
<addem>
Sorry, not sure if my previous message sent or if anyone answered it. It was "How would you implement some kind of representation of a Bernoulli random variable? It's an academic exercise."
<addem>
But if I implement it as a module like that, can you pass an argument into the construction of an instance of the module? Or would you need an associated function that initializes the probability associated with the instance?
addem has quit [Quit: Leaving]
<octachron>
What kind of types do you intend to put inside your Bernoulli r.v. module?
andreas303 has quit [Remote host closed the connection]
andreas303 has joined #ocaml
tane has quit [Quit: Leaving]
<sarahzrf>
omg why isn't filter_map in pre-4.08.0 it's so obvious
<sarahzrf>
er, for List anyway
<notnotdan>
or `mapM : ('a -> 'b list) -> 'a list -> 'b list`
<notnotdan>
or how would it be called in the ocaml world
<companion_cube>
flat_map
Serpent7776 has quit [Quit: leaving]
narimiran has quit [Ping timeout: 248 seconds]
TC01 has quit [Quit: No Ping reply in 180 seconds.]
TC01 has joined #ocaml
jao has quit [Ping timeout: 258 seconds]
jao has joined #ocaml
addem has joined #ocaml
addem has quit [Remote host closed the connection]
addem has joined #ocaml
addem has quit [Client Quit]
addem has joined #ocaml
cmk_zzz has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 258 seconds]
keep_learning has quit [Ping timeout: 246 seconds]
jnavila has quit [Ping timeout: 252 seconds]
addem has quit [Ping timeout: 268 seconds]
Haudegen has quit [Ping timeout: 258 seconds]
jao has quit [Ping timeout: 246 seconds]
jao has joined #ocaml
spew has quit [Quit: Connection closed for inactivity]