News for hackers. Stuff that matters.
Re:Nimrod: A New Approach to Metaprogramming [video] by hcarvalhoalves on Thursday January 16, 2014 @04:39PM (#7072722)
1) I'm not a fan of both the name `proc` and `var` because it allows you to mix inplace editing with return values and makes a mess of the (IMO, precise) meanings "function" and "procedure" have.

If I were starting a new language, I wouldn't pass the opportunity of disallowing mixing these concepts, so there's a way to reason about pure functions.

3) I get that, but it feels like something that could've been optimized away by the compiler, they didn't bothered and instead bloated the syntax. Not a fan of the naming too.

4) Just IMHO, but this kind of magic feels out of place on a static language. In something like Python, variable arguments aren't as opaque since there's an underlying object being passed around (a list or a dict), and your arguments can be of any type.

Re:Nimrod: A New Approach to Metaprogramming [video] by rbehrends on Thursday January 16, 2014 @05:29PM (#7072955)
1) Conversely, while Ada used to not allow in out parameters for functions, it is allowed as of Ada 2012 [1]. There's certainly an argument to be made either way. For what it's worth, I'm not a big fan of functions with side effects myself.

3) You can't optimize it away. A compile-time conditional statement has to allow for undefined identifiers and such, but for a runtime conditional statement you want to have the compiler signal an error even if it can statically determine that the condition is always true or false.

[1] http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0143-1...

Re:Nimrod: A New Approach to Metaprogramming [video] by TylerE on Thursday January 16, 2014 @05:14PM (#7072889)
What kind of magic is it, exactly? It's literally building an array just like Python builds a list.