Hacker News new | ask | show | jobs
by throwaway17_17 907 days ago
There was an article on the front page of HN yesterday about Chisel, which was described as a HDL (or a HDL-generating language) based on Scala. I looked at the docs for Chisel and have just looked at the Pong sample chapter for Clash. These seem wildly different to me, but I think maybe I’m just very much more familiar with Haskell syntax and so I feel like I grok Clash, but don’t get Chisel.

So if anyone knows, do both of these languages do the same thing or is there another angle I need to evaluate them through?

1 comments

As described in my other comment, Clash is not like Chisel in that Clash compiles Haskell source code directly, while Chisel is an EDSL (in Scala)

Since you’re more familiar with Haskell, perhaps have a look at Blarney: https://github.com/blarney-lang/blarney/blob/master/Doc/ByEx... It’s an actively maintained EDSL for circuit design using Haskell as its host language.

Okay, at first, I was amused with the acronym's similarity to a certain Ford model that... didn't last too long on the market. I've snarked on things like this before, and been downvoted, likely for adding little else to the conversation, so I was going to give this one a miss.

Still, I was curious, so I fed it to the Duck, and got links like:

https://www.edsl.net/

https://www.insystechinc.com/edsl/

Not what was meant, I suspected, which is when I started this reply, and then remembered that other search site everyone seems to like. A search there finally brought up this:

https://wiki.c2.com/?EmbeddedDomainSpecificLanguage

which provided the answer I'm pretty sure I was seeking.

So, for all the rest of us less-enlightened visitors who might not actually know, I believe that EDSL (in this case) means:

Embedded Domain Specific Language