gdiazlo_caml has quit [Remote host closed the connection]
<discocaml>
<gooby_clown> Would it be possible at this point to remove currying from OCaml and have SML-style functions?
<companion_cube>
lol
<discocaml>
<gooby_clown> It has dawned upon me currying isn't very useful
<companion_cube>
if you want to remove it from OCaml, the easiest solution is to build a time travel machine and go back to the 1990s to prevent it from happening
Anarchos has joined #ocaml
<discocaml>
<gooby_clown> I see, I shall look into making a time travel machine straight away in that case
euphores has quit [Quit: Leaving.]
euphores has joined #ocaml
<discocaml>
<barconstruction> @gooby_clown the original zinc paper does contain a defense of currying as a feature.
<discocaml>
<gooby_clown> Oh, that's a fair point, I shouldn't have doubted OCaml and its design decisions. I think what I just did was blasphemy, I must cleanse myself now.
<companion_cube>
it's just that you can't change something so deeply ingrained in the language
<discocaml>
<gooby_clown> companion_cube: Where there's a will, there's a way
<companion_cube>
it's called forking the language I suppose
<discocaml>
<ambersaber> 在Windows 上似乎无法安装一些第三方模块
nore has quit [Ping timeout: 248 seconds]
<discocaml>
<deepspacejohn> well, forking the language and removing currying has been done before (ReScript). Whether the cost of that is worth effort is another question.
<discocaml>
<gooby_clown> companion_cube: I wish to force my opinions on others, so forking is no good
oriba has joined #ocaml
<discocaml>
<ada2k> what’s wrong with currying 😕
<discocaml>
<ada2k> if you removed something because it isn’t helpful except for the 10% of times when it is, you’d land up with go. i prefer the ruby model of programmers happiness, even if it leads to corners of the language that are relatively niche
<discocaml>
<gooby_clown> I was just thinking how it would be nice to replace `f x` and `fun y -> f y a` with `f(x,_)` and `f(_,a)`
<discocaml>
<Kali> you don't need to remove currying to do that
<discocaml>
<Kali> first off, ocaml already has named parameters, so if you removing currying was contingent on not having a nice syntax to non-positionally partially apply functions... it's already there
<discocaml>
<Kali> next, if you wanted something that did not need named parameters but could still do what you described, it would need new syntax anyway, and you don't need to remove currying for that either: f x stays as f x, fun y -> f y a becomes f _ a
<discocaml>
<Kali> additionally, (a,b,c) is for creating tuples, not for uncurried function arguments; it just looks that way if you remove the space between them: f(a,b)` is really `f (a,b)` (i.e. apply f to the tuple (a,b))
<discocaml>
<Kali> additionally, (a,...,z) is for creating tuples, not for uncurried function arguments; it just looks that way if you remove the space between them: `f(a,b)` is really `f (a,b)` (i.e. apply `f` to the tuple `(a,b)`)
<discocaml>
<Kali> does having a function arguments hole in a *tuple* make sense?
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<discocaml>
<jk19940101> looking for opportunities to work as a developer.