packages feed

raw-feldspar 0.3 → 0.3.1

raw patch · 3 files changed

+34/−18 lines, 3 filesdep ~arraydep ~constraintsdep ~containers

Dependency ranges changed: array, constraints, containers, data-default-class, data-hash, language-c-quote, mtl, template-haskell

Files

README.md view
@@ -6,15 +6,15 @@  ## Installation -RAW-Feldspar can be installed directly from [Hackage](http://hackage.haskell.org/package/raw-feldspar), preferably in a [sandbox](https://www.haskell.org/cabal/users-guide/installing-packages.html#developing-with-sandboxes):+RAW-Feldspar can be installed directly from [Hackage](http://hackage.haskell.org/package/raw-feldspar): -    cabal install raw-feldspar+    cabal new-install raw-feldspar  The installation can be sped up a bit (and the size of the installation reduced) by adding a flag to `language-c-quote` (a dependency of RAW-Feldspar): -    cabal install --constraint="language-c-quote -full-haskell-antiquotes" raw-feldspar+    cabal new-install --constraint="language-c-quote -full-haskell-antiquotes" raw-feldspar -However, this flag should normally only be used when installing in a sandbox that has no other packages depending `language-c-quote`.+However, this flag is less relevant now with Cabal's Nix-style local builds.  ## Getting started @@ -112,7 +112,7 @@  Note how the whole `sumSq` computation has been fused into a single loop without any array allocation. -## External libraries+## External libraries and uses of RAW-Feldspar  ### Zeldspar @@ -129,6 +129,10 @@ [feldspar-synch](https://github.com/emilaxelsson/feldspar-synch) is a library that extends Feldspar with Yampa-style synchronous streams.  It contains a simple polyphonic synthesizer as a demonstration. The synthesizer may serve as a simple example of a complete (toy) application written in RAW-Feldspar. It also demonstrates how to make bindings to an external C library (the ALSA sound library).++### feldspar-mpeg1-decoder++[feldspar-mpeg1-decoder](https://github.com/mightynerd/feldspar-mpeg1-decoder) is a partially complete MPEG-1 video decoder written in RAW-Feldspar. See also the associated [masters thesis](https://odr.chalmers.se/bitstream/20.500.12380/301392/1/CSE%2020-66%20Heurlin%20Zwierzchowski.pdf).  ## Why RAW-Feldspar? 
raw-feldspar.cabal view
@@ -1,5 +1,5 @@ name:                raw-feldspar-version:             0.3+version:             0.3.1 synopsis:            Resource-Aware Feldspar description:         An implementation of the Feldspar EDSL with focus on                      resource-awareness.@@ -92,20 +92,20 @@     ViewPatterns    build-depends:-    array,+    array < 0.6,     base < 5,-    constraints,-    containers,-    data-default-class,-    data-hash,+    constraints < 0.12,+    containers < 0.7,+    data-default-class < 0.2,+    data-hash < 0.3,     imperative-edsl >= 0.8 && < 0.9,-    language-c-quote,-    mtl,+    language-c-quote < 0.13,+    mtl < 2.3,     operational-alacarte,     prelude-edsl >= 0.4,     syntactic >= 3.8,       -- That version fixes overlap bugs-    template-haskell+    template-haskell < 2.17    if impl(ghc == 8.0.*)     build-depends:@@ -149,7 +149,8 @@     mtl,     raw-feldspar -  ghc-options: -Wno-simplifiable-class-constraints+  if impl(ghc >= 8.0)+    ghc-options: -Wno-simplifiable-class-constraints  test-suite Semantics   type: exitcode-stdio-1.0@@ -172,7 +173,8 @@     tasty-quickcheck,     tasty-th -  ghc-options: -Wno-simplifiable-class-constraints+  if impl(ghc >= 8.0)+    ghc-options: -Wno-simplifiable-class-constraints  test-suite Examples   type: exitcode-stdio-1.0@@ -204,5 +206,6 @@     tasty-hunit,     tasty-quickcheck -  ghc-options: -Wno-simplifiable-class-constraints+  if impl(ghc >= 8.0)+    ghc-options: -Wno-simplifiable-class-constraints 
src/Data/Inhabited/TH.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE CPP #-}+ module Data.Inhabited.TH where  @@ -8,6 +10,13 @@   +mkTupE :: [Exp] -> Exp+#if __GLASGOW_HASKELL__ >= 810+mkTupE = TupE . map Just+#else+mkTupE = TupE+#endif+ inhabitedTupleInstances :: Int -> DecsQ inhabitedTupleInstances n = return     [ instD@@ -20,7 +29,7 @@             (mkName "example")             [ Clause                 []-                (NormalB $ TupE $ map VarE $ replicate w (mkName "example"))+                (NormalB $ mkTupE $ map VarE $ replicate w (mkName "example"))                 []             ]         ]