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
<Algebr`> seangrov`: you can catch JS exceptions
struk|desk|away is now known as struk|desk
troydm has quit [Ping timeout: 244 seconds]
<Leonidas> seangrov`: you can use 'ocamlfind list' to get the list of packages you have installed in that switch
silver has quit [Read error: Connection reset by peer]
mmin has joined #ocaml
struk|desk2 has joined #ocaml
struk|desk has quit [Ping timeout: 248 seconds]
zv has joined #ocaml
yomimono_ has quit [Ping timeout: 246 seconds]
thomasga has quit [Quit: Leaving.]
struk|desk2 is now known as struk|desk|away
mmin has quit [Ping timeout: 268 seconds]
Vintila has joined #ocaml
Reshi has joined #ocaml
hxegon has joined #ocaml
<dwwoelfel> Playing with js_of_ocaml: if I do `(new%js Js.date_now)##toString`, ocamlbuild is happy but Merlin complains that "Error: This expression has type Js.js_string Js.t Js.meth but an expression was expected of type 'a Js.gen_prop"
<dwwoelfel> If I do `(new%js Js.date_now)##toString()` then Merlin is happy but ocaml build complains "Error: This expression has type Js.js_string Js.t Js.meth but an expression was expected of type 'jsoo_593685be -> 'jsoo_521a4c10 Js.meth"
<seangrov`> Anyone used Irmin to the point where they can list subkeys at a given path?
<Drup> sounds like you have one configure with the ppx and the other with the camlp4
Emmanuel` has joined #ocaml
<dwwoelfel> Is there a way to tell what might be adding camlp4?
<dwwoelfel> Don't see any .syntax packages...
aantron has joined #ocaml
<Drup> pastebin your .merlin
<Drup> remove EXT js
<dwwoelfel> Thanks, that worked!
<seangrov`> Like a fountain of knowledge, Drup ;)
aantron_ has joined #ocaml
aantron has quit [Ping timeout: 244 seconds]
<seangrov`> Bah, can't figure out how to get Irmin to list a path
struk|desk|away is now known as struk|desk2
hxegon has quit [Quit: BRB]
<seangrov`> Is there a way to pretty print any data structure?
<Leonidas> seangrov`: batteries has some hacks, but its not really possible
<seangrov`> Leonidas: What about with a [@@deriving some_pretty_printer] and making that work with Printf?
Reshi has quit [Ping timeout: 240 seconds]
<Leonidas> seangrov`: sure, that works, [@@deriving show] is even built into ppx_deriving
<Leonidas> but you still have to pick the show_<typename> function
yunxing has quit [Remote host closed the connection]
seangrov` has quit [Ping timeout: 244 seconds]
dwwoelfel has quit [Ping timeout: 268 seconds]
hxegon has joined #ocaml
seangrov` has joined #ocaml
pierpa has joined #ocaml
<aantron_> seangrov`: so how did it go with creating the HTML perviews? :)
fluter has quit [Ping timeout: 250 seconds]
struk|desk2 is now known as struk|desk|away
mmin has joined #ocaml
Reshi has joined #ocaml
nichola__ has quit [Remote host closed the connection]
nicholasf has joined #ocaml
fluter has joined #ocaml
tennix has quit [Ping timeout: 246 seconds]
fluter has quit [Client Quit]
fluter has joined #ocaml
troydm has joined #ocaml
<seangrov`> Leonidas: What's the %code to use in Printf.printf when printing a type that has [@@deriving show] ?
hxegon has quit [Quit: BRB]
<aantron_> seangrov`: i think something like "%a" your_type_to_string your_value
<seangrov`> Ah, ok, got it, thanks
<seangrov`> aantron_: Worked well! https://www.riseos.com/
<seangrov`> The code is ridiculously terrible and slow, but it's not a bottleneck and I'm working on other stuff for now, so it's OK for a bit
<aantron_> seangrov`: nice. what did you end up going with?
hxegon has joined #ocaml
tnguyen has joined #ocaml
tnguyen is now known as Guest65352
sh0t has joined #ocaml
sh0t has quit [Client Quit]
sh0t has joined #ocaml
sh0t has quit [Client Quit]
whitequark has left #ocaml [#ocaml]
yunxing has joined #ocaml
yunxing has quit [Ping timeout: 264 seconds]
nicholasf has quit [Read error: Connection reset by peer]
aantron_ has quit [Remote host closed the connection]
Emmanuel` has quit [Ping timeout: 244 seconds]
aantron has joined #ocaml
tennix has joined #ocaml
tennix has quit [Ping timeout: 246 seconds]
yunxing has joined #ocaml
aantron has quit [Remote host closed the connection]
tennix has joined #ocaml
Emmanuel`_ has joined #ocaml
therac25 has quit [Quit: therac25]
therac25 has joined #ocaml
therac25 has quit [Client Quit]
johnelse has quit [Ping timeout: 268 seconds]
aantron has joined #ocaml
johnelse has joined #ocaml
Reshi has quit [Ping timeout: 248 seconds]
aantron has quit [Remote host closed the connection]
manizzle has quit [Remote host closed the connection]
oxcsh has quit [Remote host closed the connection]
kushal has joined #ocaml
Reshi has joined #ocaml
aantron has joined #ocaml
hxegon has quit [Quit: BRB]
kushal has quit [Ping timeout: 260 seconds]
MercurialAlchemi has joined #ocaml
zv has quit [Ping timeout: 260 seconds]
aantron has quit [Remote host closed the connection]
hxegon has joined #ocaml
aantron has joined #ocaml
oxcsh has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
oxcsh has quit [Ping timeout: 240 seconds]
julien_t has joined #ocaml
govg has joined #ocaml
struk|desk|away is now known as struk|desk2
seangrov` has quit [Ping timeout: 276 seconds]
Reshi has quit [Ping timeout: 244 seconds]
FreeBirdLjj has joined #ocaml
julien_t has quit [Ping timeout: 248 seconds]
ggole has joined #ocaml
GeorgeHahn has joined #ocaml
struk|desk2 is now known as struk|desk|away
govg has quit [Ping timeout: 252 seconds]
pierpa has quit [Ping timeout: 244 seconds]
darkf has quit [Quit: Leaving]
keep_learning has joined #ocaml
bacam_ has joined #ocaml
jpdeplaix1 has joined #ocaml
AdmWiggin has joined #ocaml
manizzle has joined #ocaml
Simn has joined #ocaml
vpm_ has joined #ocaml
tvaalen_ has joined #ocaml
destrius_ has joined #ocaml
dubst3pp4 has joined #ocaml
seangrov` has joined #ocaml
GeorgeHahn has quit [Read error: Connection reset by peer]
dubst3pp4 has left #ocaml [#ocaml]
RomanZ5 has joined #ocaml
troydm has quit [*.net *.split]
jpdeplaix has quit [*.net *.split]
nuuit has quit [*.net *.split]
AlexRussia has quit [*.net *.split]
cat5e has quit [*.net *.split]
flux has quit [*.net *.split]
emias has quit [*.net *.split]
StatelessCat has quit [*.net *.split]
destrius has quit [*.net *.split]
Muzer has quit [*.net *.split]
vpm has quit [*.net *.split]
djellemah has quit [*.net *.split]
Mandus has quit [*.net *.split]
srcerer has quit [*.net *.split]
Rome has quit [*.net *.split]
zapu has quit [*.net *.split]
dariusc93 has quit [*.net *.split]
jrslepak has quit [*.net *.split]
mehdib has quit [*.net *.split]
mfp has quit [*.net *.split]
vbmithr has quit [*.net *.split]
stomp has quit [*.net *.split]
tvaalen has quit [*.net *.split]
bacam has quit [*.net *.split]
tianon has quit [*.net *.split]
cat5e has joined #ocaml
djellemah has joined #ocaml
nuuit has joined #ocaml
flux has joined #ocaml
Mandus has joined #ocaml
zapu has joined #ocaml
dariusc93 has joined #ocaml
jrslepak has joined #ocaml
mehdib has joined #ocaml
vbmithr has joined #ocaml
stomp has joined #ocaml
seangrov` has quit [Ping timeout: 240 seconds]
mfp has joined #ocaml
emias has joined #ocaml
AlexRussia has joined #ocaml
srcerer has joined #ocaml
StatelessCat has joined #ocaml
troydm has joined #ocaml
therac25 has joined #ocaml
Muzer has joined #ocaml
tvaalen_ has quit [Changing host]
tvaalen_ has joined #ocaml
tvaalen_ is now known as tvaalen
hxegon has quit [Quit: BRB]
ggole_ has joined #ocaml
therac25 has quit [Quit: therac25]
ggole has quit [Ping timeout: 260 seconds]
Haudegen has quit [Ping timeout: 244 seconds]
therac25 has joined #ocaml
antkong has quit [Quit: antkong]
larhat has joined #ocaml
yunxing has quit [Remote host closed the connection]
Haudegen has joined #ocaml
Sorella has quit [Quit: Connection closed for inactivity]
butts_butts has joined #ocaml
foocraft has joined #ocaml
foocraft has joined #ocaml
Kakadu has joined #ocaml
butts_butts has quit [Ping timeout: 244 seconds]
freehck has joined #ocaml
Vintila has quit [Quit: Leaving]
therac25 has quit [Quit: therac25]
warp has joined #ocaml
<Kakadu> folks, do we have implicits-related maillist or something?
seangrov` has joined #ocaml
seangrov` has quit [Ping timeout: 250 seconds]
yomimono_ has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
zozozo has quit [Ping timeout: 250 seconds]
Jaxan has quit [Remote host closed the connection]
zozozo has joined #ocaml
Jaxan has joined #ocaml
sz0 has quit [Ping timeout: 268 seconds]
<destrius_> hi, are the ocaml llvm bindings working?
aantron has quit [Read error: Connection reset by peer]
aantron has joined #ocaml
<companion_cube> Kakadu: not that I know of
BitPuffin|osx has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
yomimono_ has quit [Ping timeout: 250 seconds]
jwatzman|work has joined #ocaml
<ggole_> Hmm, generating random typed terms is a fun problem.
Vintila has joined #ocaml
silver has joined #ocaml
warp has quit [Quit: I'll.. be back... https://i.imgur.com/KYU8vSO.gif]
warp has joined #ocaml
mmin has quit [Ping timeout: 248 seconds]
oxcsh has joined #ocaml
yunxing has joined #ocaml
oxcsh has quit [Ping timeout: 246 seconds]
antkong has joined #ocaml
yunxing has quit [Ping timeout: 264 seconds]
antkong has quit [Ping timeout: 244 seconds]
Algebr` has quit [Ping timeout: 268 seconds]
antkong has joined #ocaml
<Drup> ggole_: pretty sure I saw a paper for that, for simply typed lambda calculus. It was already quite complicated
<ggole_> I found Hughes' paper
yomimono has joined #ocaml
Emmanuel`_ has quit [Ping timeout: 248 seconds]
yomimono has quit [Ping timeout: 240 seconds]
thomasga has joined #ocaml
bacam_ is now known as bacam
thegameg has quit [Quit: Bye bye.]
Vintila has quit [Ping timeout: 268 seconds]
octachron has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
yomimono has joined #ocaml
seangrov` has joined #ocaml
seangrov` has quit [Ping timeout: 264 seconds]
_andre has joined #ocaml
thomasga has quit [Quit: Leaving.]
Reshi has joined #ocaml
dsheets has joined #ocaml
Vintila has joined #ocaml
yomimono_ has joined #ocaml
yomimono has quit [Ping timeout: 244 seconds]
yomimono_ has quit [Ping timeout: 260 seconds]
Guest65352 has quit [Read error: Connection reset by peer]
thomasga has joined #ocaml
tnguyen has joined #ocaml
tnguyen is now known as Guest60150
antkong has quit [Ping timeout: 260 seconds]
antkong has joined #ocaml
thomasga1 has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
yomimono_ has joined #ocaml
jgjl has joined #ocaml
Reshi has quit [Ping timeout: 260 seconds]
malc_ has joined #ocaml
jgjl has quit [Max SendQ exceeded]
thomasga1 has quit [Read error: Connection reset by peer]
jgjl has joined #ocaml
tennix has quit [Ping timeout: 248 seconds]
oxcsh has joined #ocaml
lokien_ has joined #ocaml
Haudegen has quit [Ping timeout: 248 seconds]
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jgjl has joined #ocaml
malc_ has left #ocaml ["ERC (IRC client for Emacs 25.0.50.2)"]
thegameg has joined #ocaml
Algebr` has joined #ocaml
jgjl has quit [Client Quit]
<Leonidas> destrius_: yes, they do.
dsheets has quit [Remote host closed the connection]
jgjl has joined #ocaml
thomasga has joined #ocaml
Algebr`` has joined #ocaml
Algebr` has quit [Ping timeout: 264 seconds]
thomasga1 has joined #ocaml
NingaLeaf has quit [Quit: Leaving.]
thomasga has quit [Ping timeout: 276 seconds]
Haudegen has joined #ocaml
thomasga1 has quit [Ping timeout: 240 seconds]
Algebr`` has quit [Remote host closed the connection]
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<flux> nice that flambda has so many tunables. sounds like a task for a genetic algorithm to find the most optimal values for a given program on a given platform :)
<flux> for that extra 0.1% of performance
pierpa has joined #ocaml
struk|desk|away is now known as struk|desk2
seangrov` has joined #ocaml
seangrov` has quit [Ping timeout: 248 seconds]
Reshi has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
rbocquet1 is now known as rbocquet
FreeBirdLjj has joined #ocaml
tennix has joined #ocaml
dsheets has joined #ocaml
jgjl has joined #ocaml
oxcsh has quit []
jgjl has quit [Max SendQ exceeded]
jgjl has joined #ocaml
jgjl has quit [Max SendQ exceeded]
dsheets has quit [Remote host closed the connection]
govg has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
sh0t has joined #ocaml
jgjl has joined #ocaml
<Kakadu> Folks, can we express something like this in OCaml? https://gist.github.com/Kakadu/2614553f3311a24f7606
<Kakadu> I want to create a module X, a value of X.t and return them both
<thizanne> Kakadu: you could at least have something like module type Y = sig module X : X val x : X.t end
<rks`> Kakadu: something like that might become available with implicits
<thizanne> and return a Y
sgnb has joined #ocaml
<rks`> for the moment you have to pass it inside a module
<rks`> like thizanne just showed.
Reshi has quit [Ping timeout: 268 seconds]
jgjl has quit [Max SendQ exceeded]
FreeBirdLjj has quit [Remote host closed the connection]
Ravana has quit [Quit: Goodbye for now!]
Vintila has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #ocaml
struk|desk2 is now known as struk|desk|away
<ggole_> An alternative is something like type wrap = Wrap : (module T with type t = 'a) * 'a -> wrap
<ggole_> Which is not that dissimilar from the module, except that what you can express with the 'with' is significantly more limited.
dhil has joined #ocaml
jgjl has joined #ocaml
jpdeplaix1 is now known as jpdeplaix
jgjl has quit [Max SendQ exceeded]
seangrov` has joined #ocaml
Sorella has joined #ocaml
amirmc has joined #ocaml
govg has quit [Quit: leaving]
sh0t has quit [Ping timeout: 268 seconds]
pierpa has quit [Ping timeout: 276 seconds]
_gt has joined #ocaml
nuuit has quit [Ping timeout: 244 seconds]
Ravana has joined #ocaml
marsam has joined #ocaml
marsam has quit [Remote host closed the connection]
seangrov` has quit [Ping timeout: 260 seconds]
djellemah has quit [Quit: Leaving]
djellemah has joined #ocaml
sh0t has joined #ocaml
nuuit has joined #ocaml
copy` has joined #ocaml
seangrov` has joined #ocaml
mmin has joined #ocaml
yunxing has joined #ocaml
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
FreeBird_ has quit [Ping timeout: 248 seconds]
yunxing has quit [Ping timeout: 268 seconds]
mmin has quit [Ping timeout: 264 seconds]
Algebr` has joined #ocaml
amirmc has quit [Quit: Leaving.]
amirmc has joined #ocaml
Algebr`` has joined #ocaml
Algebr` has quit [Ping timeout: 252 seconds]
amirmc has quit [Quit: Leaving.]
<companion_cube> hmm, I get `opam: "tcgetattr" failed: Inappropriate ioctl for device` with a `yes | opam install foo`
<rks`> :)
<companion_cube> rks`: do you know the solution? :p
jeffmo has joined #ocaml
<companion_cube> and meanwhile, cohttp still doesn't compile because of SSL :D
<rks`> companion_cube: no, but I had the problem too
<companion_cube> heh
<rks`> I'm not sure but I think it might be worth opening an issue on opam's bugtracker.
<companion_cube> ah, looks like there is a --yes option
<companion_cube> maybe that's the way to go
<flux> you should follow irc more, the switch was mentioned 26 hours and 50 minutes ago :)
_gt has quit [Quit: leaving]
mmin has joined #ocaml
<companion_cube> pffff
<flux> first stab at patch: + with exn -> Printf.eprintf "Btw are you aware of the --yes switch?\n%!"; raise exn
<companion_cube> :D
<companion_cube> well what should be fixed is the current crash, not yes | opam
<flux> dunno, seems like erring on the safe side to me ;)
<flux> but perhaps that's not too surprising functionality to support.
shinnya has joined #ocaml
dothraki__ has joined #ocaml
Algebr``` has joined #ocaml
Algebr``` has quit [Remote host closed the connection]
amirmc has joined #ocaml
Algebr``` has joined #ocaml
yomimono_ has quit [Ping timeout: 252 seconds]
anandv has joined #ocaml
Algebr`` has quit [Ping timeout: 252 seconds]
<seangrov`> Heh, is the internet a bit flaky out there Algebr```? You're up to three ticks
sz0 has joined #ocaml
<Algebr```> yep, internet is a little flaky
<Algebr```> although we are running on our own dhcp via haesbaert
jewel has joined #ocaml
jgjl has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 248 seconds]
<Algebr```> the aws library is not for beginners
hxegon has joined #ocaml
<seangrov`> Algebr```: Took *a lot* of looking around in Types and several other files. Even just building it all was a huge challenge.
<seangrov`> Algebr```: Just in case you're still there, I have some working Lwt examples
<Algebr```> do share
<Algebr```> I'm getting it up and running, but sharing is caring
<seangrov`> Mind posting what you have? We're working off of similar scripts (mine is tweaked to handle the new AWS api)
<Algebr```> soon :)
sepp2k has joined #ocaml
<Algebr```> yours is better
anandv has left #ocaml [#ocaml]
seangrov` has quit [Remote host closed the connection]
sz0 has quit [Ping timeout: 244 seconds]
seangrov` has joined #ocaml
octachron has quit [Quit: Leaving]
sz0 has joined #ocaml
slash^ has joined #ocaml
lokien_ has quit [Quit: Connection closed for inactivity]
AdmWiggin is now known as tianon
amirmc has quit [Quit: Leaving.]
d0nn1e has quit [Ping timeout: 276 seconds]
<larhat> What's the purpose of [@@@metaloc loc] as seen here — https://github.com/janestreet/ppx_sexp_conv/blob/master/expander/ppx_sexp_conv_expander.ml#L8 (or in some other type_conv's)
Kakadu has quit [Ping timeout: 252 seconds]
<seangrov`> tianon: You Adam Wiggins?
<companion_cube> I suppose it's source mapping
<companion_cube> to map a new location to an old location
d0nn1e has joined #ocaml
<tianon> seangrov`: haha no, but I've had that question before (and confused some of Adam's employees); "AdmWiggin" is an old screen name I used to use a lot (originally Adm.Wiggin, making the "Admiral" a little more clear)
struk|desk|away is now known as struk|desk2
<seangrov`> Hehe, just checking :)
<tianon> :)
sz0 has quit [Read error: Connection reset by peer]
MiiMo has joined #ocaml
<MiiMo> bonjour y a t il des français ici?
<companion_cube> #ocaml-fr
foocraft has quit [Ping timeout: 260 seconds]
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<flux> I was like "cool, oml package has updated and it has new dependencies, now I can install it!"
<flux> then its dependency slap failed to compile :/
sh0t has quit [Ping timeout: 240 seconds]
<flux> slap.2.0.0 seems to compile fine
<smondet> flux: what's your setup? slap installs fine for me
johnf has quit [Read error: Connection reset by peer]
<smondet> he, for me it's slap 2.0.2
<companion_cube> does oml feature a multi-dimensional array, like in numpy?
<flux> smondet, I think the problem was with 3.0.0
<flux> smondet, does that compile for you?
<flux> my issue seemed like a pretty important type error :)
sz0 has joined #ocaml
<flux> but the feature set of oml seems pretty nice
warp has quit [Ping timeout: 240 seconds]
<flux> so basically if you need machine learning with ocaml, no reason to try anything else before (unless you want to use GPU acceleration)
<companion_cube> it would be nice if theano, torch, etc. would provide a C API to their GPU/CPU stuff, so we could use it from OCaml
<flux> I think the code doesn't need to even be particularly optimized or elegant to beat the crap out of a CPU
<flux> so I guess maybe a pure ocaml solution (barring opencl bindings) would be feasible.. :)
<smondet> a
larhat has quit [Quit: Leaving.]
<flux> do any of those web-toplevels have graphics output features?
govg has joined #ocaml
<companion_cube> ipython has lots of stuff for displaying data, at least in python
<companion_cube> the tutoriels on numpy/scipy/pandas/... in ipython look very very nice
sh0t has joined #ocaml
seangrov` has quit [Remote host closed the connection]
<Algebr```> because ipython has a huge userbase..
seangrove has joined #ocaml
<companion_cube> sure, so it's better to build upon it than reinvent the wheel, I think
<companion_cube> especially since ipython-ocaml exists
GeorgeHahn has joined #ocaml
struk|desk2 is now known as struk|desk|away
<companion_cube> the issue, I suppose, is how to make OCaml types display properly
NingaLeaf has joined #ocaml
<smondet> IOCaml notbooks are able to display some graphics, I remember there was that demo of a video decoder
<companion_cube> oh I thought the question was about plotting graphs, histograms and the likes
<companion_cube> btw, can't oml have optional dependencies?
mmin has quit [Quit: Leaving]
<flux> maybe it can, but the version 0.0.5 suggests it may not be completely well-thought on all areas :)
<smondet> you should add issues/PRs Leo is very responsive
<companion_cube> https://github.com/rleonid/bau wow, this looks interesting
<companion_cube> (a bit hackish, maybe)
Kakadu has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
<Drup> flux: there is a demo of iocaml that shows svg directly
<Drup> well, iocamljs
<flux> I guess that would be a good first step
<Drup> (as far as opencl goes, there is spoc, and it even runs in the browser with WebCL)
<flux> well, webcl runs with a nokia plugin on some browsers?-)
<Drup> well, yes
<flux> and spoc is quite interesting, but it doesn't seem to be maintained
<flux> [ERROR] spoc is not available because your system doesn't comply with ocaml-version = "4.01.0".
<flux> :(
<Drup> Ah, I don't know how hard it would be to upgrade that
<flux> also no packages found matching opencl :(
* seangrove sighs
<seangrove> I've done `opam install lwt ssl cohttp`, but getting an error: `ocamlfind: Package `cohttp.lwt' not found`
<seangrove> Bah, now `./configure --enable-lwt --enable-gen` -> ocamlfind: Package `cohttp.lwt' not found W: Field 'pkg_cohttp_lwt' is not set: Command ''/Users/s/.opam/4.02.3/bin/ocamlfind' query -format %d cohttp.lwt > '/var/folders/dl/3vkt0hs5045_cvfcyzmjyr480000gn/T/oasis-bc28b2.txt'' terminated with error code 2
johnf has joined #ocaml
<flux> works for me(TM)
<flux> cohttp.lwt (version: 0.19.3)
<seangrove> Well, yes, hence the sigh. Often difficult to get deterministic envs.
<seangrove> `$ opam list | grep cohttp` -> `cohttp 0.19.3 HTTP(S) library for Lwt, Async and Mirage`
<Drup> The cohttp waters are particularly tumultuous these days. The big camlp4/ppx exodus is apparently troublesome
<companion_cube> and SSL, too
<flux> cool, 150 packages to reinstall and 10 to upgrade, here we go :)
<Drup> > A new version for ocamlfind
<Drup> Noooooo
<companion_cube> again? -_-
<flux> first I pinned down the slap, though :)
<Drup> companion_cube: it was a joke
<companion_cube> I'm relieved :p
<flux> I reaaally doubt all those packages would really have needed a recompliation because of the ocamlfind upgrade :)
<flux> but I love to see some concurrent compilation love opam gives to my CPU, so it's ok..
<seangrove> What can I do to debug this situation? https://gist.github.com/sgrove/d26451dcc2ab421b15f6
<companion_cube> I wonder if oml uses Bigarray.GenArray
<flux> seangrove, well, remove and reinstall cohttp and see if its logs reveal anything interesting if it doesn't work..
<flux> seangrove, oh btw what does ocamlfind query cohttp say?
sh0t has quit [Ping timeout: 268 seconds]
aantron has quit [Remote host closed the connection]
<flux> seangrove, so the particular directory probably has a META file that doesn't mention lwt?
<flux> seangrove, you can opam source cohttp and compile it manually to get a better idea of the issue
fs4lv1n1 has quit [Ping timeout: 260 seconds]
rks` has quit [Ping timeout: 260 seconds]
rks` has joined #ocaml
sepp2k has quit [Quit: Leaving.]
<seangrove> flux: Added the META file here https://gist.github.com/sgrove/d26451dcc2ab421b15f6
cross has quit [Ping timeout: 260 seconds]
<flux> seangrove, hmm, so if you run source =(opam config env) it doesn't fix the ocamlfind output for you?
fs4lv1n1 has joined #ocaml
sz0 has quit [Ping timeout: 264 seconds]
<flux> it seems that according to that META file you should have cohttp.lwt around
<flux> oh, there was this one bit
<flux>
<flux> exists_if = "cohttp_lwt_unix.cma"
<flux> do you have that file?
cross has joined #ocaml
aantron has joined #ocaml
darkf has joined #ocaml
<seangrove> flux: Yeah, I see it at ~/.opam/pg/lib/cohttp/cohttp_lwt_unix.cma
sh0t has joined #ocaml
<flux> seangrove, might you have two cohttp installations somehow with their own META files? I guess not.
<flux> perhaps someone more familiar with debugging on macosx can chime in.. :)
jgjl has joined #ocaml
<flux> only 200% :( opam upgrade --yes 1598.62s user 241.84s system 193% cpu 15:48.79 total
Kakadu has quit [Quit: Page closed]
<seangrove> I think maybe opam is messed up and isn't actually switching
<flux> seangrove, do you run the command it says to run after opam switch?
<flux> but fun little easter egg: ctypes doesn't compile if your current PWD when startin opam contains spaces
dsheets has quit [Remote host closed the connection]
<flux> though perhaps opam itself should chdir to some known directory before building.. ?
<flux> perhaps even some tmp directory created for the purpose
dsheets has joined #ocaml
govg has quit [Quit: leaving]
govg has joined #ocaml
<seangrove> Trying to install from a clean switch: https://gist.github.com/sgrove/dba6788e94fff8c9c9ea
govg has quit [Client Quit]
govg has joined #ocaml
<flux> hang around, maybe someone will know :)
<flux> maybe it's a fun case-insensitivity-bug
<Drup> seangrove: you should report it, the answer would probably come faster
ygrek has joined #ocaml
govg has quit [Quit: leaving]
<seangrove> Drup: Report it where? ocaml-aws, cohttp, opam?
<flux> I think cohttp
NingaLeaf has quit [Quit: Leaving]
<Drup> cohttp
<seangrove> Ugh, and it worked fine over the weekend. Opam's sandboxing seeems very, very, very tenuous
<flux> seangrove, so I guess you have findlib.conf?
govg has joined #ocaml
<flux> and it points to the cohttp directory's .. ?
<flux> I think this could as well be findlib's problem
<seangrove> flux: I'm trying to build https://github.com/inhabitedtype/ocaml-aws
<seangrove> I've not heard of findlib.conf files before...
<Drup> seangrove: "ocamlfind list | grep cohttp" doesn't show cohttp.lwt, right ?
govg has quit [Client Quit]
Algebr``` has quit [Ping timeout: 240 seconds]
govg has joined #ocaml
<seangrove> Drup: It does, actually
<Drup> ah, then
<seangrove> it looks like something is using the wrong ocamlfind
<Drup> make distclean && make distclean && make
<Drup> :D
<Drup> #oasisisgood
<seangrove> Ok, one moment, let me past this and then see if you still think it's oasis
<seangrove> Notice how opam pin is using a different ocamlfind. I'll try the make clean stuff
<seangrove> Yup, that make distclean stuff must have been it. What does it do?
<Drup> it cleans oasis configure files
<Drup> which includes the path to the various libraries
<seangrove> >.<
<seangrove> Why would I want the oasis config files to be static - aren't they just another file that can go out of sync?
<Drup> Yes.
<Drup> oasis is a bit old in this respect.
* Drup is taken by a coughing fit.
<seangrove> Sorry, feeling very perturbed right now. I keep hitting these kinds of issues whenever I feel like I'm building up some momentum. It's the biggest blocker from introducing this at a larger scale inside the company :P
govg has quit [Quit: leaving]
govg has joined #ocaml
<Drup> this one is annoying, yes
NingaLeaf has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
antkong has quit [Read error: Connection reset by peer]
dsheets has quit [Ping timeout: 248 seconds]
butts_butts has joined #ocaml
seangrove has quit [Remote host closed the connection]
sz0 has joined #ocaml
sz0 has quit [Client Quit]
seangrove has joined #ocaml
<seangrove> How do people keep merlin + opam switches in sync in emacs?
dsheets has joined #ocaml
yunxing has joined #ocaml
foocraft has joined #ocaml
dsheets has quit [Ping timeout: 268 seconds]
govg has quit [Quit: leaving]
foocraft has quit [Remote host closed the connection]
govg has joined #ocaml
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<flux> I wonder how near the emacs workflow are other editors? ie. vim? atom?
<flux> I mean there are easily people that might not prefer to learn emacs to do ocaml in a nice way, though I guess it might be hard to imagine.. :)
<companion_cube> some people here don't use emacs, you know :p
<flux> right, right, surely..
Kakadu has joined #ocaml
<flux> but really? does ie. merlin work with vim just as nice?
<flux> and there is this one atom plugin, does it work?
<flux> and are there other alternatives?
<Drup> sublime too
<flux> apparently intellij support for ocaml would be fancy.
<companion_cube> merlin works with vim really well, yes
<companion_cube> otherwise I would be very sad
<seangrove> flux: But that's static right? What happens if I `opam switch` after that's run? Should I manually re-execute it?
<flux> seangrove, yep
<seangrove> ok
<flux> seangrove, might as well make (a more advanced) function out of it
<flux> a more advanced one would first remove its additions
<flux> or, you can just desktop-save, restart emacs and then desktop-chdir.. :)
<flux> I know, restarting emacs can be a bit frightening.
<flux> an insane project comes to my mind: el_of_ocaml!
johnf has quit [Read error: Connection reset by peer]
TheLemonMan has joined #ocaml
antkong has joined #ocaml
jgjl has joined #ocaml
mort___ has joined #ocaml
<mort___> n00b question — how do i use the equivalent of `[@@deriving sexp_of]` with a Map?
<flux> not a n00b question at all I think :)
<mort___> wahay! i've graduated ;)
<mort___> alright, a non-n00b question then :)
<flux> I haven't used the ppx sexp stuff at all, or never functors with it, but I think that might be impossible
<mort___> :(
<flux> because Map.Make requires something of the value it makes the Map of
<flux> but making sexp out of it isn't one of those things
yunxing has quit [Remote host closed the connection]
<flux> now something like MapWithSexp might be easy to implement, I don't know..
hxegon has quit [Ping timeout: 276 seconds]
<flux> mort___, I think the solution would be to write a map sexp utility module
<companion_cube> it should be relatively simple: a functor Make(M : Map.S) : sig val of_sexp:(sexp -> M.key) -> (sexp -> 'a) -> sexp -> 'a M.t end
hxegon has joined #ocaml
<companion_cube> (also with a to_sexp value)
<flux> (not actually a module but a functor)
antkong has quit [Quit: antkong]
<mort___> hm
<mort___> ok
<mort___> i think
larhat has joined #ocaml
<mort___> so if i fill in the … in something like
<mort___> module SexpMap = struct
<mort___> module Make(M: Map.OrderedType) = struct
<mort___> let of_sexp to_key to_val s =
<mort___> include Map.Make(M)
<mort___> ...
<mort___> let to_sexp of_key of_val m =
<mort___> ...
<mort___> end
<mort___> end
<mort___> ?
<mort___> (i will try that anyway and see how confused i get...)
Anarchos has joined #ocaml
sh0t has quit [Ping timeout: 248 seconds]
jeffmo has quit [Quit: jeffmo]
<companion_cube> you don't need to include Map.Make
<companion_cube> unless you want to replace the standard map
<mort___> (i think) i was trying to create a functor that will take a type and create a Map that's augmented with the ability to support [@@deriving sexp_of] on record types that have elements of the type of that Map
<mort___> if that makes sense
hxegon has quit [Ping timeout: 244 seconds]
seangrove has quit [Remote host closed the connection]
therac25 has joined #ocaml
seangrove has joined #ocaml
<mort___> there may be better ways to do this — it also seems that i "ought" to be able to create a module M1 that is the same as Map.Make(M0) where type M1.t = M0.t [@@deriving sexp_of]
<mort___> but i don't know how or if that even makes sense
d0nn1e has quit [Ping timeout: 244 seconds]
d0nn1e has joined #ocaml
sh0t has joined #ocaml
dhil has quit [Ping timeout: 248 seconds]
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
govg has quit [Quit: leaving]
govg has joined #ocaml
_andre has quit [Quit: home time]
<companion_cube> I'm not sure it will work, M0.t is opaque
slash^ has quit [Read error: Connection reset by peer]
mort___ has quit [Quit: Leaving.]
hxegon has joined #ocaml
<mrvn> flux: el_of_ocaml? Just implement the ocaml bytecode interpreter in el.
<Drup> erlang_of_ocaml ? :3
<mrvn> Drup: elisp (emacs script engine)
<Drup> I know
<Drup> that was another suggestion
ggole_ has quit []
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 248 seconds]
yunxing has joined #ocaml
dhil has joined #ocaml
hxegon has quit [Ping timeout: 246 seconds]
jeffmo has joined #ocaml
<companion_cube> I'd rather have erlang_of_ocaml, elisp_of_ocaml is boring :p
mort___ has joined #ocaml
mort___ has quit [Client Quit]
hxegon has joined #ocaml
sz0 has joined #ocaml
mort___ has joined #ocaml
hxegon has quit [Ping timeout: 268 seconds]
amirmc has joined #ocaml
thomasga has joined #ocaml
<seangrove> Algebr: How's the ec2 stuff coming?
thomasga has quit [Client Quit]
jeffmo has quit [Read error: Connection reset by peer]
jeffmo has joined #ocaml
yunxing has quit [Remote host closed the connection]
thomasga has joined #ocaml
<seangrove> Need help understanding https://gist.github.com/sgrove/abb5d35f6755f2bdae8e
<seangrove> I have a value of type EC2.Types.Tag.t - how do I get the key and value out of it?
<seangrove> I see it right there in the definition, but can't figure out how to translate that into accessor code
<seangrove> Ah, it's not tag.key, it's tag.EC2.Types.Tag.key
<seangrove> Why is that?
yunxing has joined #ocaml
<mrvn> seangrove: namespace
<mrvn> key can be a lable in many different modules. For ocaml to infere which one you mean you have to give the module path
<mrvn> tag.EC2.Types.Tag.key, EC2.Types.Tag.(tag.key), open EC2.Types tag.Tag.key, ...
<mrvn> module Tag = EC2.Types.Tag tag.Tag.key
<seangrove> mrvn: I like the module trick there. But what I find strange is that OCaml knows the type of tag, and it knows that that type has .key and .value
<seangrove> What confusion could there be?
<mrvn> how would it know the type of tag? It knows it after you used tag.EC2.Types.Tag.key.
<mrvn> also you could have mistyped
<seangrove> mrvn: Because I'm mapping over a list of EC2.Types.Tag
yunxing has quit [Read error: Connection reset by peer]
<mrvn> with records if you specified the first label the rest autocompletes iirc. Otherwise you have to specify it all the time. ocaml is a bit stupid/strict there
yunxing has joined #ocaml
butts_butts has quit [Ping timeout: 244 seconds]
<seangrove> Hrm, I don't really understand, but I'll move on for now. The `let module Tags = EC2.Types.Tag in` trick is nice
<mrvn> seangrove: think of it going bottom up in the syntax tree. First it has to figure out all the leaves. If one leave doesn't have the module path it doesn't know what to make of it -> error. Only as it goes further up it could deduce what you ment from the type.
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
<seangrove> Oh, that's the opposite of how I thought it worked
<mrvn> seangrove: When I have long module paths that I use often I always make a short alias at the top. If I use a module multiple times locally I open it with Tags.(tag.key, tag.foo, tag.bla)
<seangrove> Heh, I'll just make the change and make a mental note to look into it more later
<seangrove> mrvn: I want to alias it jsut within a local definition
<seangrove> ocaml-aws has *so many* types, I'm not sure which I want to alias at the top yet
<mrvn> hmm, you could do a first class module but that gets complex.
<mrvn> seangrove: just open it: EC2.Types.Tag.( ..... code ....)
<mrvn> or just EC2.Types.()
<mrvn> seangrove: more occuranes of Tag.
<mrvn> let tags_str = Tag.(List.map /fun tag -> Printf.sprintf "%s=%s" tag.key tag.value) tags)
<seangrove> mrvn: I'm ok with that level in this case now that I have a tiny idea about what's going on
<mrvn> I would open EC2 for that function
<mrvn> or module T = EC2.Types, you use that a lot.
<mrvn> but well, main point is that it compiles
yunxing_ has joined #ocaml
GeorgeHahn has quit [Read error: Connection reset by peer]
yunxing has quit [Ping timeout: 248 seconds]
<Leonidas> companion_cube: is there a way to generate all kinds of integers uniformly? I tried QCheck.Arbitrary.int max_int, but this fails with an Invalid_argument exception.
<companion_cube> according to the doc of Random.int, the range must be lower than 2^30
sz0 has quit [Quit: My computer has gone to sleep. ZZZzzz…]
<companion_cube> so, not that I know of
<companion_cube> I suppose you could generate a boolean to know if you generate n or n+2^30, this kind of stuff
<mrvn> you want an array with 4 billion ints?
<companion_cube> Leonidas: otoh I use qcheck nowadays
hxegon has joined #ocaml
<mrvn> oh, never mind, I misread Arbitrary
<companion_cube> I have somewhere near the bottom of my todolist "merge qcheck and qtest"
<companion_cube> but well
<companion_cube> (qtest has shrinking, etc.)
sz0 has joined #ocaml
<Leonidas> companion_cube: QCheck or QTest?
<companion_cube> qtest
<companion_cube> what I should do, indeed, is merge the Quickcheck module of qtest with qcheck, and use the result as a backend for qtest
<Leonidas> meh, not a fan of stuff in comments.
<companion_cube> well in my use-case it's awesome
seangrove has quit [Remote host closed the connection]
<companion_cube> but I undertand your concern
<Leonidas> but alright, having only up to 2^30 is alright with me.
<companion_cube> Leonidas: do you write custom generators?
<Leonidas> companion_cube: yes.
<mort___> hm. how do i use ppx_sexp_conv inside utop?
<mort___> hm
<Leonidas> of course I guess I could somehow also write my custom generator for this, but I wanted to avoid reinventing the wheel.
<companion_cube> Leonidas: and printers? because in qtest the api is a bit different
<Leonidas> companion_cube: no, at least not yet.
<companion_cube> (well it's better, imho, but still)
mort___1 has joined #ocaml
<mort___1> hm
<Leonidas> mort___1: require ppx_deriving and then ppx_sexp_conv
<companion_cube> so I'm thinking of merging this with qcheck
<mort___1> Leonidas: thanks but...
<mort___1> utop # #require "ppx_sexp_conv";;
<mort___1> File "", line 1, characters 0-4: Error: Parse error: illegal begin of top_phrase Fatal error: exception Pervasives.Exit
<mort___1> (following #require "ppx_deriving";;)
Haudegen has quit [Ping timeout: 250 seconds]
mort___ has quit [Ping timeout: 260 seconds]
<Leonidas> mort___1: let me build ppx_sexp_conv, a moment.
<mort___1> ta
<Leonidas> companion_cube: looks alright to me.
<companion_cube> cool!
<companion_cube> (the biggest advantage, to me, is that combining 'a arbitrary also combines printers, shrinkers, etc.)
<companion_cube> (if they are present)
dothraki__ has quit [Ping timeout: 240 seconds]
<Leonidas> mort___1: it works for me just fine.
<Leonidas> mort___1: I also need to require sexplib and open Sexplib.Std, but that's another story.
<mort___1> hm. moving my .ocamlinit out of the way stops it giving that error anyway
<mrvn> val startCallback = (fun _ -> board#start)
<mrvn> Error: The instance variable board cannot be accessed from the definition of another instance variable
<mrvn> Can I get around that? It's not getting accessed there until later
<mort___1> Leonidas: though it seems to spin when I try to actually use it
<companion_cube> mrvn: use a method
<companion_cube> I'd say
<mort___1> (as in, i need to interrupt to get back console)
<mrvn> companion_cube: That produces a closure that gets garbage collected
<mrvn> hmm, I've lifted the board out of the class body but my "pauseButton#clicked#connect pauseCallback" still segfaults when triggered. With a global function as callback it works.
thomasga has quit [Ping timeout: 276 seconds]
larhat has quit [Quit: Leaving.]
Haudegen has joined #ocaml
antkong has joined #ocaml
silver has quit [Quit: rakede]
thomasga has joined #ocaml
<mort___1> dumb question — is "opam install utop" supposed to install man pages? and if not, is there a way to get it to do so?
<mrvn> companion_cube: Found the problem. The closure moves from the minor heap to the major heap and C didn't get the update.
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<mort___1> ah got it. #camlp4o is a bad thing to have in .ocamlinit when trying to use ppx_deriving,ppx_sexp_conv (perhaps unsurprisingly...)
Reshi has joined #ocaml
destrius_ has quit [Remote host closed the connection]
Kakadu has quit [Remote host closed the connection]
amirmc has quit [Ping timeout: 240 seconds]
amirmc has joined #ocaml
<Leonidas> mort___1: oh, indeed.
<Leonidas> should've thought of that
jeffmo has quit [Read error: Connection reset by peer]
amirmc has quit [Ping timeout: 260 seconds]
NingaLeaf1 has joined #ocaml
mort___1 has quit [Quit: Leaving.]
GeorgeHahn has joined #ocaml
sillyotter has joined #ocaml
sillyotter has quit [Client Quit]
keep_learning has quit [Quit: This computer has gone to sleep]
Algebr``` has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
Pepe__ is now known as Pepe_
johnf has joined #ocaml
Algebr``` has quit [Ping timeout: 246 seconds]
Simn has quit [Quit: Leaving]
NingaLeaf1 has left #ocaml [#ocaml]