packages feed

copilot-language 0.3 → 0.4

raw patch · 6 files changed

+30/−55 lines, 6 files

Files

copilot-language.cabal view
@@ -1,6 +1,6 @@ cabal-version:       >=1.10 name:                copilot-language-version:             0.3+version:             0.4 synopsis:            A Haskell-embedded DSL for monitoring hard real-time                      distributed systems. description:         Blah blah blah...
src/Copilot/Language/Analyze.hs view
@@ -15,7 +15,7 @@  import Copilot.Core (DropIdx) import qualified Copilot.Core as C-import Copilot.Language.Stream (Stream (..), FunArg (..))+import Copilot.Language.Stream (Stream (..), Arg (..)) import Copilot.Language.Spec import Copilot.Language.Error (badUsage) @@ -90,8 +90,8 @@   analyzeExpr refStreams e0 >> mapM_ analyzeTriggerArg args    where-  analyzeTriggerArg :: TriggerArg -> IO ()-  analyzeTriggerArg (TriggerArg e) = analyzeExpr refStreams e+  analyzeTriggerArg :: Arg -> IO ()+  analyzeTriggerArg (Arg e) = analyzeExpr refStreams e  -------------------------------------------------------------------------------- @@ -130,7 +130,7 @@                         Nothing -> return ()                         Just e  -> go seenExt nodes' e         checkArgs = case seenExt of -                      NoExtern -> mapM_ (\(FunArg a) -> +                      NoExtern -> mapM_ (\(Arg a) ->                                               go SeenFun nodes' a) args                       SeenFun  -> throw NestedExternFun                       SeenArr  -> throw NestedArray@@ -284,7 +284,7 @@   triggerExts :: ExternEnv -> Trigger -> IO ExternEnv   triggerExts env (Trigger _ guard args) = do     env' <- collectExts refStreams guard env -    foldM (\env'' (TriggerArg arg_) -> collectExts refStreams arg_ env'')+    foldM (\env'' (Arg arg_) -> collectExts refStreams arg_ env'')           env' args  collectExts :: C.Typed a => IORef Env -> Stream a -> ExternEnv -> IO ExternEnv@@ -312,9 +312,9 @@         env' <- case me of                   Nothing -> return env                    Just e  -> go nodes env e-        env'' <- foldM (\env'' (FunArg arg_) -> go nodes env'' arg_)+        env'' <- foldM (\env'' (Arg arg_) -> go nodes env'' arg_)                    env' args -        let argTypes = map (\(FunArg arg_) -> getSimpleType arg_) args +        let argTypes = map (\(Arg arg_) -> getSimpleType arg_) args          let fun = (name, getSimpleType stream)          return env'' { externFunEnv  = fun : externFunEnv env''                      , externFunArgs = (name, argTypes) : externFunArgs env''
src/Copilot/Language/Operators/Extern.hs view
@@ -17,7 +17,6 @@   , externI64   , externF   , externD-  , FunArg   , externFun   , externArray   , externArrayB@@ -31,7 +30,7 @@   , externArrayI64   , externArrayF   , externArrayD-  , funArg+  , funArg -- ^ Deprecated.   ) where  import Copilot.Core (Typed)@@ -46,15 +45,16 @@ extern :: Typed a => String -> Maybe [a] -> Stream a extern = Extern -externFun :: Typed a => String -> [FunArg] -> Maybe (Stream a) -> Stream a+externFun :: Typed a => String -> [Arg] -> Maybe (Stream a) -> Stream a externFun = ExternFun  externArray :: (Typed a, Typed b, Integral a)              => String -> Stream a -> Size -> Maybe [[b]] -> Stream b externArray = ExternArray -funArg :: Typed a => Stream a -> FunArg-funArg = FunArg+-- | Deprecated.+funArg :: Typed a => Stream a -> Arg+funArg = Arg  -------------------------------------------------------------------------------- 
src/Copilot/Language/Reify.hs view
@@ -17,7 +17,7 @@ --import Copilot.Language.Reify.Sharing (makeSharingExplicit) import Copilot.Language.Analyze (analyze) import Copilot.Language.Spec-import Copilot.Language.Stream (Stream (..), FunArg (..))+import Copilot.Language.Stream (Stream (..), Arg (..))  import Prelude hiding (id) import Data.IORef@@ -83,8 +83,8 @@    where -  mkTriggerArg :: TriggerArg -> IO Core.UExpr-  mkTriggerArg (TriggerArg e) = do+  mkTriggerArg :: Arg -> IO Core.UExpr+  mkTriggerArg (Arg e) = do       w <- mkExpr refMkId refStreams refMap e       return $ Core.UExpr typeOf w @@ -181,8 +181,8 @@        ------------------------------------------------------ -  mkFunArg :: FunArg -> IO Core.UExpr-  mkFunArg (FunArg e) = do+  mkFunArg :: Arg -> IO Core.UExpr+  mkFunArg (Arg e) = do       w <- mkExpr refMkId refStreams refMap e       return $ Core.UExpr typeOf w 
src/Copilot/Language/Spec.hs view
@@ -16,7 +16,6 @@   , observer   , observers   , Trigger (..)-  , TriggerArg (..)   , triggers   , trigger   , arg@@ -67,50 +66,26 @@ --------------------------------------------------------------------------------  data Observer where-  Observer-    :: Typed a-    => String-    -> Stream a-    -> Observer+  Observer :: Typed a => String -> Stream a -> Observer  -------------------------------------------------------------------------------- -observer -  :: Typed a-  => String-  -> Stream a-  -> Spec+observer :: Typed a => String -> Stream a -> Spec observer name e = tell [ObserverItem $ Observer name e]  --------------------------------------------------------------------------------  data Trigger where-  Trigger-    :: Core.Name-    -> Stream Bool-    -> [TriggerArg]-    -> Trigger------------------------------------------------------------------------------------data TriggerArg where-  TriggerArg-    :: Typed a-    => Stream a-    -> TriggerArg+  Trigger :: Core.Name -> Stream Bool -> [Arg] -> Trigger  -------------------------------------------------------------------------------- -trigger-  :: String-  -> Stream Bool-  -> [TriggerArg]-  -> Spec+trigger :: String -> Stream Bool -> [Arg] -> Spec trigger name e args = tell [TriggerItem $ Trigger name e args]  -------------------------------------------------------------------------------- -arg :: Typed a => Stream a -> TriggerArg-arg = TriggerArg+arg :: Typed a => Stream a -> Arg+arg = Arg  --------------------------------------------------------------------------------
src/Copilot/Language/Stream.hs view
@@ -2,15 +2,15 @@ -- Copyright © 2011 National Institute of Aerospace / Galois, Inc. -------------------------------------------------------------------------------- --- |+-- | Abstract syntax for streams and operators.  {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE Rank2Types #-}  module Copilot.Language.Stream-  ( Stream (..)-  , FunArg (..)+  ( Stream (..) +  , Arg (..)    ) where  import Copilot.Core (Typed, typeOf)@@ -30,7 +30,7 @@   Extern      :: Typed a               => String -> Maybe [a] -> Stream a   ExternFun   :: Typed a -              => String -> [FunArg] -> Maybe (Stream a) -> Stream a+              => String -> [Arg] -> Maybe (Stream a) -> Stream a   ExternArray :: (Typed a, Typed b, Integral a)               => String -> Stream a -> Int -> Maybe [[b]] -> Stream b   Local       :: (Typed a, Typed b) @@ -46,8 +46,8 @@  -------------------------------------------------------------------------------- -data FunArg where-  FunArg :: Typed a => Stream a -> FunArg+data Arg where+  Arg :: Typed a => Stream a -> Arg  --------------------------------------------------------------------------------