jmct has quit [Read error: Connection reset by peer]
jmct has joined #ocaml
malc_ has joined #ocaml
robmyers has quit [Ping timeout: 240 seconds]
terrorjack has joined #ocaml
robmyers has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
penguwin has quit [Quit: NO CARRIER]
penguwin has joined #ocaml
ollehar has joined #ocaml
Haudegen has joined #ocaml
mangoicedtea has quit [Ping timeout: 260 seconds]
Haudegen has quit [Ping timeout: 240 seconds]
cantstanya has quit [Remote host closed the connection]
nicoo has quit [Ping timeout: 240 seconds]
cantstanya has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
nicoo has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
Jesin has joined #ocaml
mfp has quit [Ping timeout: 240 seconds]
Guest86335 has quit [Ping timeout: 272 seconds]
smazga has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
Guest86335 has joined #ocaml
amiloradovsky has quit [Ping timeout: 260 seconds]
smazga has joined #ocaml
waleee-cl has quit [Quit: Connection closed for inactivity]
smazga has quit [Ping timeout: 265 seconds]
smazga has joined #ocaml
vicfred has quit [Quit: Leaving]
smazga has quit [Ping timeout: 272 seconds]
malc_ has quit [Ping timeout: 272 seconds]
Jesin has quit [Ping timeout: 264 seconds]
_whitelogger has joined #ocaml
smazga has joined #ocaml
FreeBirdLjj has joined #ocaml
smazga has quit [Ping timeout: 272 seconds]
malc_ has joined #ocaml
craigfe has quit [Ping timeout: 272 seconds]
malc_ has quit [Remote host closed the connection]
malc_ has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
smazga has joined #ocaml
mirrorbird has joined #ocaml
smazga has quit [Ping timeout: 240 seconds]
osa1 has joined #ocaml
smazga has joined #ocaml
t-j-r has joined #ocaml
_tjr_ has quit [Quit: quitting]
smazga has quit [Ping timeout: 264 seconds]
Serpent7776 has joined #ocaml
Guest86335 has quit [Ping timeout: 240 seconds]
Jesin has joined #ocaml
Guest86335 has joined #ocaml
malc_ has quit [Ping timeout: 272 seconds]
smazga has joined #ocaml
craigfe has joined #ocaml
tizoc has quit [*.net *.split]
mal`` has quit [*.net *.split]
remexre has quit [*.net *.split]
higherorder has quit [*.net *.split]
bytesighs has quit [*.net *.split]
kit_ty_kate has quit [*.net *.split]
TC01 has quit [*.net *.split]
brettgilio has quit [*.net *.split]
brown121407 has quit [*.net *.split]
jerith has quit [*.net *.split]
stux|RC-only has quit [*.net *.split]
smazga has quit [Ping timeout: 259 seconds]
tizoc has joined #ocaml
remexre has joined #ocaml
higherorder has joined #ocaml
mal`` has joined #ocaml
bytesighs has joined #ocaml
brettgilio has joined #ocaml
brown121407 has joined #ocaml
kit_ty_kate has joined #ocaml
TC01 has joined #ocaml
stux|RC-only has joined #ocaml
jerith has joined #ocaml
ggole has joined #ocaml
malc_ has joined #ocaml
osa1 has quit [Ping timeout: 265 seconds]
sarna has joined #ocaml
<sarna>
hey, I want to write a library and I'm struggling with the following problem - how do I abstract away the standard library I'm using?
<sarna>
for example, I use Containers, and want to return an array from one of my functions. how do I make sure people can use Core with it, conveniently?
<rgrinberg>
Since core and containers use the same array type, there should be no issues already
<sarna>
they do? `containers.CCArray` is the same as `core_kernel.Core_kernel.Array`?
decentpenguin has quit [Read error: Connection reset by peer]
<rgrinberg>
They are all the same as Stdlib.Array
<sarna>
well that's very cool, I have no more concerns. thank you :)
decentpenguin has joined #ocaml
<rgrinberg>
One is not always this fortunate. For example, core's hash table differs from containers and stdlib's
<rgrinberg>
But basic things such as arrays & lists are the same
<sarna>
good ol list of pairs to the rescue?
smazga has joined #ocaml
<rgrinberg>
Indeed :)
malc_ has left #ocaml ["ERC (IRC client for Emacs 28.0.50)"]
smazga has quit [Ping timeout: 272 seconds]
<sarna>
by the way, are there any libraries that would help with debugging? like printing representation of stuff, or something that drops you into a repl on a given line so you can see what the bindings are
<sarna>
or would I just use ocamldebug
Haudegen has joined #ocaml
smazga has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
Serpent7776 has quit [*.net *.split]
ollehar has quit [*.net *.split]
towel has quit [*.net *.split]
engil has quit [*.net *.split]
johnel has quit [*.net *.split]
smazga has joined #ocaml
mirrorbird has quit [Ping timeout: 272 seconds]
Serpent7776 has joined #ocaml
ollehar has joined #ocaml
towel has joined #ocaml
engil has joined #ocaml
johnel has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
smazga has joined #ocaml
SrPx has quit [Ping timeout: 260 seconds]
rdivyanshu_ has quit [Read error: Connection reset by peer]
rdivyanshu_ has joined #ocaml
SrPx has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
dckc has quit [Ping timeout: 265 seconds]
dckc has joined #ocaml
smazga has joined #ocaml
smazga has quit [Ping timeout: 240 seconds]
osa1 has joined #ocaml
smazga has joined #ocaml
smazga has quit [Ping timeout: 240 seconds]
mbuf has joined #ocaml
smazga has joined #ocaml
bartholin has quit [Ping timeout: 272 seconds]
bartholin has joined #ocaml
smazga has quit [Ping timeout: 258 seconds]
mfp has joined #ocaml
osa1 has quit [Ping timeout: 240 seconds]
mirrorbird has joined #ocaml
smazga has joined #ocaml
smazga has quit [Ping timeout: 246 seconds]
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
craigfe has quit [Ping timeout: 264 seconds]
smazga has joined #ocaml
reynir has quit [Ping timeout: 240 seconds]
craigfe has joined #ocaml
reynir has joined #ocaml
osa1 has joined #ocaml
smazga has quit [Ping timeout: 240 seconds]
smazga has joined #ocaml
smazga has quit [Ping timeout: 272 seconds]
smazga has joined #ocaml
smazga has quit [Ping timeout: 240 seconds]
h14u has joined #ocaml
webshinra_ has joined #ocaml
webshinra has quit [Ping timeout: 256 seconds]
reynir has quit [Quit: WeeChat 2.3]
jbrown has joined #ocaml
smazga has joined #ocaml
smazga has quit [Ping timeout: 240 seconds]
jbrown has quit [Ping timeout: 260 seconds]
Haudegen has quit [Quit: Bin weg.]
reynir has joined #ocaml
<olle>
22:29 < ollehar> What's the argument for effect types?
<olle>
Gonna give this another try
<octachron>
To make it easier to manage various effects by tracking them in the type system?
<olle>
octachron: but what does that mean?
<olle>
what's "manage effects"?
<octachron>
How do you know without effect types if an expression may raise an exception or set a global variable?
waleee-cl has joined #ocaml
<olle>
You can't
<olle>
hm
<olle>
Yeah, maybe that's good enough :)
<octachron>
Well, if the expression is juste `raise Not_found`, it is not that hard. It is more when you are building more complex functions from building block that you may to have some kind of system that tracks that information for you.
<olle>
Mhm
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
<olle>
octachron: but that only makes sense if your IO is very located. if everything has side-effects, it's near meaninsless to track it.
<olle>
meaningless*
<olle>
like putting IO monad everywhere in Haskell
<octachron>
Not if it lightweight enough and transparent to the user.
<octachron>
Then it is the code that is not doing IO that become easier to single out.
<octachron>
For instance, in OCaml IO-free code could be freed from the value restriction.
<octachron>
*state-free rather than IO-free
kanishka has joined #ocaml
<kanishka>
Has anyone tried or seen examples of a postgres foreign data wrapper or sqlite virtual table implemented in ocaml? (E.g. multicorn enables this for python)
<olle>
octachron: value restriction? that's an compiler optimization?
<octachron>
No it is a limitation of the type checker that can only infer a fully polymorphic type for pure values and not computations
<octachron>
due to the possibility of computations capturing some mutable state
<octachron>
and "let store = ref None" cannot be allowed to be a int option ref for a reader and a (bool -> bool) option ref for a different writer
<olle>
ok
tmhoang2 is now known as tmhoang
kanishka has quit [Quit: Quit]
kanishka has joined #ocaml
<olle>
hm hm
<olle>
hm!
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
kanishka has quit [Quit: Quit]
vikfret has joined #ocaml
kanishka has joined #ocaml
kanishka has quit [Client Quit]
smazga has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
dckc has quit [Ping timeout: 258 seconds]
<Putonlalla>
Now that I can log things with `logs`, is there a way to automatically insert the tags into `Log.debug (fun m -> m "Message goes here." ~tags:(loc __FILE__ __LINE__))`?
Haudegen has joined #ocaml
mbuf has quit [Quit: Leaving]
<companion_cube>
not that I know of, we'd need macros
dckc has joined #ocaml
<Putonlalla>
Doesn't PPX do that?
<companion_cube>
I guess, if you want to bring that in
<Putonlalla>
I don't know if I do.
<Putonlalla>
Is it analogous to Template Haskell?
<companion_cube>
I'm not sure what to compare it to
<Putonlalla>
Try kidney stones.
<companion_cube>
ah, I mean ppx
<companion_cube>
but maybe it still works.
smazga has joined #ocaml
<reynir>
Can't you make a new Logs module maybe
<reynir>
Sorry, that's poorly worded..
<reynir>
Yes, with Logs.Src.create and Logs.src_log
smazga has quit [Ping timeout: 240 seconds]
<reynir>
Oh uh, nevermind >.<
<companion_cube>
it's more about the line number
<olle>
It's about family
muskan has joined #ocaml
vicfred has joined #ocaml
Tuplanolla has joined #ocaml
smazga has joined #ocaml
sarna has quit [Quit: Connection closed]
smazga has quit [Quit: leaving]
bartholin has quit [Ping timeout: 272 seconds]
olle has quit [Ping timeout: 265 seconds]
bartholin has joined #ocaml
osa1 has quit [Ping timeout: 240 seconds]
jbrown has joined #ocaml
tane has joined #ocaml
Guest86335 has quit [Ping timeout: 272 seconds]
vikfret has quit [Quit: Leaving]
smazga has joined #ocaml
jbrown has quit [Ping timeout: 272 seconds]
jbrown has joined #ocaml
Guest86335 has joined #ocaml
jbrown has quit [Ping timeout: 272 seconds]
Haudegen has quit [Quit: Bin weg.]
muskan has quit [Ping timeout: 245 seconds]
vikfret has joined #ocaml
mbuf has joined #ocaml
jbrown has joined #ocaml
Jesin has quit [Quit: Leaving]
Jesin has joined #ocaml
grdgz has joined #ocaml
mirrorbird has quit [Ping timeout: 260 seconds]
Haudegen has joined #ocaml
mirrorbird has joined #ocaml
aaaaaa has joined #ocaml
camlriot42 has joined #ocaml
mirrorbird has quit [Ping timeout: 240 seconds]
osa1 has joined #ocaml
mbuf has quit [Quit: Leaving]
Hrundi_V_Bakshi has joined #ocaml
osa1 has quit [Remote host closed the connection]
vicfred has quit [Quit: Leaving]
_whitelogger has quit [Ping timeout: 240 seconds]
_whitelogger_ has joined #ocaml
vikfret has quit [Read error: Connection reset by peer]
tizoc` has quit [Client Quit]
tizoc has joined #ocaml
smazga has joined #ocaml
TheRuralJuror has joined #ocaml
decentpe- has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
Haudegen has quit [Ping timeout: 240 seconds]
decentpenguin has quit [Ping timeout: 240 seconds]
decentpe- is now known as decentpenguin
sillyotter has joined #ocaml
sillyotter has quit [Client Quit]
ggole has quit [Quit: Leaving]
Hail_Spacecake has quit [Ping timeout: 240 seconds]
Hail_Spacecake has joined #ocaml
amiloradovsky has joined #ocaml
smazga has joined #ocaml
amiloradovsky has quit [Ping timeout: 240 seconds]
smazga has quit [Ping timeout: 256 seconds]
amiloradovsky has joined #ocaml
smazga has joined #ocaml
vicfred has joined #ocaml
Hail_Spacecake has quit [Remote host closed the connection]
Hail_Spacecake has joined #ocaml
smazga has quit [Ping timeout: 265 seconds]
smazga has joined #ocaml
vikfret_ has quit [Quit: Leaving]
amiloradovsky has quit [Ping timeout: 240 seconds]
Tuplanolla has quit [Quit: Leaving.]
reynir has quit [Ping timeout: 265 seconds]
reynir has joined #ocaml
tane has quit [Quit: Leaving]
Hrundi_V_Bakshi has quit [Ping timeout: 265 seconds]