Comments (3)
Given this a second thought today. Possible reason why it's still slow is because a lot of the code still uses Constr
instead of Constr'
and we're calling fromConstr
and toConstr'
in a lot of places. This wil mean we're still pattern matching on N-ary sums directly (just in some other ismorphic form that also requires the compiler to type-check exhaustiveness?)
Perhaps we should rewrite match
and inj
to use Constr'
directly; instead of Constr
edit: Oh wait, but just compiling from
and to
is already slow... so that can't be it :/
from generics-mrsop.
There is also the package freer-simple
, which seems better maintained, in case you want to add a dependency on a package.
from generics-mrsop.
Branch victor-efficient-NS
compiles just fine with
data NS :: (k -> *) -> [k] -> * where
NS :: (IsNat n) => Constr' xs n -> p (Lkup n xs) -> NS p xs
newtype Constr' (xs :: [k]) (n :: Nat)
= Constr' { unConstr' :: Word }
But this does not fix the memory usage issue.
from generics-mrsop.
Related Issues (20)
- Create pattern synonyms for `Tag` automatically
- Implement Attribute Grammars HOT 8
- TH Generates dupicate pattern synonyms if type is in AST multiple times HOT 1
- GHC 8.4.3 triggers GHC Bug during Haddock generations :( HOT 3
- Use Generic Generic Programming to avoid Template Haskell? HOT 2
- Fix is AnnFix HOT 1
- Depend on sop-core HOT 14
- Change Eq1 and Show1 names HOT 1
- Drop Monad constraint on mapNPM and friends HOT 1
- Slightly tweak Rep and Fix for pedagogical reasons HOT 5
- Can only derive one datatype per module HOT 4
- Hide examples from documentation
- Make Attribute Grammar combinators monadic HOT 1
- Bring Treefixes into mrsop. HOT 1
- GHC 8.4.3 crashes with hs-elisp parser. HOT 2
- Better Naming Framework for TH code
- Use `th-abstraction`
- Bring back `ShowHO` and `EqHO` as we had before HOT 3
- Rename Holes constructors; make it standard HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
đ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. đđđ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google â¤ī¸ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from generics-mrsop.