clash 0.1 → 0.1.0.1
raw patch · 4 files changed
+19/−13 lines, 4 filesdep ~data-accessordep ~ghcdep ~transformerssetup-changedPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: data-accessor, ghc, transformers
API changes (from Hackage documentation)
Files
- CLasH/Normalize.hs +10/−5
- Setup.hs +0/−2
- Setup.lhs +3/−0
- clash.cabal +6/−6
CLasH/Normalize.hs view
@@ -216,10 +216,15 @@ -- body consisting of a bunch of nested lambdas containing a -- non-function value (e.g., a complete application). eta :: Transform-eta c expr | is_fun expr && not (is_lam expr) && all (== LambdaBody) c = do- let arg_ty = (fst . Type.splitFunTy . CoreUtils.exprType) expr- id <- Trans.lift $ mkInternalVar "param" arg_ty- change (Lam id (App expr (Var id)))+eta (AppFirst:_) expr = return expr+-- Also don't apply to arguments, since this can cause loops with+-- funextract. This isn't the proper solution, but due to an+-- implementation bug in notappargs, this is how it used to work so far.+eta (AppSecond:_) expr = return expr+eta c expr | is_fun expr && not (is_lam expr) = do+ let arg_ty = (fst . Type.splitFunTy . CoreUtils.exprType) expr+ id <- Trans.lift $ mkInternalVar "param" arg_ty+ change (Lam id (App expr (Var id))) -- Leave all other expressions unchanged eta c e = return e @@ -947,7 +952,7 @@ -- What transforms to run? transforms = [ ("inlinedict", inlinedict) , ("inlinetoplevel", inlinetoplevel)- , ("inlinenonrepresult", inlinenonrepresult)+ -- , ("inlinenonrepresult", inlinenonrepresult) , ("knowncase", knowncase) , ("classopresolution", classopresolution) , ("argprop", argprop)
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
+ Setup.lhs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+> import Distribution.Simple+> main = defaultMain
clash.cabal view
@@ -1,5 +1,5 @@ name: clash-version: 0.1+version: 0.1.0.1 build-type: Simple synopsis: CAES Language for Synchronous Hardware (CLaSH) description: CLaSH is a tool-chain/language to translate subsets of@@ -19,11 +19,11 @@ Cabal-Version: >= 1.2 Library- build-depends: ghc >= 6.12, pretty, vhdl > 0.1, haskell98, syb,- data-accessor, containers, base >= 4 && < 5, transformers,- filepath, template-haskell, data-accessor-template,- data-accessor-transformers, prettyclass, directory, - tfp, th-lift, time+ build-depends: ghc >= 6.12 && < 6.13, pretty, vhdl > 0.1, haskell98, syb,+ data-accessor >= 0.2.1.3, containers, base >= 4 && < 5, + transformers >= 0.2, filepath, template-haskell, + data-accessor-template, data-accessor-transformers, + prettyclass, directory, tfp, th-lift, time exposed-modules: CLasH.HardwareTypes CLasH.Translator