1
Stop Using <> for Generics
(soc.me)
Hello!
This is the current Lemmy equivalent of https://www.reddit.com/r/ProgrammingLanguages/.
The content and rules are the same here as they are over there. Taken directly from the /r/ProgrammingLanguages overview:
This community is dedicated to the theory, design and implementation of programming languages.
Be nice to each other. Flame wars and rants are not welcomed. Please also put some effort into your post.
This isn't the right place to ask questions such as "What language should I use for X", "what language should I learn", and "what's your favorite language". Such questions should be posted in /c/learn_programming or /c/programming.
This is the right place for posts like the following:
See /r/ProgrammingLanguages for specific examples
What's a struct, but a tuple with some names?
What's computation but state and a transition function between states?
What's computation but a set of functions transformed by simple term rewriting?
Let people enjoy their syntax sugar.
Wasting a perfectly good pair of brackets on some random function call and then suffering for it in many other places sounds more like syntactic salt.
What? I agree with
function[T]
style generics, and would be willing to change the access syntax to something likecontainer.[index]
, as the dot makes the difference quite clear. Or do you mean the approach to implementing a container or the way the compiler has to transform it into the set operation/mutable access? I didn't think that was such a problem, and I quite like the way it is done in rust, but that approach may be unavailable to many languages.That's still a workaround to try and keep a completely artificial distinction alive.
Even if I didn't need
[]
for types, I still wouldn't want "some functions use()
, some functions use[]
" as a language rule.Some functions also don't have any parentheses, like field access or infix operators.
Who wants to write
when they could write
or even
We could follow this line of thinking further and arrive at an ugly haskell-like language without pattern matching (because that is an artificial distinction between data in a record and data that can be derived from a record) or operators and barely more enjoyable to write that lambda calculus.
You call things the way they were defined. Problem solved.
I'm kinda confused, because this is the second time now where your attempt at making a counter argument is actively supporting my point. Is this intentional at your part?
No we don't. If your point relies on Turing-tarpitting the whole discussion ... then you have no point.
What?
We are ultimately arguing about subjective preferences. I favor of certain syntactic sugar because I believe it improves readability while you seem to be arguing for strict consistency above all else.
So by what metric are we measuring our points?
I admit, that was hyperbolic, but I don't see what syntax for data manipulation other than functions would be left in your ideal language.