clash-lang / clash-prelude

CLaSH prelude library containing datatypes and functions for circuit design
http://www.clash-lang.org/
Other
31 stars 27 forks source link

Add Undefined instances #156

Closed basile-henry closed 6 years ago

leonschoorl commented 6 years ago

Clash will not be able to compile the Seq type. So I don't think it's a good idea to add that instance and an extra dependency to clash-prelude.

basile-henry commented 6 years ago

Yeah fair enough, that's the main reason I split those in two commits. I can remove the Seq one. It would be useful for me to have it but I guess I can live with an orphan instance. I don't think the extra dependency is an issue, containers is already a transient dependency (I based the constraint bounds on what lens uses) since clash-prelude already depends on lens.

thoughtpolice commented 6 years ago

There's plenty of code in prelude Clash won't be able to synthesize already, including a lot of instances, aren't there? The primary reason you might want this instance, to me, seems like simulation testing, or sampling something inside the REPL. I'm not sure it's anymore harmful than any other instance; you can even comment the instance and mark it as non-synthesizable.