adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.07.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.07/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml | Due to ongoing spam, you must register your nickname to talk on the channel
jao has joined #ocaml
ziyourenxiang has quit [Ping timeout: 245 seconds]
Henry1512 has joined #ocaml
Henry1512 has quit [Remote host closed the connection]
edumass12 has joined #ocaml
edumass12 has quit [Remote host closed the connection]
thomas_scrace has joined #ocaml
thomas_scrace has quit [Ping timeout: 246 seconds]
suraeNoether21 has joined #ocaml
jao has quit [Ping timeout: 272 seconds]
suraeNoether21 has quit [Remote host closed the connection]
\malex\3 has joined #ocaml
ibnfirnas has quit [*.net *.split]
leah2 has quit [*.net *.split]
ruffy_ has quit [*.net *.split]
hannes has quit [*.net *.split]
tizoc has quit [*.net *.split]
tsani has quit [*.net *.split]
sheijk_ has quit [*.net *.split]
tizoc has joined #ocaml
hannes has joined #ocaml
ibnfirnas_ has joined #ocaml
ruffy_ has joined #ocaml
\malex\3 has quit [Read error: Connection reset by peer]
sheijk has joined #ocaml
leah2 has joined #ocaml
tsani has joined #ocaml
silver has quit [Read error: Connection reset by peer]
mfp has quit [Ping timeout: 252 seconds]
Jesin has quit [Quit: Leaving]
erkin has joined #ocaml
ebx1000 has quit [Ping timeout: 245 seconds]
ideopathic has joined #ocaml
ideopathic has quit [Remote host closed the connection]
malina has quit [Remote host closed the connection]
StolenToast8 has joined #ocaml
StolenToast8 has quit [Remote host closed the connection]
thomas_scrace has joined #ocaml
thomas_scrace has quit [Ping timeout: 246 seconds]
tormen has joined #ocaml
tormen_ has quit [Ping timeout: 245 seconds]
jack5638 has quit [Ping timeout: 250 seconds]
jack5638 has joined #ocaml
roygbiv has joined #ocaml
neatonk has quit [Ping timeout: 240 seconds]
jbrown has quit [Ping timeout: 252 seconds]
kleimkuhler has joined #ocaml
roygbiv has quit [Quit: ™]
erkin has quit [Remote host closed the connection]
bartholin has joined #ocaml
thomas_scrace has joined #ocaml
bartholin has quit [Remote host closed the connection]
thomas_scrace has quit [Ping timeout: 252 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
pierpal has quit [Ping timeout: 260 seconds]
Fare has quit [Quit: Leaving]
thomas_scrace has joined #ocaml
thomas_scrace has quit [Ping timeout: 252 seconds]
kleimkuhler has quit [Quit: kleimkuhler]
Akii has joined #ocaml
Akii has quit [Remote host closed the connection]
Cypi has quit [Remote host closed the connection]
Cypi has joined #ocaml
sshine has left #ocaml [#ocaml]
TheLemonMan has joined #ocaml
yurug has joined #ocaml
sagotch has joined #ocaml
yurug has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
kakadu has joined #ocaml
jaar has joined #ocaml
noitakomentaja has joined #ocaml
<Leonidas> companion_cube: told you alcotest is cool :D
<Leonidas> I want yojson move to ocaml-community, looking at https://github.com/mjambon/yojson/issues and the fact that it doesn't have `equal` :-/
<reynir> equal?
<Leonidas> reynir: t -> t -> bool
<Leonidas> I mean Yojson.Safe.json -> Yojson.Safe.json -> bool, because why use t when other names could also be used
jao has joined #ocaml
jao has quit [Ping timeout: 272 seconds]
thomas_scrace has joined #ocaml
vodkaInferno has quit [Read error: Connection reset by peer]
wickedshell has quit [Ping timeout: 250 seconds]
vodkaInferno has joined #ocaml
mfp has joined #ocaml
wickedshell has joined #ocaml
jmiven11 has joined #ocaml
jmiven11 has quit [Remote host closed the connection]
dakk has joined #ocaml
vodkaInferno has quit [Read error: Connection reset by peer]
thomas_scrace has quit [Ping timeout: 252 seconds]
thomas_scrace has joined #ocaml
ziyourenxiang has joined #ocaml
vodkaInferno has joined #ocaml
thomas_scrace has quit [Ping timeout: 260 seconds]
ebx1000 has joined #ocaml
noitakomentaja has quit [Ping timeout: 252 seconds]
sandman1316 has joined #ocaml
sandman1316 has quit [Read error: Connection reset by peer]
<discord> <rgrinberg> How would moving it to ocaml-community help anything?
yurug has joined #ocaml
vodkaInferno has quit [Read error: Connection reset by peer]
vodkaInferno has joined #ocaml
Abjectio0 has joined #ocaml
Abjectio0 has quit [Remote host closed the connection]
silver has joined #ocaml
thomas_scrace has joined #ocaml
sgnb has joined #ocaml
Haudegen has quit [Remote host closed the connection]
JyZyXEL4 has joined #ocaml
JyZyXEL4 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
<Leonidas> rgrinberg: Then I would have an incentive to create a PR and have a reasonable expectation of having it merged soon
<Leonidas> It is not like I am any better, I have lots of PRs I don't have time or interest for the moment, it is a general problem :|
apostolis has joined #ocaml
<apostolis> Hello, I am unable to install the zarith library with opam . (It cannot find clang-3.8)
<apostolis> I can install it from github, but when installing a package with opam , opam does not see the installed zirath.
benaux has quit []
yurug has quit [Ping timeout: 260 seconds]
Kelsar28 has joined #ocaml
Kelsar28 has quit [Remote host closed the connection]
<Drup> But zarith doesn't use nor need clang.
<sgnb> maybe on Mac OS X?
<Armael> I heard there was a xcode update a couple days ago that broke some stuff
<Armael> could it be that?
<apostolis> I am on Debian.
<Armael> ah.
<apostolis> I actually have clang-3.8 on /usr/bin. Opam complains that I do not.
okuu has joined #ocaml
okuu has quit [Client Quit]
glass has quit [Quit: ZNC - http://znc.in]
theglass has joined #ocaml
theglass has joined #ocaml
theglass has quit [Changing host]
thomas_scrace has quit [Ping timeout: 252 seconds]
<thizanne> apparently is does use clang if $CC is set to clang
thomas_scrace has joined #ocaml
neatonk has joined #ocaml
jrslepak has quit [Remote host closed the connection]
bartholin has joined #ocaml
pierpal has joined #ocaml
Haudegen has joined #ocaml
thomas_scrace has quit [Ping timeout: 245 seconds]
thomas_scrace has joined #ocaml
TGCFabian has joined #ocaml
TGCFabian has quit [Remote host closed the connection]
_andre has joined #ocaml
<xvilka> argh
<xvilka> why Core.Filename.realpath returns an error on non-existing path
<xvilka> why not just resolve the path without checking the presence
<theblatte> you can't do that if there's a broken symlink in the way
<xvilka> meh
L0j1k8 has joined #ocaml
L0j1k8 has quit [Remote host closed the connection]
yurug has joined #ocaml
JimmyRcom has joined #ocaml
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
vodkaInf1rno has joined #ocaml
vodkaInf1rno has quit [Remote host closed the connection]
<Leonidas> apostolis: stupid question but does /usr/bin/clang-3.8 exit?
<Leonidas> maybe debian calls it something else?
<Leonidas> oh, didn't read, disregard the noise
<apostolis> Yes. I changed the $CC from /usr/bin/clang-3.8 to gcc and it works.
<Leonidas> is there a reasonable test to verify whether the opam I built works? I'm trying to get this merged but opam really wants to install things: https://github.com/Homebrew/homebrew-core/pull/32229
<Leonidas> and installing fails in a sandbox because sandboxes don't nest apparently.
apostolis has quit [Quit: WeeChat 1.6]
ebx1000 has quit [Quit: Leaving]
ia0 has quit [Quit: leaving]
ia0 has joined #ocaml
yurug has quit [Ping timeout: 240 seconds]
jao has joined #ocaml
pierpal has quit [Ping timeout: 252 seconds]
hrybacki29 has joined #ocaml
hrybacki29 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
grenade8 has joined #ocaml
grenade8 has quit [Remote host closed the connection]
jbrown has joined #ocaml
jrslepak has joined #ocaml
ziyourenxiang has quit [Ping timeout: 272 seconds]
gareppa has joined #ocaml
Ahti33311 has joined #ocaml
Ahti33311 has quit [K-Lined]
sagotch has quit [Quit: Leaving.]
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
gareppa has quit [Quit: Leaving]
JimmyRcom has quit [Ping timeout: 246 seconds]
Haudegen has quit [Remote host closed the connection]
KeyJoo has joined #ocaml
Welcome has joined #ocaml
Welcome has quit [Remote host closed the connection]
jnavila has joined #ocaml
ia0 has quit [Quit: leaving]
ia0 has joined #ocaml
thomas_scrace has quit [Ping timeout: 260 seconds]
yurug has joined #ocaml
elfets has joined #ocaml
ia0 has quit [Quit: leaving]
ia0 has joined #ocaml
elfets has quit [Ping timeout: 252 seconds]
jaar has quit [Quit: Leaving]
dakk has quit [Remote host closed the connection]
yurug has quit [Ping timeout: 240 seconds]
ohm27 has joined #ocaml
ohm27 has quit [Read error: Connection reset by peer]
yurug has joined #ocaml
zykotick9 has joined #ocaml
zykotick9 has quit [Remote host closed the connection]
jnavila has quit [Ping timeout: 252 seconds]
maarhart has joined #ocaml
maarhart has quit [Client Quit]
vadeen has joined #ocaml
<tizoc> Leonidas: can't you use opam init's '--disable-sandboxing' for the the test ?
<Leonidas> tizoc: oh, I didn't know there was that option. Thanks, I'll give it a try!
<tizoc> cool, I didn't know either, just found about it, I hope it works
kakadu has quit [Quit: Konversation terminated!]
vadeen has left #ocaml [#ocaml]
moei has joined #ocaml
pierpal has joined #ocaml
JimmyRcom has joined #ocaml
Denommus has joined #ocaml
orbifx has joined #ocaml
yurug has quit [Ping timeout: 252 seconds]
kakadu has joined #ocaml
thomas_scrace has joined #ocaml
sickolog1 has joined #ocaml
sickolog1 has quit [Remote host closed the connection]
JimmyRcom has quit [Ping timeout: 252 seconds]
bartholin has quit [Remote host closed the connection]
kleimkuhler has joined #ocaml
Fare has joined #ocaml
jnavila has joined #ocaml
<Fare> is there a "standard" function let transpose x y z = x z y just like flip in Haskell ?
thomas_scrace has quit [Ping timeout: 245 seconds]
<Fare> val transpose : ('a -> 'b -> 'c) -> 'b -> 'a -> 'c
<Fare> the T combinator from Schönfinkel
<def`> not in the standard library, it doesn't provide that kind of combinator
<def`> but janestreet Core library has Fn.flip
<Fare> Ok. I should probably call mine flip, and eventually use janestreet Core. Thanks!
<Fare> What about let zcompose : ('b -> 'c) -> ('a -> 'b) -> 'a -> 'c = fun x y z -> x (y z) ?
<Fare> (I don't know the name in Haskell; it's Schönfinkel's Z combinator)
<companion_cube> that sounds pretty unreadable ^^'
<def`> Fn.compose
<lyxia> Control.Category.>>> in Haskell
<lyxia> oh no that's (.)
<lyxia> but with that style in ocaml you'll get bitten by the value restriction or strictness issues sooner or later
<Fare> lyxia: yeah, I often have to add variables for the typechecker to make things parametric.
hiroshi15 has joined #ocaml
<def`> this should improve when we get algebraic effects :P
<Fare> I want to use flip to borrow the bind from a lesser monad, as in x |> flip Lwt.bind f y z t
<Fare> does ocaml have an infix composition operator? I admit I like this left-to-right variant: let (>>) x y z = y (x z)
hiroshi15 has quit [Remote host closed the connection]
<companion_cube> nope
anton-trunov has joined #ocaml
orbifx has quit [Ping timeout: 240 seconds]
Fare has quit [Ping timeout: 260 seconds]
jnavila has quit [Ping timeout: 252 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
kleimkuhler has quit [Quit: kleimkuhler]
kakadu has quit [Remote host closed the connection]
_andre has quit [Quit: leaving]
johnlage16 has joined #ocaml
johnlage16 has quit [Remote host closed the connection]
octachron has quit [Ping timeout: 252 seconds]
octachron has joined #ocaml
Fare has joined #ocaml
thomas_scrace has joined #ocaml
thomas_scrace has quit [Ping timeout: 246 seconds]
kvda has joined #ocaml
<oni-on-ion> what standard library should i choose
Denommus has quit [Remote host closed the connection]
<copy`> containers!
<companion_cube> \o/
<emily> but what standard library should *i* choose?
<Fare> oni-on-ion, the janestreet one looks better maintained.
<Fare> oni-on-ion, it's not perfect, but still better maintained than the standard one.
<companion_cube> I think janestreet breaks things more often than containers, compatibility-wise, but I could be wrong
<companion_cube> they do have a nice uniform design
<companion_cube> so the biggest difference is: do you want to be compatible with the stdlib or not
thomas_scrace has joined #ocaml
<companion_cube> (as in having the same type for sets, maps, hashtables, etc.)
thomas_scrace has quit [Ping timeout: 252 seconds]
Fare has quit [Ping timeout: 252 seconds]
<Leonidas> oni-on-ion: Base :p
<oni-on-ion> Leonidas: default? =)
<Leonidas> oni-on-ion: no, Jane Street Base
<oni-on-ion> ahh. i thought that was Core
* oni-on-ion confuse
<Leonidas> The compiler stdlib is next to unusable :/
<oni-on-ion> lol
<Leonidas> oni-on-ion: no, Core is the superset of Core_kernel which is the superset of Base (roughly)
<oni-on-ion> so jane st ?
<oni-on-ion> ahh
<oni-on-ion> so jane st is called base, the stdlib
<Leonidas> opinions differ, that's just mine
<oni-on-ion> i'd take it.
<Leonidas> I've also used containers, that's nice too.
<oni-on-ion> containers base lib ?
<oni-on-ion> checkin
<oni-on-ion> erm lol i will digest when more awawke
<Leonidas> containers, batteries and extlib *extend* the stdlib, base replaces it with a different one.
<emily> there's only two answers being given these days? ocaml has come a long way since I last tried using it...
<oni-on-ion> so should i replace or extend..
<Leonidas> emily: I used to like batteries but BatEnum broke the camels back for me.
<emily> Leonidas: I'm unfamiliar
<emily> (I remember using batteries briefly, but not much more; it was long ago.)
* Leonidas used to be anti-Core because it does a lot of things "the jane street way"
ziyourenxiang has joined #ocaml
<Leonidas> but the more I was exposed to it the more I liked many of the choices
<companion_cube> Leonidas: for me it'd be BatIO :s
<emily> in all seriousness, I'd love links to up-to-date documents laying out this kind of tradeoff in library design/structure in the core library options, if any exist
neatonk has quit [Remote host closed the connection]
neatonk has joined #ocaml
<Leonidas> emily: that is a good point. I could maybe write a (probably biased) overview over the current state
<companion_cube> emily: you may want to read the rationale for containers and for base, I guess
<companion_cube> both strive to be more lightweight than the classic core or batteries, where they differ is more in style and relation to stdlib
<Leonidas> I suppose the motivation for both will be exactly identical ;-)
<companion_cube> not exactly, I wanted containers to be more modular :p (i.e each piece more or less independent, but relying on the stdlib)
<emily> yeah, containers vs. base is the primary thing I'm interested in
Profound28 has joined #ocaml
<emily> it's also not clear to me how the "modern" library ecosystem divides between them
<companion_cube> the good thing is the the ecosystem doesn't really have to be divided anymore
<Leonidas> neither of them is used by libraries
<emily> probably very beginner questions, I realise, I'm just so used to languages with only one standard library...
<companion_cube> everyone has the same `result` type, the same IOs (more or less… ignoring lwt/async)
Profound28 has quit [Killed (Unit193 (Spam is not permitted on freenode.))]
<Leonidas> emily: the problem is nobody wants to depend on one stdlib, because there are like… 4 or so.
<Leonidas> some very broadly agreed things have been sort of blessed into the official distribution :)
* emily nods
<emily> thank you!
<Leonidas> (though the numbers for base are a bit inaccurate because many of the dependents are from jane street themselves, but also some depend on core which is essentially a superset of base)
<Leonidas> companion_cube: I see containers has sexp. Have you considered basing it upon sexplib0?
<companion_cube> meh, I don't want to break my own compatibility :/
<companion_cube> it uses poly variants for s-expressions
<companion_cube> from back when sexplib was super heavy and I didn't want to depend on it just for the `type t = Atom of string | List of t list`…
<Leonidas> haven't looked much into it, but it looked like providing the "shareable" subset of sexplib
<companion_cube> yeah but it's much more recent than my sexp parser
<companion_cube> I should probably move there, but that'd require a major version
jao has quit [Ping timeout: 252 seconds]
<Leonidas> yes, that's true. I just found it curious because it is the only dependency of base :)
<Leonidas> still don't quite understand why sexp is so popular in ocaml, but I'm sure there is some reason
<_y> Leonidas, because it’s typeless ;-)
kandu has quit [Ping timeout: 252 seconds]
kandu has joined #ocaml
<_y> isn’t mentioning extlib seriously outdated ?
jao has joined #ocaml
<Leonidas> possibly but in fact it might've kept more up to date than batteries lately
<Leonidas> second system syndrome, right there %)
<_y> oh really
<_y> i thought that extlib was completely abandoned
<Leonidas> (reading the contributors lists of extlib and batteries is like a who's who of the ocaml community)
<emily> Leonidas: hehe, i was about to say how cute the ubiquity of sexps in ocaml was to me
<emily> it's an unusual network-effect quirk of the ecosystem, i guess
Andr3as19 has joined #ocaml
Andr3as19 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
ziyourenxiang has quit [Ping timeout: 252 seconds]