adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml MOOC http://1149.fr/ocaml-mooc | OCaml 4.02.3 announced http://ocaml.org/releases/4.02.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
mistermetaphor has quit [Remote host closed the connection]
wolfcore- has quit [Ping timeout: 244 seconds]
wolfcore has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 250 seconds]
yegods has quit [Read error: Connection reset by peer]
yegods has joined #ocaml
dsheets has joined #ocaml
noddy has quit [Ping timeout: 250 seconds]
seangrov` has joined #ocaml
mattg has quit [Read error: Connection reset by peer]
Guest72433 is now known as kandu
Sim_n has quit [Quit: Leaving]
dsheets has quit [Ping timeout: 276 seconds]
seangrov` has quit [Ping timeout: 244 seconds]
hxegon has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
mattg has joined #ocaml
mistermetaphor has joined #ocaml
hxegon is now known as hxegon_AFK
hxegon_AFK has quit [Quit: BRB]
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dsheets has joined #ocaml
mistermetaphor has quit [Ping timeout: 250 seconds]
yegods has quit [Ping timeout: 250 seconds]
dsheets has quit [Ping timeout: 250 seconds]
yegods has joined #ocaml
struktured has joined #ocaml
noddy has joined #ocaml
hxegon has joined #ocaml
silver has quit [Quit: rakede]
FreeBirdLjj has joined #ocaml
yegods has quit [Ping timeout: 250 seconds]
wolfcore has quit [Ping timeout: 250 seconds]
yegods has joined #ocaml
mva1985 has joined #ocaml
yegods has quit [Client Quit]
wolfcore has joined #ocaml
<struktured> partial matching on records...why did I not know this existed until now! ugh.. eg type t = {a_int:int;a_bool:bool} ; function {a_bool} -> a_bool is sound .
<jun__> but function { a_bool ; _ } -> a_bool is more explicit
<struktured> jun__: can you elaborate just a bit?
<jun__> when you do partial matching, you can add "; _" to explicitly indicate there are other fields which are not matched
mva1985 has left #ocaml [#ocaml]
FreeBirdLjj has quit [Remote host closed the connection]
<jun__> and i think not adding the "; _" produce a warning
FreeBirdLjj has joined #ocaml
<struktured> jun__: ok, got it. thanks
noddy has quit [Ping timeout: 276 seconds]
ygrek has joined #ocaml
seangrov` has joined #ocaml
hxegon has quit [Quit: BRB]
seangrov` has quit [Ping timeout: 244 seconds]
mistermetaphor has joined #ocaml
dsheets has joined #ocaml
teknozulu has joined #ocaml
hxegon has joined #ocaml
struktured has quit [Quit: Konversation terminated!]
dsheets has quit [Ping timeout: 250 seconds]
pierpa has quit [Ping timeout: 260 seconds]
misterme_ has joined #ocaml
mistermetaphor has quit [Ping timeout: 276 seconds]
teknozulu has quit [Read error: Connection reset by peer]
darkf_ has joined #ocaml
hxegon has quit [Quit: BRB]
darkf has quit [Ping timeout: 276 seconds]
lopex has quit [Read error: Connection reset by peer]
lopex has joined #ocaml
dsheets has joined #ocaml
johnelse_ has quit [Ping timeout: 260 seconds]
cmk_zzz has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
johnelse has joined #ocaml
<cmk_zzz> I'm new to ocaml so I might have missed something but I can't seem to find the documentation for any Opam package? For example cryptokit but I've checked a few others as well. I've looked around and search google but I just can't find the documentation.
rgrinberg has quit [Ping timeout: 244 seconds]
<cmk_zzz> ok, I'm reading the mli files as documentation for now. That got me going
<struk|desk> cmk_zzz: that tends to be the case to often! use utop + merlin to poke around too
<cmk_zzz> struk|desk: yes, I have yet to install merlin but utop is good for discover and luckily cryptokit is actually very well documented once you find where it is
dsheets has joined #ocaml
darkf_ is now known as darkf
johnelse has quit [Ping timeout: 244 seconds]
kushal has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]
kamog has joined #ocaml
seangrov` has joined #ocaml
dsheets has joined #ocaml
johnelse has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
larhat1 has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
rfv has quit [Read error: Connection reset by peer]
rfv has joined #ocaml
misterme_ has quit [Read error: Connection reset by peer]
MercurialAlchemi has joined #ocaml
mistermetaphor has joined #ocaml
seangrov` has quit [Ping timeout: 244 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
hxegon has joined #ocaml
g4143 has joined #ocaml
<struk|desk> cmk_zzz: what are you using cryptokit for ?
<struk|desk> cmk_zzz: I thought ocaml-nocrypto was a more modern choice but I don't really know if that's accurate
<adrien> cryptokit works just fine afaik
<adrien> and I think they don't cover exactly the same things
MercurialAlchemi has quit [Ping timeout: 244 seconds]
g4143 has quit [Quit: Ex-Chat]
<struk|desk> adrien: how would you decide which one to pick then?
<adrien> I don't have an answer to that; last time I had to chose, nocrypto wasn't around I think
nicholasf has joined #ocaml
uhbg has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 244 seconds]
MercurialAlchemi has joined #ocaml
A1977494 has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]
Ninja123_ has joined #ocaml
Ninja123 has quit [Ping timeout: 244 seconds]
kushal has quit [Quit: Leaving]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 244 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
A1977494 has quit [Ping timeout: 250 seconds]
hxegon has quit [Quit: BRB]
A1977494 has joined #ocaml
nichola__ has joined #ocaml
nicholasf has quit [Read error: Connection reset by peer]
kamog has quit [Remote host closed the connection]
leyyin has joined #ocaml
emias has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]
ggole has joined #ocaml
larhat has joined #ocaml
larhat has left #ocaml [#ocaml]
Simn has joined #ocaml
dsheets has joined #ocaml
ygrek has quit [Ping timeout: 260 seconds]
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
nichola__ has quit [Remote host closed the connection]
nicholasf has joined #ocaml
kushal has joined #ocaml
jwatzman|work has joined #ocaml
seangrove has joined #ocaml
Algebr has joined #ocaml
ygrek has joined #ocaml
zpe has joined #ocaml
<Algebr> What the's compiler warning about objects being partially applied?
<Algebr> when being created with new
<ggole> I don't think there is such a warning, unless it is new in 4.03
<Algebr> darn
<ggole> The usual partial application warning should apply afaict
ygrek has quit [Ping timeout: 250 seconds]
def` has quit [Quit: Lost terminal]
def` has joined #ocaml
silver has joined #ocaml
yomimono has joined #ocaml
kushal has quit [Quit: Leaving]
uhbg has quit [Ping timeout: 250 seconds]
yomimono has quit [Ping timeout: 246 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
kushal has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
Kakadu has joined #ocaml
A19774941 has joined #ocaml
A1977494 has quit [Ping timeout: 276 seconds]
<hannes> hmm, when I trace (let's say strace, but actually using ktrace) a OCaml program which uses lwt, my errno gets messed up in the tracing (if I use Unix, it works fine) [getting 36 instead of 61, Lwt returns the correct errno]. any ideas / comments / suggestions?
<flux> are there other tracing tools available?-o
<flux> I mean, how possibly could a user-space app make a kernel tracing tool confused about errors system calls return?
nicholasf has quit [Remote host closed the connection]
nicholasf has joined #ocaml
TheLemonMan has joined #ocaml
opop has joined #ocaml
jkni_ has joined #ocaml
srcerer_ has joined #ocaml
NhanH_ has joined #ocaml
peter1 has joined #ocaml
chenglou_ has joined #ocaml
sz0_ has joined #ocaml
deavidsedice has joined #ocaml
mhinz has joined #ocaml
destrius_ has joined #ocaml
Shozan has joined #ocaml
wagle_ has joined #ocaml
artart78_ has joined #ocaml
zaltekk_ has joined #ocaml
jknick_ has joined #ocaml
Pepe__ has joined #ocaml
swistak35_ has joined #ocaml
Madars_ has joined #ocaml
natimic has quit [Ping timeout: 260 seconds]
ousado has quit [Ping timeout: 260 seconds]
chenglou has quit [Ping timeout: 260 seconds]
sz0 has quit [Ping timeout: 260 seconds]
wagle has quit [Remote host closed the connection]
jkni has quit [Ping timeout: 260 seconds]
iZsh_ has quit [Ping timeout: 260 seconds]
mhinz_ has quit [Ping timeout: 260 seconds]
destrius has quit [Ping timeout: 260 seconds]
hyperboreean has quit [Ping timeout: 260 seconds]
cnu- has quit [Ping timeout: 260 seconds]
atsampson has quit [Ping timeout: 260 seconds]
NhanH has quit [Ping timeout: 260 seconds]
M-Illandan has quit [Ping timeout: 260 seconds]
Madars has quit [Ping timeout: 260 seconds]
swistak35 has quit [Ping timeout: 260 seconds]
deavid has quit [Ping timeout: 260 seconds]
cantstanya has quit [Ping timeout: 260 seconds]
SHODAN has quit [Ping timeout: 260 seconds]
jrslepak has quit [Remote host closed the connection]
manizzle has quit [Ping timeout: 260 seconds]
yan has quit [Ping timeout: 260 seconds]
Pepe_ has quit [Ping timeout: 260 seconds]
zaltekk has quit [Ping timeout: 260 seconds]
pecan has quit [Ping timeout: 260 seconds]
artart78 has quit [Ping timeout: 260 seconds]
nore has quit [Ping timeout: 260 seconds]
jknick has quit [Ping timeout: 260 seconds]
srcerer has quit [Ping timeout: 260 seconds]
manizzle has joined #ocaml
iZsh has joined #ocaml
jkni_ is now known as jkni
wagle_ has quit [Excess Flood]
chenglou_ is now known as chenglou
wagle has joined #ocaml
M-Illandan has joined #ocaml
sz0_ is now known as sz0
cnu- has joined #ocaml
oskarth has quit [Ping timeout: 264 seconds]
jrslepak has joined #ocaml
NhanH_ is now known as NhanH
ousado has joined #ocaml
atsampson has joined #ocaml
hyperboreean has joined #ocaml
cantstanya has joined #ocaml
oskarth has joined #ocaml
nore has joined #ocaml
dsheets has quit [Remote host closed the connection]
bitbckt has quit [Ping timeout: 250 seconds]
noddy has joined #ocaml
bitbckt has joined #ocaml
seangrove has quit [Ping timeout: 268 seconds]
seangrove has joined #ocaml
artart78_ is now known as artart78
BitPuffin has joined #ocaml
sh0t has joined #ocaml
dsheets has joined #ocaml
nicholasf has quit [Remote host closed the connection]
BitPuffin has quit [Remote host closed the connection]
nicholasf has joined #ocaml
dsheets has quit [Remote host closed the connection]
sh0t has quit [Ping timeout: 250 seconds]
dsheets has joined #ocaml
<ggole> Hmm. Is there an obvious nice way to randomly trisect an interval?
<ggole> Actually, never mind. I don't need a good quality distribution, so randomly bisecting and then bisecting the larger interval again should be fine.
octachron has joined #ocaml
avsej has quit [Ping timeout: 276 seconds]
hcarty1 has joined #ocaml
avsej has joined #ocaml
avsej has joined #ocaml
<octachron> ggole, uniform trissection with minimum size 1 would be: sample n_1, n_2 uniformly on [1, len-1] with n_1 ≠ n_2 . Sort them as s_1, s_2 and take s_1, s_2 as section point
copy` has joined #ocaml
<companion_cube> oh, I remember you adding this to containers :D
<flux> containers has bisection?
<companion_cube> http://cedeela.fr/~simon/software/containers/CCRandom.html <- see split/split_list
<octachron> companion_cube, now that you remind me, split_list also have the minimum size=1 constraint, if you ever want to document this detail
<companion_cube> it just returns None in this case, right?
FreeBirdLjj has quit [Ping timeout: 268 seconds]
<octachron> I mean that the sub-lists have a minimum size of 1
<companion_cube> ah, it doesn't make empty sub-lists
<companion_cube> it's pretty obvious, but ok, I'll document it
<octachron> yep, one could imagine a split_list function where splt_list ~len:4 [1] = [ []; []; [1]; [] ] is a valid output
rgrinberg has joined #ocaml
yan has joined #ocaml
<companion_cube> yeah, done
Pepe__ is now known as Pepe_
Pepe_ is now known as pep_
pep_ is now known as Pepe_
<companion_cube> octachron: actually, `split_list ~len:0 0` returns `Some [0]`
bba has joined #ocaml
hxegon has joined #ocaml
struktured has joined #ocaml
<octachron> companion_cube, I would say that it is a case of conflicting specfication: it makes sense that split_list ~len:1 n= fun w -> Some [n]
<companion_cube> I just made it fail on len=0
<companion_cube> splitting into 0 parts makes no sense
dariusc93 has quit [Ping timeout: 276 seconds]
<octachron> companion_cube, you might want to fail on (≤0), and add such failure in sample_without_replacement
bba has quit [Read error: Connection reset by peer]
bba has joined #ocaml
darius93 has joined #ocaml
<companion_cube> right
nicholasf has quit [Remote host closed the connection]
opop has quit [Quit: Page closed]
rgrinberg has quit [Quit: WeeChat 1.4]
rgrinberg has joined #ocaml
noddy has quit [Ping timeout: 268 seconds]
Shozan is now known as SHODAN
dsheets_ has joined #ocaml
dexterph has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]
hugomg has joined #ocaml
<Drup> rgrinberg: why is there no hosted ocamldoc for opium ?
rgrinberg has quit [Ping timeout: 268 seconds]
<Drup> grmph, he fled.
sh0t has joined #ocaml
srcerer_ is now known as srcerer
<hcarty1> And what are the version constraints required to make opium 0.14.0 build? It's missing some upper-version constraints which are important now due to changes in several of its dependencies.
hcarty1 is now known as hcarty
MercurialAlchemi has quit [Ping timeout: 260 seconds]
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
seangrove has quit [Ping timeout: 244 seconds]
<companion_cube> there is no consensus on where to host ocamldoc, Drup, is there?
hxegon has quit [Quit: BRB]
<companion_cube> I'd also like doc for zarith and (I think) cryptokit, but well
<Drup> companion_cube: saying "there is no consensus on where to host documentation" is a shitty excuse to not host the documentation
<Drup> *especially* when hosting sources on github, because github pages works just fine for that.
bba has joined #ocaml
git-commit has quit [Ping timeout: 276 seconds]
noddy has joined #ocaml
<companion_cube> well some projects are not on github
<companion_cube> (referring to zarith & al)
<companion_cube> Drup: actually I'd be interested in a short end-to-end tutorial on how to host doc on github
git-commit has joined #ocaml
<companion_cube> (end-to-end meaning: how to manage branches, copy doc in it, etc.)
<Drup> that's it.
<companion_cube> ok, there's interesting info in here ;-)
<companion_cube> like, you generate doc before changing branches
<companion_cube> thanks anyway
<Drup> (and on release "cp -r dev 1.2.3"
<Drup> It would be good to have a nice index, but I never wrote it
<Drup> If you want to be fancy, there is an (old) tutorial by amir about automatic pushing of documentation by CI
tumdum has quit [Ping timeout: 276 seconds]
tumdum has joined #ocaml
tumdum has joined #ocaml
<companion_cube> I don't use travis
averell has joined #ocaml
<Drup> It's even easier then
<companion_cube> anyway
hxegon has joined #ocaml
dsheets_ has quit [Remote host closed the connection]
dsheets has joined #ocaml
sepp2k has joined #ocaml
<flux> they are nice. but are they really web 2.0?!
<companion_cube> what's nice is I didn't need setup
MercurialAlchemi has joined #ocaml
mistermetaphor has joined #ocaml
<Drup> companion_cube: told you it was easy :D
dexterph has quit [Remote host closed the connection]
<companion_cube> heh
dexterph has joined #ocaml
<companion_cube> also found about `git checkout --orphan`
Mercuria1Alchemi has joined #ocaml
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
hugomg has quit [Quit: Leaving]
jwatzman|work has quit [Quit: jwatzman|work]
dexterph has quit [Remote host closed the connection]
jeffmo has joined #ocaml
slash^ has joined #ocaml
peter1 is now known as pecan
Algebr has quit [Remote host closed the connection]
bba has joined #ocaml
mj12`_ has joined #ocaml
mj12` has quit [Read error: Connection reset by peer]
luigy has quit [Ping timeout: 276 seconds]
t4nk883 has joined #ocaml
<gargawel> Hi, is it possible to call some executable (defined in the same _oasis file) to generate some code /prior/ to compiling a target using Oasis ? The documentation for the BuildTools field suggests so, I think ("Tools required to compile, including internal executables"), but I cannot the way to do it or any example
luigy has joined #ocaml
hxegon has quit [Quit: BRB]
<Drup> The usual way to do that is to just add ocamlbuild rules
<t4nk883> Is there some reason why opam for me all of a sudden fails to get updates or to sync packages, etc. My opam is trying to go to https://opam.ocaml.org/1.3/urls.txt and I see that it no longer exists. What did I miss?
<gargawel> Drup: which implies modifying the myocamlbuild.ml ?
<Drup> yes
<gargawel> Aha, great :-)
<companion_cube> hmmm, how comes hackage can host all the docs of its packages?
<Drup> gargawel: if you have simple code generation, the pasted code should be sufficient (and it should be relatively understandable)
<gargawel> "Simple" as for the build system is concerned, yes
<Drup> You might need to add the name of the generated module in Oasis, though, and oasis will warn about not finding the .ml. No way to avoid that
<gargawel> ocamlbuild still looks a bit like voodoo to me
<Drup> that's normal, it's voodoo
jwatzman|work has joined #ocaml
dexterph has joined #ocaml
dexterph has quit [Remote host closed the connection]
darkf has quit [Quit: Leaving]
dexterph has joined #ocaml
dexterph has quit [Remote host closed the connection]
dexterph has joined #ocaml
dexterph has quit [Remote host closed the connection]
dexterph has joined #ocaml
dexterph has quit [Remote host closed the connection]
dexterph has joined #ocaml
hxegon has joined #ocaml
hxegon is now known as hxegon_AFK
hxegon_AFK is now known as hxegon
noddy has quit [Ping timeout: 252 seconds]
tane has joined #ocaml
Anarchos has joined #ocaml
BitPuffin has joined #ocaml
noddy has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
rand__ has joined #ocaml
octachron has quit [Quit: Page closed]
<Drup> wow, I'm cited in this paper o_o
<Anarchos> Drup \o/
<ggole> Those are pretty cute diagrams
zpe has quit [Remote host closed the connection]
deavidsedice has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
deavid has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
mistermetaphor has joined #ocaml
<Anarchos> ggole yes indeed
ygrek has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 268 seconds]
dsheets has joined #ocaml
git-commit has quit [Ping timeout: 276 seconds]
git-commit has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
<hxegon> from the xkcd school of diagramming I see.
noddy has quit [Ping timeout: 252 seconds]
sh0t has quit [Quit: Leaving]
pierpa has joined #ocaml
t4nk883 has quit []
inr_ is now known as inr
Kakadu has quit [Quit: Page closed]
octachron has joined #ocaml
zaquest has quit [Ping timeout: 264 seconds]
spion_ is now known as spion
zaquest has joined #ocaml
octachron has quit [Read error: Connection reset by peer]
natimic has joined #ocaml
natimic has quit [Remote host closed the connection]
struk|work has joined #ocaml
malc_ has joined #ocaml
dexterph has quit [Ping timeout: 250 seconds]
rand__ has quit [Quit: leaving]
octachron has joined #ocaml
BitPuffin has quit [Read error: Connection reset by peer]
Kakadu has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
octachron has quit [Ping timeout: 250 seconds]
wiredsister has joined #ocaml
zpe has joined #ocaml
adrien_znc has quit [Ping timeout: 260 seconds]
adrien_znc has joined #ocaml
octachron has joined #ocaml
yomimono has joined #ocaml
pierpa has quit [Read error: Connection reset by peer]
pierpa has joined #ocaml
octachron has quit [Quit: Leaving]
mattrepl has quit [Ping timeout: 276 seconds]
mattrepl has joined #ocaml
<Kakadu> def`: Hi! Where can I read when to use `virtual` implicits?
tobiasBora has quit [Ping timeout: 250 seconds]
_y has quit [Ping timeout: 260 seconds]
tobiasBora has joined #ocaml
danieli has joined #ocaml
danieli has quit [Changing host]
_y has joined #ocaml
zpe has quit [Remote host closed the connection]
wiredsister has quit [Ping timeout: 244 seconds]
A19774941 has quit [Quit: Leaving.]
leyyin has quit [Quit: So Long, and Thanks for All the Fish]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
Anarchos has quit [Remote host closed the connection]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<christoph_debian> hm. for some external C++ object accessed with a wrapper from ocaml I was hoping to get its finalizer called and the memory freed
<christoph_debian> but it seems having that a mutable Foo option and manually setting the option to None doesn't cause the finalizer to run
<christoph_debian> ohwait I should actually call that function
<Leonidas> Khady: i just saw your slack project. cool stuff!
ggole has quit []
nicholasf has joined #ocaml
Mercuria1Alchemi has quit [Ping timeout: 240 seconds]
<Khady> Leonidas: thanks. You did the hard part
Algebr` has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
zpe has joined #ocaml
<Leonidas> Khady: let me know if you're missing some features, I'd try to add them
Anarchos has joined #ocaml
sepp2k has quit [Quit: Leaving.]
nicholasf has quit [Remote host closed the connection]
hxegon is now known as hxegon_AFK
<def`> kakadu: nowhere yet
wiredsister has joined #ocaml
<Anarchos> hi everybody
<silver> hey
luigy has quit [Ping timeout: 260 seconds]
dsheets has joined #ocaml
<Algebr`> hi
luigy has joined #ocaml
hxegon_AFK is now known as hxegon
silver has quit [Quit: rakede]
silver has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
hcarty has quit [Ping timeout: 250 seconds]
<cmk_zzz> struk|work: I am new to ocaml and don't have any information regarding which libraries to use. Cryptokit was mentioned in "Real World OCaml" and it seems to have the primitives I am after. Thanks for mentioning nocrypto though. I'll definately have a look as Cryptolib interface seems to work with mutability which feels a bit awkward
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Algebr`> another vote for nocrypto, its pretty straight forward
tane has quit [Quit: Verlassend]
ollehar has joined #ocaml
<ollehar> is it necessary to traverse the syntax-tree twice to infer types and return the typed ast?
<ollehar> or can you do it in one go?
<ollehar> using HM.
wagle has quit [Remote host closed the connection]
<companion_cube> a possible trick to traverse once is to have each AST node annotated by a ref to its type
<companion_cube> so you mutate
<companion_cube> during infrerence
wagle has joined #ocaml
<ollehar> companion_cube: yeah...
<companion_cube> it works pretty well
<ollehar> my problem right now is that I have to return the "typed type" before all inference is done. maybe I can add a closure to delay the execution of that.
lokien has quit [Ping timeout: 264 seconds]
<companion_cube> do this, but with types that include a case for variables
<companion_cube> (the '_a of OCaml)
<companion_cube> this = return the typed term before inference is finished
<ollehar> type variables?
<companion_cube> yeah, mutable type variables, to be instantiated once
<companion_cube> let x = ref []
<companion_cube> ^ OCaml returns a type containing a '_a
<ollehar> ah
<companion_cube> that will be bound on the first occasion
<ollehar> = weak polymorphism?
<Drup> ollehar: you read the blog post by Oleg ?
<ollehar> hm, no?
<Drup> companion_cube: might as well link that instead of reformulating ...
<companion_cube> ah, didn't think of it
<ollehar> thanks
<Drup> take your time, it's a piece that needs long chewing. There are code example provided, but I would advise to redo it yourself
<ollehar> ok
<ollehar> I might print this...
Major_Biscuit has joined #ocaml
<ollehar> completely different note: anyone been to chaos computer club?
<ollehar> recently moved to hamburg, thought I might check it out.
<ollehar> hm, they should have a subreddit.
<struk|work> cmk_zzz: cool, good luck1
<Kakadu> def`: I'm declaring implicit module in .ml file and I have some problems with declaring it in the .mli file (to make it visible and searchable enough). Do we have some example about it?
Kyo91 has joined #ocaml
nicholasf has joined #ocaml
<def`> kakadu: I don't understand?
<Kakadu> let's say I have implicit functor in .ml file like implicit module Show_logic {X : ImplicitPrinters.SHOW} = struct ... end
<def`> kakadu: virtual implicits is useful when the functor parameter has no runtime effect (like a the parameter of a type)
<Kakadu> and I can write in .mli file module Show_logic : functor {X : ImplicitPrinters.SHOW} -> sig .. end
<Kakadu> but I can't write
<Kakadu> implicit module Show_logic : functor {X : ImplicitPrinters.SHOW} -> sig
yomimono has quit [Quit: Leaving]
<def`> for instance, if you want to define an implicit for 'a list when you don't care about 'a, you can abstract over {virtual M : sig type a end} and work with M.a list
zpe has quit [Remote host closed the connection]
<Kakadu> like `let f (type a) (x: (a * a -> string) list) = ... ` ?
<def`> yes
<def`> (not sure what "like" refers to, but something like that :P)
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
<Kakadu> Aren't most cases for using implicits like you described?
<def`> no
<Kakadu> Also, more general question: can anybody recommend some papers where we do some crazy stuff with implicits?
<def`> for most cases you are not parametric but ad-hoc
<Drup> kakadu: easy, open any haskell library
<Drup> :D
<def`> its only when mixing parametric and adhoc polymorphism that you need that
<def`> Given that implicits design is not yet finished, I don't think there is any paper on the topic, you are the first to explore that :)
Kyo91 has quit [Ping timeout: 240 seconds]
<Kakadu> okay, I can make my question more specific now
dsheets has joined #ocaml
<Kakadu> I expect something wrong with https://github.com/Kakadu/implicits_wtf/blob/master/src/MiniKanren.mli#L21 but Don't know what is right
<Drup> def`: you need to make a title of the form "Being explicitly ad-hoc with implicits" or something like that. :p
<def`> kakadu: implicit module Show_logic {X : ImplicitPrinters.SHOW} : sig ... end
<Kakadu> Okay,
<Kakadu> I will just suppose that I have rebased with errors :)
<Kakadu> I think testsuite needs test for that
<def`> sorry I have got to go
<def`> but thanks for your work :)
<Kakadu> I will catch you later
<def`> this will be very useful soon
dsheets has quit [Ping timeout: 246 seconds]
<ollehar> companion_cube: my silly hack seemed to work (including a type called Delayed of (unit -> typ) which wraps it in a closure).
<ollehar> sigh.
<ollehar> it's unwrapped when generating llvm ir.
<companion_cube> I did that once
<companion_cube> but was pretty unhappy with it, and finally got to remove it
<ollehar> I hear you.
noddy has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
malc_ has quit [Remote host closed the connection]
ollehar has quit [Quit: ollehar]
Algebr` has quit [Remote host closed the connection]
bba has joined #ocaml
lokien has joined #ocaml
Ninja123_ has quit [Quit: Ex-Chat]
Ninja123 has joined #ocaml
Ninja123 has quit [Client Quit]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
jeffmo has quit [Quit: jeffmo]
Ninja123 has joined #ocaml
Major_Biscuit has quit [Quit: WeeChat 1.4]
Ninja123 has quit [Ping timeout: 276 seconds]
toolslive has quit [Ping timeout: 264 seconds]
toolslive has joined #ocaml
Ninja123 has joined #ocaml
rgrinberg has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
madroach has quit [Ping timeout: 244 seconds]
madroach_ has quit [Ping timeout: 250 seconds]
Kakadu has quit [Remote host closed the connection]
darkf has joined #ocaml
antkong has joined #ocaml
M-Illandan has quit [Ping timeout: 250 seconds]