Clash 1.4 released

We’ve just released Clash 1.4 to the world. We’ve summarized the most important changes in this blogpost.

Clash 1.2.2 and future plans

Last Friday we released Clash 1.2.2 on GitHub. In big part thanks to our lovely community, we’ve found and fixed many bugs. Thanks to some patches, Clash even runs anywhere from 2-20% faster for some common design patterns! With this blogpost I’d like to highlight some of the progress we’ve made since the 1.2 release, and elaborate on our future plans.

Clash 1.2 released

As promised when releasing 1.0, we’ve tried our best to keep the API stable. We think most designs will continue to compile with this new version, although special care needs to be taken when using:

  • ..inline blackboxes. Instead of taking a single HDL, inline primitives now take multiple. For example, InlinePrimitive VHDL ".." must now be written as InlinePrimitive [VHDL] "..".

  • ..the Enum instance for BitVector, Index, Signed, or Unsigned, as they now respect their maxBound. See #1089.

Clash 1.0 released!

It’s here! Clash 1.0 is finally released! And it has a binary release for the very first time! Check out the install instructions instructions on how to get it!

10 years old

First a short retrospective: the very first demonstration of the Clash compiler was given on the 3rd of September 2009 at the Haskell'09 Symposium in Edinburgh:

We were planning the 1.0 release of Clash for some time now, but decided that such a momentous occasion should coincide with the 10 year anniversary of Clash (+1 day due to release engineering mishaps). We really want to thank all of our contributors for their continued support of Clash. The code contributors that invest their time to create new features and fix bugs, and the financial contributors that enable the core Clash developers to work on Clash as their day job. Much praise for our users as well, who’ve struggled through our API changes over the years (which should happen much, much, less from now on), who helped us pinpoint many bugs and thus making Clash a more stable piece of software.

New website!

Welcome to the new Clash website! While the old website served us well, we wanted to have support for a blog: go check out our first two posts on matrix multiplication and systolic arrays.

We wanted a static website for all the usual reasons (speed, security, etc), and decided to use hugo because:

  • It’s popular, and consequently has many resources on how to customize and setup a site.
  • Is simple to install because it’s a single statically compiled binary.
  • It has a lot of features, including i18n support which we eventually want to use to have translated versions of our blog posts.

We’re using netlify to host the website because: