companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.2.0 released: https://ocaml.org/releases/5.2.0 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
spew has quit [Ping timeout: 272 seconds]
Tuplanolla has quit [Quit: Leaving.]
szkl has quit [Quit: Connection closed for inactivity]
f[x] has quit [Remote host closed the connection]
euphores has joined #ocaml
toastal has joined #ocaml
YuGiOhJCJ has joined #ocaml
toastal has left #ocaml [Disconnected: Hibernating too long]
sroso has joined #ocaml
spew has joined #ocaml
deadmarshal_ has quit [Remote host closed the connection]
spew has quit [Quit: spew]
bartholin has joined #ocaml
torretto has joined #ocaml
torretto_ has quit [Ping timeout: 260 seconds]
deadmarshal_ has joined #ocaml
toastal has joined #ocaml
Anarchos has joined #ocaml
toastal has left #ocaml [Disconnected: Hibernating too long]
Anarchos has quit [Ping timeout: 246 seconds]
toastal has joined #ocaml
tomku has quit [Ping timeout: 252 seconds]
Tuplanolla has joined #ocaml
tomku has joined #ocaml
germ has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
Anarchos has joined #ocaml
sroso has quit [Quit: Leaving :)]
toastal has quit [Quit: Gateway shutdown]
spew has joined #ocaml
rak has quit [Quit: Segmentation fault (core recycled)]
rak has joined #ocaml
spew has quit [Quit: spew]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<discocaml> <_der_gopher_> Hi, happy to be here. Just wrote about my first impressions here.
gdiazlo_caml has joined #ocaml
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)`
oriba has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<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.
bartholin has quit [Quit: Leaving]
gentauro_ has quit [Ping timeout: 252 seconds]
gentauro has joined #ocaml
Tuplanolla has quit [Ping timeout: 245 seconds]