HN user

Miky

152 karma
Posts2
Comments67
View on HN

In both Gluon and Haskell, functions without arguments can be represented as functions over the unit type:

  f: () -> SomeType
which can be called via:
  f ()
There are examples of this in the Gluon book (http://gluon-lang.org/book/syntax-and-semantics.html). There are no syntax-related difficulties at all here. This is also how it's done in OCaml and related languages.

(Note: This is (basically) useless in Haskell, since laziness makes this have the same semantics as a constant:

  f :: SomeType
But since Gluon is strict, there's a pretty important difference between the two.)

Just because a piece of culture isn't exactly to your particular taste doesn't mean it shouldn't be preserved and it should be impossible for anyone to experience it in the future. And besides, that's a really selective and disingenuous generalization of Flash. There are a huge number of important, interesting Flash games that are worth preserving for history's sake.

Analog Computers 9 years ago

Obviously. But good luck implementing a human-comprehensible analog differential equation solver on one, without the help of a genetic algorithm, that doesn't depend (as Adrian Thompson's circuit did) on the temperature, the quirks of that specific board, and the effect of components which aren't even physically wired to it.

The difference isn't that FPGAs don't operate on analog voltages deep down (who said they don't?). The difference is in the set of tools and tolerances they give you, and in that sense FPGAs are only an analog coprocessor in the sense that a car can, technically, be used as a sailboat.

Analog Computers 9 years ago

Not really. FPGAs are fundamentally digital and pretty much give you a bunch of logic gates to work with ("Field-Programmable Gate Array"). The author's proposed architecture would instead provide an array of components that perform analog operations, such as summing, multiplication, and integration or differentiation, over analog voltages.

Once you've figured out on paper that 1 + 1 = 2, you don't necessarily have to put one apple next to one apple and count two apples to “complete the exercise.”

Really? You're really saying that people should not care about rampant sexism in the gaming industry just because some people have it worse? I suppose we should stop working to help poor families in the first world because people starving in third world countries have it much worse.

I was just trying to say that if using “Mr.” is becoming the norm in French, then it is becoming correct. I don't know if this is actually the case.

This article reminds me quite a bit of linguistic prescriptivism and descriptivism.

Many people like to pretend that there's some platonic, right form of language. Splitting an infinitive is wrong, ending a clause with a preposition is wrong, using pronouns in the accusative case as a subject (“Me and her do this”) or a predicate nominative (“It's me”) is wrong. This attitude reflects the same stubborn insistence on being right instead of pragmatic. The reality is that language changes over time and is defined by usage, so Those arguing that a common usage is incorrect are wrong by definition.

My issue is not with Roy. It's absolutely fantastic to have a functional language that compiles to JavaScript.

My issue is with the use of monads in particular, and I think my comment pretty well communicates that it's solely about that. I don't think it conveys a false impression about Roy as a whole at all.

Your statement that my comment "can at best be seen as attention-seeking behavior and at worst as an underhanded FUD tactic to turn people off the project" is just absolutely ridiculous. I have nothing against the project Roy, and I wish it nothing but success. Why would I possibly have any motivation to use underhanded FUD tactics to turn people off the project? And I don't even know what to say to your accusation of attention-seeking behavior. In what world is initiating a productive discussion about an important issue, and not in a self-promoting way at all, "attention-seeking behavior"? Get off your high horse.

I never said monads are made useless in a language with unrestricted side effects. I understand very well their utility even in the presence of side effects.

However, if you'll take a look at the example monad code, the bind and return methods themselves use side effects. I think that speaks for itself.

It makes me sad that having monad sugar is now just a given feature for a functional language.

Especially when that language has unrestricted side effects and the example code using the monad syntax uses those side effects, completely obviating the need for, and in fact rendering useless, monads as used in the example.

This is cargo cult programming at its worst. Including monad sugar because it's the thing to do, without even understanding what monads are or why they're useful. This is quite clear from the "tracing monad" example code. This "tracing monad" is like the Writer monad, stripped of all utility and sense.

What drove you to unleash this horror on the programming masses, Moggi? Why have you cursed us so?

The language was not designed by chance. Some of the syntax was designed by chance. “Some of the syntax” is a very tiny part of a language.

While this is interesting, presenting it as a “randomly-generated language” is extremely misleading.

I think you'd find it pretty difficult to find an atheist who claims to strictly know with any kind of certainty that no gods/creators/things outside the universe exist (except maybe Hawking, but he's definitely not representative). Sure, plenty of people claim to know with certainty that specific religions are false, but there's a big difference between the two that is often confused and glossed over by people making the argument you're making.

A programmer should, by that logic, see the complexity of God and see that He cannot be the product of chance.

Perfect, omnipotent beings don't just appear by chance. Where did He come from?

Why Not Haskell? 15 years ago

Have you seen all the libraries up on Hackage? Haskell probably has way more real-world stuff than you think.

If Turing-completeness is the kind of powerful you're talking about, then Qi's would be more powerful. However, if you're talking about the amount of things the type system can verify, a Turing-complete type system would be subject to the halting problem, and thus is less powerful in that way.

And it looks like Qi's type system is optional. If your only definition of type system power is Turing completeness, then sure, it's powerful, but it can't accomplish the same kinds of verification as Agda, etc.

Dart language 15 years ago

He's not saying it's immoral of Google or anything, just that it doesn't help the rest of the programming world.