I put parentheses on everything that's not an associative expression by default (i.e. i'll write `5 + (4 * 3)` even though I don't need to) so the other stuff doesn't bother me that much thankfully.
Conversation
wat, are the precedences and associativies hard-coded?
1
1
what is
2
1
oh and this is another thing sorry but
def ident(Args): Ret
is wrong.
but no language can have perfect syntax I suppose. 😔
1
1
mmm. I did notice that but the arrow of implication still makes more sense to me, as with in Rust's
let fun: fn(Arg) -> Ret = |arg| arg.val;
1
1
yeah, I like this. it makes sense in SML, OCaml, and Lean for similar reasons, for example in Lean 4 you have something like:
def foo (arg1 : Arg1) (arg2 : Arg2) : Ret := ....
Is sugar for:
def foo : Arg1 -> Arg2 -> Ret =
fun arg1 arg2 => ...
That's still in curried languages though. Scala isn't curried
1



