retroclash-lib
Library code for upcoming RetroClash book (by gergoerdi)
Metamorphosis
TemplateHaskell functions to generate types and converter function. (by maxigit)
retroclash-lib | Metamorphosis | |
---|---|---|
2 | 2 | |
9 | 18 | |
- | - | |
4.5 | 3.5 | |
25 days ago | 4 months ago | |
Haskell | Haskell | |
MIT License | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
retroclash-lib
Posts with mentions or reviews of retroclash-lib.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-08-27.
-
A pattern for accumulating "pieces" of a product type?
Here's one I made earlier: https://github.com/gergoerdi/retroclash-lib/blob/master/src/RetroClash/CPU.hs
-
Permutate parsers, don't validate
I have very good experience with Barbies (and barbes-th, its companion Template Haskell package to generate Barbie types from normal ADTs), although not for this exact use case. But to give you a glimpse of a similar situation, here I am using Barbies to update a record of (pure) values with a record of (Last) edits:
Metamorphosis
Posts with mentions or reviews of Metamorphosis.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-08-27.
-
Can you merge multiple product types into one product type?
metamorphosis can do that type of stuff (I'm the author). It uses TH and generates for the type AB as well as all sort of functions to convert between 'AB', 'A', and 'B'. You can look at the "many to many" example there. Let me know if you have any question.
-
A pattern for accumulating "pieces" of a product type?
You can have a look at the barbies package or my package Metamorphosis which generates automatically the new type and the traverse function.
What are some alternatives?
When comparing retroclash-lib and Metamorphosis you can also consider the following projects:
clash-ghc - Haskell to VHDL/Verilog/SystemVerilog compiler
clash-compucolor2 - Clash implementation of the Compucolor II home computer
clash-calculator - FPGA desktop calculator for seven-segment display and keypad, written in Clash
yieldfsm - YieldFSM, a DSL for describing finite state machines in Clash