HNHacker News
TopNewBestAskShowJobs

nox_

107 karma · joined March 27, 2012

submissionscomments
nox_··on Rust 1.34.0
Cf. `try` becoming a keyword, when there are hundreds of calls to a method named `try` in Servo, one of the largest Rust projects in existence.
nox_··on The Piston image library is now pure Rust
The inflate crate is absolutely devoid of tests and full of unsafe code though, so the foundations of all of that are quite weak.
nox_··on Recursive Anonymous Functions in Elixir: Combinators and Macros
I implemented them in R17. José doesn't dislike them but doesn't have a syntax that fits Elixir for them, given parens around arguments of a lambda are optional.
nox_··on Phoenix 1.0
I have rarely read things that were that much wrong. Just because the code can be represented as a data structure, or just because the compiler is written in its own language, that doesn't make a language homoiconic.
nox_··on The Unix Philosophy and Elixir as an Alternative to Go
Erlang is not homoiconic. Did you mean Elixir? Neither are anyway.
nox_··on Isomorphic JavaScript with React and Node
Metaphors make sense, that reusing of isomorphism doesn't, however you quote Greek words to justify your means.
nox_··on Isomorphic JavaScript with React and Node
Isomorphism was already a word before Nodejitsu abused it. Your examples are acronyms and abbreviations.

Nevermind that this concept is not even worth a name.

nox_··on Isomorphic JavaScript with React and Node
In which universe is polymorphism the opposite of isomorphism? Couldn't we just have said "JavaScript that runs everywhere" instead of trying to sound educated?
nox_··on The reason people burn out on open source
Replying with an attack and closing comments is definitely something a douchebag would do. Free or opensource doesn't mean you get to be irresponsible about what you release or maintain, if your project has some caveats they should be listed explicitly.
nox_··on Stuff Goes Bad: Erlang in Anger
You introduced a closure there. Bindings set in if, case, receive, etc will spill in their surrounding environment. Obviously they won't spill outside closures without mutable terms, which BEAM lacks.

The bits about SSA transformation needed to be done by hand in Erlang are a bit fun, because that's considered a feature in the Erlang realm.

The scoping rules aren't the same for the very reason you dismiss as an implementation detail.

Scare quotes: http://en.wikipedia.org/wiki/Scare_quotes

nox_··on Stuff Goes Bad: Erlang in Anger
You can. And even if you couldn't, what I mentioned is still different scoping rules, whether you put scare quotes or not.
nox_··on Stuff Goes Bad: Erlang in Anger
Variables in Elixir can be rebound, and there are no unsafe variables at all in Elixir.
nox_··on Stuff Goes Bad: Erlang in Anger
Sharing a common subset does not make them "fundamentally the same language".
nox_··on Stuff Goes Bad: Erlang in Anger
Quotes don't magically let you say wrong things.
nox_··on Stuff Goes Bad: Erlang in Anger
When two languages have different scoping rules, they don't have the same semantics. When two languages differ in their opinion about macros, they don't have the same semantics.

When two languages have different semantics, they are different languages.

And finally, when two languages have fundamentally different syntaxes, the idioms promoted by their creators differ, and thus problems are solved in different ways.

They are not fundamentally the same language, no.

nox_··on Elixir Release v1.0.0
Syntax is the least of your worries when learning a new language. Elixir isn't Ruby. Some new projects may be developed in Elixir but it will never supplant Erlang.
nox_··on Elixir Release v1.0.0
Hah, yeah, let's port everything for no obvious reason.
nox_··on How I Start: Elixir
Elixir's compiler emits Erlang forms, and then relies on OTP's Erlang's compiler. It is not a direct process.
nox_··on How I Start: Elixir
> - Elixir compiles directly to Erlang byte code

No, it compiles to Erlang. Which is then compiled by the Erlang compiler.

nox_··on Erlang and code style
For the terse badmatch error and such, you might be interested in Shippai:

https://github.com/nox/shippai

nox_··on You already use Lisp syntax
Why was this downvoted when it clearly shows how this article is misguided? Just because a language uses parentheses for some of its constructions doesn't mean we can call Lisp syntax.
nox_··on Type checking in Python
Too bad that this isn't type checking in the traditional sense though. That's just runtime tag checking.
nox_··on GitHub Language Trends
"Tries" is the operative word here. There is a documented history of utter incompetence in Linguist.
nox_··on Pass: The standard unix password manager
And what exactly is standard about this?
nox_··on GitHub's language detection is broken
> C++ gets often recognized as C.

The disambiguation test for C++ headers is ridiculous:

      matches << Language["C++"] if data.include?("#include <cstdint>")
nox_··on GitHub's language detection is broken
There is no unicity check anymore; I just kept the first one special because some private code at GitHub seems to rely on the primary_extension property for the Gist editor. As I can't hack this (it is private), I can't remove it entirely.
nox_··on GitHub's language detection is broken
Except that primary_extension does not serve any purpose.
nox_··on GitHub's language detection is broken
Do you mean, a fix like https://github.com/github/linguist/pull/985?
nox_··on GitHub's language detection is broken
> My understanding is that primary_extension is simply used to short circuit analysis when it's unique to a language.

No, the primary_extension is only used in a gists_helper.rb file outside the Linguist repos. Note that the feature is deprecated anyway.

https://github.com/github/linguist/blob/master/lib/linguist/...

nox_··on Intro to Haskell for Erlangers
Yes, Erlang patterns are non-linear, Haskell has view patterns. Neither are more powerful than the other. They are just different.

Erlang non-linear patterns fit more with the semantics of match where an already bound name isn't shadowed, view patterns fit well into Haskell because of the ensured purity.

Page 1 of 2Next →