adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.06.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.06/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
orbifx1 has quit [Read error: Connection reset by peer]
spew has joined #ocaml
orbifx has joined #ocaml
andreas_ has quit [Quit: Connection closed for inactivity]
orbifx has quit [Ping timeout: 240 seconds]
baboum has quit [Quit: WeeChat 2.0.1]
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0 has joined #ocaml
infinity0 has quit [Killed (orwell.freenode.net (Nickname regained by services))]
okeuday_bak has quit [Ping timeout: 248 seconds]
okeuday_bak has joined #ocaml
gentauro has quit [Ping timeout: 264 seconds]
okeuday_bak has quit [Ping timeout: 248 seconds]
mfp has quit [Ping timeout: 260 seconds]
spew has quit [Read error: Connection reset by peer]
pierpa has joined #ocaml
silver has quit [Read error: Connection reset by peer]
mal`` has quit [Quit: Leaving]
gpietro has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
ygrek has joined #ocaml
gentauro has joined #ocaml
mal`` has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
sz0 has joined #ocaml
FreeBirdLjj has joined #ocaml
Soni has quit [Remote host closed the connection]
govg has quit [Ping timeout: 265 seconds]
Soni has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
VermillionAzure has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 268 seconds]
zarulshahrin has quit [Quit: WeeChat 2.0.1]
VermillionAzure has joined #ocaml
FreeBirdLjj has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
cobreadmonster has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 264 seconds]
govg has joined #ocaml
kotedo has quit [Quit: Leaving]
sz0 has quit [Quit: Connection closed for inactivity]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
rpcope- has quit [Remote host closed the connection]
rpcope has joined #ocaml
FreeBirdLjj has joined #ocaml
jbrown has quit [Ping timeout: 255 seconds]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 260 seconds]
VermillionAzure has quit [Ping timeout: 268 seconds]
kerrhau has quit [Ping timeout: 248 seconds]
kerrhau has joined #ocaml
kerrhau has joined #ocaml
kerrhau has quit [Changing host]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 268 seconds]
jlam has quit [Ping timeout: 256 seconds]
jlam has joined #ocaml
mbuf has joined #ocaml
pierpa has quit [Quit: Page closed]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
Rome has quit [Quit: ZNC 1.7.x-git-195-a314d30 - http://znc.in]
Rome has joined #ocaml
cobreadmonster has quit [Quit: Connection closed for inactivity]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 256 seconds]
mk9 has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #ocaml
jimmyrcom has quit [Ping timeout: 246 seconds]
FreeBirdLjj has quit [Ping timeout: 265 seconds]
MercurialAlchemi has joined #ocaml
argent_smith has joined #ocaml
jimmyrcom has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #ocaml
jao has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
mk9 has quit [Quit: mk9]
Haudegen has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 268 seconds]
zolk3ri has joined #ocaml
cbot has quit [Quit: Leaving]
mk9 has joined #ocaml
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
orbifx has joined #ocaml
<_xvilka__> I wonder when opam 2.0 will be finally released
mfp has joined #ocaml
FreeBirdLjj has joined #ocaml
zpe has joined #ocaml
andreas_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #ocaml
<flux> hmm, interesting, the four PRs being prerequisites for multicore are all "consider-for-4.07": https://github.com/ocaml/ocaml/pulls?q=is%3Aopen+is%3Apr+label%3Amulticore-prerequisite
<flux> so perhaps this is they year ;-)
<flux> (the)
FreeBirdLjj has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 268 seconds]
zolk3ri has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
mk9 has quit [Remote host closed the connection]
Chargen_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 276 seconds]
FreeBirdLjj has joined #ocaml
mk9 has joined #ocaml
<reynir> Maybe the universe will find a way to delay multicore somehow ;)
FreeBirdLjj has quit [Ping timeout: 264 seconds]
<Leonidas> reynir: there is a strugatzky story called "Definitely Maybe" in english that is about a mysterious force interfering with the discovery of some monumental scientific advance. This is how I feel about multicore and mudular implicits :D
Chargen_ has quit [Quit: Leaving]
<Leonidas> companion_cube: what is curly?
FreeBirdLjj has joined #ocaml
<Leonidas> ShalokShalom2: we use ppx_let from JST, it is not entirely do notation but similar in some ways.
<Leonidas> tizoc: I get the exact error in merlin. Not in the compiler though.
<Leonidas> (cannot locate deriver X for every X I try)
Serpent7776 has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #ocaml
reynir has quit [Quit: WeeChat 1.7.1]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
orbifx has quit [Ping timeout: 248 seconds]
orbifx has joined #ocaml
<orbifx> companion_cube: is it possible to pin the latest alpha of containers?
FreeBirdLjj has quit [Ping timeout: 246 seconds]
<orbifx> I should rephrase, I presume it is, wondering what the URL is
whoman has quit [Remote host closed the connection]
whoman has joined #ocaml
FreeBirdLjj has joined #ocaml
_andre has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
xfbs has joined #ocaml
kerrhau has quit [Ping timeout: 240 seconds]
ziyourenxiang has joined #ocaml
whoman has quit [Remote host closed the connection]
whoman has joined #ocaml
sz0 has joined #ocaml
kakadu has joined #ocaml
Orion3k has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
reynir has joined #ocaml
reynir has quit [Client Quit]
zpe has quit [Ping timeout: 256 seconds]
<xfbs> Newcomer here. What do I do when opam can't install merlin? I'm getting the error "[ERROR] The compilation of cppo failed at "jbuilder build -p cppo -j 4"."
BitPuffin has joined #ocaml
<kakadu> you can run opam with -v and see the full log what has gone wrong
zpe has joined #ocaml
zpe_ has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
reynir has joined #ocaml
<kakadu> https://github.com/ocaml-ppx/ocaml-migrate-parsetree#building-a-custom-driver-using-ocamlfind mentions ppx_driver in command line. It could be a copy paste error if you adopted this from ppx-driver's README
<kakadu> def`: ?
reynir has quit [Quit: WeeChat 2.0.1]
reynir has joined #ocaml
<kakadu> should it be `-predicate custom_ppx` the same as in _tags below?
baboum has joined #ocaml
reynir has quit [Client Quit]
reynir has joined #ocaml
webshinra has quit [Remote host closed the connection]
Orion3k has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Ping timeout: 265 seconds]
TarVanimelde has joined #ocaml
whoman has quit [Remote host closed the connection]
whoman has joined #ocaml
dhil has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
FreeBirdLjj has joined #ocaml
silver has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 248 seconds]
Haudegen has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
TarVanimelde has quit [Quit: TarVanimelde]
FreeBirdLjj has joined #ocaml
Haudegen has joined #ocaml
orbifx1 has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
sz0 has quit [Quit: Connection closed for inactivity]
spew has joined #ocaml
FreeBirdLjj has joined #ocaml
dhil has quit [Ping timeout: 268 seconds]
FreeBirdLjj has quit [Ping timeout: 256 seconds]
spew has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
<tizoc> Leonidas: something I noticed is that I only have this problem when using jbuilder, I can compile my program fine using ocamlbuild
<tizoc> (I started updating dependencies on my project and upgrading the build process to use jbuilder, thats when I started having this problem)
FreeBirdLjj has quit [Ping timeout: 246 seconds]
zpe_ has quit [Remote host closed the connection]
<Leonidas> tizoc: oh, that's excellent to know. Could you maybe post the .merlin PPX line that works and the PPX line from jbuilder that doesn't for comparison?
sh0t has joined #ocaml
<Leonidas> maybe it is not a merlin bug but a jbuilder bug. or merlin not running the PPX for some reason.
xfbs has quit []
<Leonidas> (thanks for posting in the ticket)
<tizoc> Leonidas: the main difference between the two files is that in the original one I have entryes like "PKG ppx_deriving.std", "PKG cconv.ppx", etc, while in the one generated by jbuilder I have a single entry for ppx that points to the binary generated by jbuilder using ppx_driver
xfbs has joined #ocaml
<Leonidas> ah, right, jbuilder links them together :|
FreeBirdLjj has joined #ocaml
<tizoc> FLG -ppx '<path to combined ppx binary/ppx.exe --as-ppx'
webshinra has joined #ocaml
ShalokShalom has joined #ocaml
ShalokShalom2 has quit [Quit: Konversation terminated!]
mk9 has quit [Quit: mk9]
xfbs has quit [Client Quit]
mk9 has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 248 seconds]
<tizoc> Leonidas: yojson works fine here, is your version up to date?
<Leonidas> tizoc: 4.2.1 afaik
<tizoc> I'm only having this issue with cconv.ppx and I think it is related to the -linkall thing, I just haven't tried changing that (it uses oasis for building and it makes me dizzy)
<tizoc> Leonidas: try upgrading (if it is not the latest) and deleting _build/default/.ppx
<tizoc> then run jbuilder again
<Leonidas> uhh, both ppx_deriving and ppx_deriving_yojson are latest versions
<Leonidas> otherwise it does not work at all because ppx_deriving and type_conv don't work at all together
mk9_ has joined #ocaml
mk9 has quit [Ping timeout: 276 seconds]
mk9_ is now known as mk9
dhil has joined #ocaml
shinnya has joined #ocaml
zpe has joined #ocaml
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
jbrown has joined #ocaml
baboum has quit [Quit: WeeChat 2.0.1]
<companion_cube> Leonidas: curly is a dead simple wrapper around curl
<companion_cube> orbifx: you should be able to pin it, yeah?
xfbs has joined #ocaml
<orbifx> companion_cube: I upgraded to it
<xfbs> Possibly a #DumbQuestion but what is the difference between List and ListLabels? I saw that they have similar (same?) functions and so I checked the source, and ListLabels just opens List. https://github.com/ocaml/ocaml/blob/trunk/stdlib/listLabels.ml
<companion_cube> xfbs: well, ListLabels exposes functions with labels in their signature
<companion_cube> look at the .mli
<companion_cube> always look at the mli
<xfbs> Gotcha. #RookieMistake. So a label is like a tag for a type?
<companion_cube> it's a label on a function parameter
<companion_cube> like `move point ~x ~y`
<companion_cube> that you could write `move ~y ~x point ` and it would still work
<companion_cube> whereas positional arguments are not very clear in this case
cow-orker has joined #ocaml
<xfbs> Ohhhhh so basically a named parameter
sillyotter has joined #ocaml
<companion_cube> yes!
FreeBirdLjj has joined #ocaml
sillyotter has quit [Quit: WeeChat 1.4]
FreeBirdLjj has quit [Ping timeout: 248 seconds]
<xfbs> Damn. 30 minutes into OCaml, liking it a lost thus far. I'm guessing that the `|>` syntax in Elixir was copied from OCaml, and rust borrowed the Some x / None stuff?
<xfbs> s/lost/lot
<companion_cube> |> comes from F# originally, I think (or SML)
<companion_cube> but it's quite standard in OCaml too now
<companion_cube> Some/None is probably borrowed from OCaml, yes
orbifx has quit [Quit: WeeChat 2.0.1]
<xfbs> Well, I was kinda expecting the OCaml syntax to be a bit obscure but I was surprised by the fact that it's not that new after all.. I guess a lot of languages are influenced by ML/OCaml..
FreeBirdLjj has joined #ocaml
<companion_cube> yes, in a way
<Leonidas> yeah, there is also let in JS
FreeBirdLjj has quit [Ping timeout: 246 seconds]
sepp2k has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 248 seconds]
orbifx has joined #ocaml
shinnya has quit [Ping timeout: 255 seconds]
moei has joined #ocaml
sz0 has joined #ocaml
aciniglio has joined #ocaml
mbuf has quit [Quit: Leaving]
<tizoc> Leonidas: companion_cube: ok, "linkall" was the issue (in the case of cconv.ppx at least, ppx_deriving_yojson works just fine here, couldn't reproduce your problem)
<tizoc> I just have to figure out how to make oasis build cconv fine with linkall enabled for the cmxa file without breaking other parts
<tizoc> also, damn, jbuilder is much faster than what I had before
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Client Quit]
orbifx1 has quit [Quit: Quit]
<companion_cube> I have no idea :/
dhil has quit [Ping timeout: 268 seconds]
dhil has joined #ocaml
FreeBirdLjj has joined #ocaml
jbrown has quit [Ping timeout: 246 seconds]
<tizoc> companion_cube: fixed, will submit a PR soon
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
zpe has quit [Remote host closed the connection]
baboum has joined #ocaml
Denommus has joined #ocaml
Denommus has quit [Client Quit]
<ShalokShalom> xfbs: the functional world is quite compact
<ShalokShalom> same as in the imperative languages, where most is from C
Denommus has joined #ocaml
<ShalokShalom> Haskell as an examples, shares so much with ML, that some people often count it to the family
<ShalokShalom> *example
Denommus has quit [Client Quit]
<ShalokShalom> Both, F# and Haskell share the same type system (System-F) which is a superset of the HM type system here in OCaml.
<ShalokShalom> And the devs in Haskell and F# shared the same company for a while. F# and OCaml are anyway very deeply connected.
Denommus has joined #ocaml
<xfbs> I did notice that OCaml look a little similar, but I don't know haskell well enough, kinda just starting to get into things.. :)
<ShalokShalom> By the way: There is a new family member: https://github.com/gluon-lang/gluon
<ShalokShalom> well, they share things under the hood as well
<ShalokShalom> Then, Elm and Elchemy are also similar
<xfbs> What do you think of Idris?
<xfbs> I don't 100% understand what their dependent type system is all about, only skimmed the paper
rpcope has quit [Ping timeout: 246 seconds]
rpcope has joined #ocaml
<Drup> ShalokShalom: huh, F# has arbitrary forall/exists quantifier and undecidable type inference ? Since when ?
aciniglio has quit [Ping timeout: 246 seconds]
dhil has quit [Ping timeout: 256 seconds]
mk9 has quit [Ping timeout: 246 seconds]
jao has joined #ocaml
Denommus has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
Serpent7776 has quit [Quit: Leaving]
Denommus has joined #ocaml
dhil has joined #ocaml
<ShalokShalom> Drup: this is new to me
<ShalokShalom> xfbs: Not much of an opinion.
<Drup> ShalokShalom: you said it was based on system F, as far as I know, this is not the case at all
<Drup> it's almost straight HM
<ShalokShalom> it is based on SystemF accoring to Don
<ShalokShalom> This is also the reason for the F in the name
<ShalokShalom> you can see interviews all over the place in the internet
<Drup> reference ? Because the type system doesn't support that :)
<Drup> (at least the type features that I know of)
cranmax has joined #ocaml
al-damiri has joined #ocaml
xfbs has quit []
Anarchos has joined #ocaml
jrslepak has quit [Ping timeout: 248 seconds]
jrslepak has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
xfbs has joined #ocaml
dhil has quit [Ping timeout: 265 seconds]
naiveai has joined #ocaml
naiveai has left #ocaml ["WeeChat 2.0.1"]
troydm has quit [Ping timeout: 276 seconds]
jbrown has joined #ocaml
<ShalokShalom> Drup: Seems like Wikipedia provides zero sources for its claim
<ShalokShalom> Also not in the mentioned interviews
<ShalokShalom> Only "evidence" I found is this convervation: https://github.com/dotnet/corefx/issues/18159
<ShalokShalom> I asked for more in the Slack channel
jnavila has joined #ocaml
<Drup> ShalokShalom: the only "systemF" in this github thread is a pun on a system programing lib for F# :3
Denommus has quit [Ping timeout: 268 seconds]
<xfbs> Can someone help me mentally model how I can use OCaml to solve a (numerical) problem?
<Drup> ShalokShalom: one simple way to know if your system contains systemF is the ability to write a function that like that: let mapTupPoly : 'b 'c . ('a . 'a -> 'a) -> 'b * 'c -> 'b * 'c = fun f (x,y) -> (f x, f y)
<Drup> (the notation "'a ." is ocaml's version of ∀)
<Drup> xfbs: don't ask to ask, just ask your question directly :)
<octachron> Drup, ShalokShalom : and https://github.com/fsharp/fslang-suggestions/issues/567 seems to suggest that the support for non-prenex polymorphism in F# is more or less similar to the one in OCaml
<ShalokShalom> Drup: Unexpected symbol '.' in binding. Expected '=' or other token.
<ShalokShalom> octachron: can be, thanks
Jesin has joined #ocaml
<octachron> (and that support for existential types is more limited in F# compared to OCaml)
<Drup> ShalokShalom: that's because this is not a valid OCaml type, precisely ;)
<Drup> (you can cheat in OCaml, using records, but you can't do it directly)
<Drup> ah, so the cheat in F# is exactly the same as the OCaml one
<Drup> (not really surprising)
<ShalokShalom> Drup: this is in the fsharp compiler
<ShalokShalom> octachron: in which way?
<Drup> well, F# doesn't have GADTs, doesn't it ?
<companion_cube> Exception: Unix.Unix_error(Unix.EAGAIN, "zmq_msg_recv", "") grrrrrnrrnrn
<Drup> the only HM systems that I know of that have existentials do it through GADTs
<companion_cube> are zmq bindings broken somehow? :?
<companion_cube> or rather, lwt-zmq
Haudegen has joined #ocaml
<octachron> ShalokShalom, it seems that you need to use the encoding of existential type through universal types
<Drup> that's the encoding you really don't want to use :D
<ShalokShalom> :D
<octachron> Drup, you can also use first-class/packed modules, if I am not mistaken? (but since F# choose to eschew Ocaml's system … )
<octachron> * Ocaml's module system
<Drup> octachron: ah, yes, but that's the module system, that's a very different beast
<ShalokShalom> I think this is very difficult to implement on .NET
<Drup> OCaml's module system is full blown system F
<ShalokShalom> There are type providers
<Drup> ShalokShalom: type providers are completely orthogonal
<Drup> (they can mostly be considered as a preprocessing phase before type checking, so they don't provide any more expressivity, formally speaking)
<Drup> (which doesn't mean they are not useful ;)
KeyJoo has joined #ocaml
<ShalokShalom> Drup: You might be one of the right persons to help listing the differences between OCaml and FSharp
<ShalokShalom> I am aware, that there are much benefits on both sides, you might like to contribute some of them :)
<Drup> huh, I don't know F# nearly enough for that
<ShalokShalom> I mean OCaml :)
<Drup> That being said, afaik, F* is completely implemented in the common subset of F# and OCaml
<ShalokShalom> You know whats unique in OCaml?
<ShalokShalom> Yeah
<ShalokShalom> I like more a superset :D
<Drup> ah, superset
<Drup> that might be .. more difficult than you think :D
<ShalokShalom> ah yeah
<ShalokShalom> sure
<ShalokShalom> Its more a education project ^^
<ShalokShalom> text changed ^-^
<Drup> (also, I'm not sure it's worth it, some of F#'s specifities are very tied to .NET)
<ShalokShalom> Yep
<Drup> (at least that's what it looks like from afar)
<ShalokShalom> Some of them
kakadu has joined #ocaml
<ShalokShalom> Drup: What do you think is in these languages for historical reasons only?
<ShalokShalom> hi kakadu
<kakadu> hey
<Drup> that's not such an easy question to answer for OCaml
<ShalokShalom> ok
<ShalokShalom> why?
<Drup> something between "everything" and "nothing" depending on what you mean by "historical reasons" :D
<Drup> (btw, don't call your project SML)
<ShalokShalom> i thought about SharpML and SimpleML
<ShalokShalom> Well, I mean: Which functional would you implement today again?
<ShalokShalom> *function
<Drup> I wouldn't :D
<ShalokShalom> hey, you know what I mean :D
<ShalokShalom> which is worth today
<ShalokShalom> in decades, mistakes happen in every language
<ShalokShalom> for compability reason
<ShalokShalom> so, lets change historical reasons with compability reasons
<Fardale> what is HM ?
<lyxia> Hindley Milner
<Fardale> thanks
<ShalokShalom> Fardale: Robin Milner created SML, the base of OCaml
sz0 has quit [Quit: Connection closed for inactivity]
<ShalokShalom> Ah, GADTs are phantom types
<ShalokShalom> Yaron Minsky says in his famous talk "Effective ML": Dont use them
<ShalokShalom> They are fancy, while they create a lot of confusion
<Drup> yeah, well, he changed his mind later on
<ShalokShalom> Ah yeah?
<ShalokShalom> Why that?
<ShalokShalom> Can I see this?
Trel has joined #ocaml
<ShalokShalom> thanks
<ShalokShalom> ah, for performance
<Trel> I noticed that using opam, a number of things wouldn't build/install because they check to make sure you're not root. (Which is fine until you do it in a docker container). I found a way around it myself, but is there an official way?
zolk3ri has joined #ocaml
<kakadu> Folks, does HOPE have published proceedings in the same manner as ML workshop has?
ygrek has joined #ocaml
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 268 seconds]
cranmax has quit [Quit: Connection closed for inactivity]
_andre has quit [Quit: leaving]
Misha_B has joined #ocaml
<Misha_B> is it possible to have a function that converts a int to a float if it's a int, but does nothing if it's a float
<Misha_B> something like
<Misha_B> let to_float i : 'a =
<Misha_B> match i with
<Misha_B> | int -> float_of_int i
<Misha_B> | float -> float i;;
<ShalokShalom> xfbs: I just heard by Yaron that OCaml had the operator |! for the functionality of |> and simply changed it to line up with F#
<ShalokShalom> companion_cube: ^
<ShalokShalom> great talk, by the way
<Drup> Misha_B: not like that, no
<Drup> what's your use case for such a function ?
<xfbs> Ahh interesting :)
<Misha_B> have a function that get's the area of a circle from it's radius
<Misha_B> but can be input with int and float
<Drup> Right
<Drup> so the only way in ocaml to have inputs that are "either int of float" is to create a new sum types
<Misha_B> ok thanks
Misha_B has quit [Quit: WeeChat 1.4]
<flux> in that case you will also need to return either int, float, or an instance of that sum type. there is a solutions for doing this properly (modules) and then a tricky solution (gadts) and then an OO solution ;). but, most likely, if the function is small, you might end up writing it twice; or just always using (say) floats.
<Drup> flux: he's gone :D
<flux> oh. twas a fast one.
ShalokShalom2 has joined #ocaml
JeanMax has quit [Remote host closed the connection]
ShalokShalom has quit [Ping timeout: 276 seconds]
Jesin has quit [Quit: Leaving]
<ShalokShalom2> Leonidas: Drup: The ppx for monad do notations is meant some days ago is ppx_lwt - is it used a lot in the OCaml world?
<ShalokShalom2> reynir: you were also interested ^
<Drup> ShalokShalom2: that's only for lwt, not for all monads, and it's not really a do notation
<Drup> I hope it's used, I wrote most of it :>
<ShalokShalom2> haha
<xfbs> I think I finally got ocaml working on travis :p
<ShalokShalom2> Drup: Would you compare them to computation expressions?
<ShalokShalom2> xfbs: Congratulations :D
<Drup> ShalokShalom2: it's a bit similar, yeah
Jesin has joined #ocaml
<Drup> companion_cube has a library thing that are sort of like computational expressions too
<companion_cube> hmmm?
<ShalokShalom2> oh?
<ShalokShalom2> Drup: quite similar, while only for lwt, yes?
<ShalokShalom2> and there are other libs for other Monads?
kerrhau has joined #ocaml
Trel has left #ocaml [#ocaml]
cbot has joined #ocaml
david4 has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
<david4> hi
<david4> I'm new here
<simpson> No worries. I think that everybody is new at some point.
<david4> cool
<xfbs> Btw, I'm new here to. :)
<xfbs> *too
<david4> I'm a lisp (clojure) developer studying ml through ocaml. Does anyone recommend source for me to study?
<thizanne> real world ocaml isnt bad
<thizanne> you can find it on google
<david4> I'm reading through Jane Street's Dune/JBuilder, at the moment
<thizanne> (get the new version, with ppx instead of camlp4, ask if you have no idea)
<thizanne> (you'll probably go quickly through the first chapters, but after that there are some more advanced topics)
<david4> Yes, I love that text, but I was looking specifically for complete projects
jnavila has quit [Quit: Konversation terminated!]
jnavila has joined #ocaml
<ianconnolly> what sort of background do you have, project-wise?
argent_smith has quit [Quit: Leaving.]
<ianconnolly> there's a bunch of facebook OSS ocaml, but it's all static analysis/compiler/PL-y, which wouldn't be much use to you if you mainly have a web-y background
noplamodo_ has joined #ocaml
pierpa has joined #ocaml
noplamodo has quit [Ping timeout: 248 seconds]
<david4> ian, I'm interested in build and testing systems
<david4> my background is mostly writing testing infrastructure and tools
jnavila has quit [Ping timeout: 252 seconds]
<david4> I don't have a web-y background
<ianconnolly> oh cool! unfortunately i don't know of anything particularly interesting in that space
<david4> how about you?
<david4> I think static analysis is super cool, but unfortunately I'm a self taught programmer missing core knowledge necessary to make good in that sort of area
<ianconnolly> you could always take a look at something like https://github.com/mirage/alcotest
<ianconnolly> might be useful for learning ocaml if you've got general experience with test harnesses
<david4> looking at alcotest now
<david4> good suggestion, the mirage repo looks like a goldmine
<ianconnolly> my bg is mainly web/backend-y things using dynamic langs, but somehow stumbled into a combo web/dist-sys/PL-research thing in ocaml :')
Haudegen has joined #ocaml
<david4> that's awesome, ian
<david4> ian, what sort of dynamic langs? js?
<david4> erlang?
<ianconnolly> nah, mainly ruby professionally
<david4> ah, cool
<david4> anyway, thanks for the tip
<ianconnolly> no problemo, anytime
jnavila has joined #ocaml
<hannes> david4: what would be nice to have is some way to run an alcotest test suite as a mirage unikernel :) -- I'd love to have that ability
<hannes> will likely need some extension to alcotest, and getting your feet wet with MirageOS
<david4> hannes, that sounds cool
<david4> I'll check it out
<david4> novice question-- what do you mean by "as a mirage unikernel"
<david4> sounds super interesting
kerrhau has quit [Read error: Connection reset by peer]
kerrhau has joined #ocaml
mk9 has joined #ocaml
<david4> @hanes
jnavila has quit [Remote host closed the connection]
Anarchos has quit [Quit: Vision[0.10.2]: i've been blurred!]
spew has joined #ocaml
kakadu_ has quit [Remote host closed the connection]
BitPuffin has quit [Remote host closed the connection]
<companion_cube> ok, so I only spent 4h looking for an issue which was that `unix` was linked twice
<companion_cube> bleh
<zolk3ri> rip
shinnya has joined #ocaml
jbrown has quit [Ping timeout: 256 seconds]
moei has quit [Quit: Leaving...]
david4 has quit [Ping timeout: 240 seconds]
orbifx has quit [Ping timeout: 248 seconds]
xfbs has quit []
mk9 has quit [Ping timeout: 240 seconds]
rostero has quit [Quit: Connection closed for inactivity]
spew has quit [Ping timeout: 240 seconds]
Haudegen has quit [Remote host closed the connection]