3 ms·
Hardware description languages are not imperative programming languages (even if they might superficially resemble them). That doesn't mean they aren't program
by elihu 12y ago
Hardware description languages are not imperative programming languages (even if they might superficially resemble them). That doesn't mean they aren't programming languages at all -- they just belong to a different category of language.
(I suspect that there's a connection between hardware design and functional programming, but I don't have enough hardware design experience to know how closely the two are related.)
- sklogic 12y agoI'd rather classify HDLs as dataflow languages.
- tel 12y agoConal Elliott, Haskeller of FRP fame, was recently working for a company where he was developing a compiler of functional programming into categorical semantics which is actually quite neatly similar to the layout of a circuit. The company went under, unfortunately, so I'm not sure of the status of his research, but some remarks are available on his blog [0] [1] [2]. Further, there is a notion of a Generalized Arrow [3] which is a useful, advanced functional programming technique which is quite nice for implementing FRP. These are somewhat obviously "wiring diagrams" but are shown to be in correspondence with a more normal "lambda calculus"-like syntax. [0] http://conal.net/blog/posts/haskell-to-hardware-via-cccs http://conal.net/blog/posts/haskell-to-hardware-via-cccs [1] http://conal.net/blog/posts/overloading-lambda http://conal.net/blog/posts/overloading-lambda [2] http://conal.net/blog/posts/optimizing-cccs http://conal.net/blog/posts/optimizing-cccs [3] http://www.megacz.com/berkeley/garrows/ http://www.megacz.com/berkeley/garrows/
- cfsc 12y agoYou have CλaSH [0] based in Haskell developed at University of Twente that has the same goal. [0] http://www.clash-lang.org/ http://www.clash-lang.org/