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.
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.
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.
which can be called via:
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:
But since Gluon is strict, there's a pretty important difference between the two.)