packages feed

clash-ghc 0.6.22 → 0.6.23

raw patch · 5 files changed

+23/−22 lines, 5 filesdep ~clash-libdep ~clash-preludedep ~clash-systemverilog

Dependency ranges changed: clash-lib, clash-prelude, clash-systemverilog, clash-verilog, ghc-typelits-natnormalise

Files

CHANGELOG.md view
@@ -1,5 +1,10 @@ # Changelog for the [`clash-ghc`](http://hackage.haskell.org/package/clash-ghc) package +## 0.6.23 *August 18th 2015*+* Fixes bugs:+  * Type families are not being reduced correctly  [#167](https://github.com/clash-lang/clash-compiler/issues/167)+  * (System)Verilog: Fix primitives for {Signed,Unsigned} rotateL# and rotateR# [#169](https://github.com/clash-lang/clash-compiler/issues/169)+ ## 0.6.22 *August 3rd 2016* * Fixes bugs:   * Bug in DEC transformation overwrites case-alternatives
clash-ghc.cabal view
@@ -1,5 +1,5 @@ Name:                 clash-ghc-Version:              0.6.22+Version:              0.6.23 Synopsis:             CAES Language for Synchronous Hardware Description:   CλaSH (pronounced ‘clash’) is a functional hardware description language that@@ -94,13 +94,13 @@                       unbound-generics          >= 0.1      && < 0.4,                       unordered-containers      >= 0.2.1.0  && < 0.3, -                      clash-lib                 >= 0.6.20   && < 0.7,-                      clash-systemverilog       >= 0.6.8    && < 0.7,+                      clash-lib                 >= 0.6.21   && < 0.7,+                      clash-systemverilog       >= 0.6.9    && < 0.7,                       clash-vhdl                >= 0.6.16   && < 0.7,-                      clash-verilog             >= 0.6.8    && < 0.7,-                      clash-prelude             >= 0.10.11  && < 0.11,+                      clash-verilog             >= 0.6.9    && < 0.7,+                      clash-prelude             >= 0.10.13  && < 0.11,                       ghc-typelits-extra        >= 0.1.3    && < 0.2,-                      ghc-typelits-natnormalise >= 0.4.3    && < 0.5,+                      ghc-typelits-natnormalise >= 0.4.3    && < 0.6,                       deepseq                   >= 1.3.0.2  && < 1.5,                       time                      >= 1.4.0.1  && < 1.7 
src-ghc/CLaSH/GHC/GHC2Core.hs view
@@ -46,6 +46,7 @@ import qualified Unbound.Generics.LocallyNameless     as Unbound  -- GHC API+import CoAxiom    (CoAxiom (co_ax_branches), CoAxBranch (cab_lhs,cab_rhs), brListMapM) import Coercion   (Coercion (..),Role(..),coercionType,coercionKind,mkCoercionType) import CoreFVs    (exprSomeFreeVars) import CoreSyn    (AltCon (..), Bind (..), CoreExpr,@@ -74,7 +75,7 @@ import TyCon      (AlgTyConRhs (..), TyCon,                    algTyConRhs, isAlgTyCon, isFamilyTyCon,                    isFunTyCon, isNewTyCon,-                   isPrimTyCon, isTupleTyCon,+                   isPrimTyCon, isTupleTyCon, isClosedSynFamilyTyCon_maybe, #if __GLASGOW_HASKELL__ >= 711                    expandSynTyCon_maybe, #else@@ -161,8 +162,12 @@         mkFunTyCon = do           tcName <- coreToName tyConName tyConUnique qualfiedNameString tc           tcKind <- coreToType (tyConKind tc)-          let instances = familyInstances fiEnvs tc-          substs <- mapM famInstToSubst instances+          substs <- case isClosedSynFamilyTyCon_maybe tc of+            Nothing -> let instances = familyInstances fiEnvs tc+                       in  mapM famInstToSubst instances+            Just cx -> let bx = co_ax_branches cx+                       in  brListMapM (\b -> (,) <$> mapM coreToType (cab_lhs b)+                                                 <*> coreToType (cab_rhs b)) bx           return             C.FunTyCon             { C.tyConName  = tcName
src-ghc/CLaSH/GHC/GenerateBindings.hs view
@@ -32,7 +32,7 @@ import           CLaSH.Annotations.TopEntity (TopEntity) import           CLaSH.Core.FreeVars     (termFreeIds) import           CLaSH.Core.Term         (Term (..), TmName)-import           CLaSH.Core.Type         (Type, TypeView (..), coreView, mkFunTy, splitFunForallTy)+import           CLaSH.Core.Type         (Type, TypeView (..), mkFunTy, splitFunForallTy, tyView) import           CLaSH.Core.TyCon        (TyCon, TyConName) import           CLaSH.Core.TysPrim      (tysPrimMap) import           CLaSH.Core.Subst        (substTms)@@ -143,7 +143,7 @@                        $ first (span (\l -> case l of Left _ -> True                                                       _      -> False))                        $ splitFunForallTy ty-    newExpr = case coreView tcm dictTy of+    newExpr = case tyView dictTy of       (TyConApp _ _) -> runFreshM $ flip State.evalStateT (0 :: Int) $ do                           (dcId,dcVar) <- mkInternalVar "dict" dictTy                           selE         <- mkSelectorCase "mkClassSelector" tcm dcVar 1 sel
src-ghc/CLaSH/GHC/NetlistTypes.hs view
@@ -20,8 +20,7 @@ import CLaSH.Core.DataCon               (DataCon (..)) import CLaSH.Core.Pretty                (showDoc) import CLaSH.Core.TyCon                 (TyCon (..), TyConName, tyConDataCons)-import CLaSH.Core.Type                  (Type (..), TypeView (..), findFunSubst,-                                         tyView)+import CLaSH.Core.Type                  (Type (..), TypeView (..), tyView) import CLaSH.Core.Util                  (tyNatSize) import CLaSH.Netlist.Util               (coreTypeToHWType) import CLaSH.Netlist.Types              (HWType(..))@@ -110,14 +109,6 @@           (TyConApp (name2String -> "GHC.Types.Char") []) -> return String           _ -> fail $ "Can't translate type: " ++ showDoc ty -        _ -> case m ! tc of-               -- TODO: Remove this conversion-               -- The current problem is that type-functions are not reduced by the GHC -> Core-               -- transformation process, and so end up here. Once a fix has been found for-               -- this problem remove this dirty hack.-               FunTyCon {tyConSubst = tcSubst} -> case findFunSubst tcSubst args of-                 Just ty' -> ExceptT $ return $ coreTypeToHWType go m ty'-                 _ -> ExceptT Nothing-               _ -> ExceptT Nothing+        _ -> ExceptT Nothing      go _ _ = Nothing