packages feed

CSPM-CoreLanguage 0.2.0.3 → 0.3.0.0

raw patch · 6 files changed

+35/−19 lines, 6 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ CSPM.CoreLanguage: coreLanguageVersion :: Version
+ CSPM.CoreLanguage.Event: instance Typeable1 TTE
+ CSPM.CoreLanguage.Process: instance Typeable1 Process

Files

CSPM-CoreLanguage.cabal view
@@ -1,5 +1,5 @@ Name:                CSPM-CoreLanguage-Version:             0.2.0.3+Version:             0.3.0.0 Synopsis:            Definition of a FDR-compatible CSP core-language.  Description:   This package contains an interface for a CSP core-language.@@ -15,9 +15,8 @@ License-File:        LICENSE Author:              2010 - 2011 Marc Fontaine Maintainer:          Marc Fontaine <fontaine@cs.uni-duesseldorf.de>-Homepage:            http://www.stups.uni-duesseldorf.de/~fontaine/csp Stability:           experimental-Tested-With:         GHC == 7.0.2+Tested-With:         GHC == 7.0.3 Cabal-Version:       >= 1.10 Build-Type:          Simple @@ -34,3 +33,5 @@     CSPM.CoreLanguage.Process     CSPM.CoreLanguage.ProcessWrapper     CSPM.CoreLanguage.Field+  Other-Modules:+    Paths_CSPM_CoreLanguage
src/CSPM/CoreLanguage.hs view
@@ -17,6 +17,7 @@  ,module CSPM.CoreLanguage.ProcessWrapper  ,module CSPM.CoreLanguage.Event  ,module CSPM.CoreLanguage.Field+ ,coreLanguageVersion ) where @@ -26,3 +27,9 @@ import CSPM.CoreLanguage.Event (BE) import CSPM.CoreLanguage.Field hiding (BF (..)) import CSPM.CoreLanguage.Field (BF)+import Paths_CSPM_CoreLanguage (version)+import Data.Version++-- | The version of the CSPM-CoreLangugage library+coreLanguageVersion :: Version+coreLanguageVersion = version
src/CSPM/CoreLanguage/Event.hs view
@@ -10,16 +10,19 @@ -- -- This modules defines the event-related part of an interface between  -- the CSPM-CoreLanguage and the underlying implementation.--- The underlying implementation has to instantiate the type-families 'Event', 'EventSet'--- and 'RenamingRelation' and the class 'BE' ('BE'== base event).+-- The underlying implementation has to instantiate the type-families 'Event',+-- 'EventSet', 'RenamingRelation'+-- and the class 'BE' ('BE'== base event). --  -- For full CSPM-support (channels with multiple fields, event closure sets etc.) -- CSPM.CoreLanguage.Field is also needed. ----------------------------------------------------------------------------- {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-}  module CSPM.CoreLanguage.Event where+import Data.Typeable  type family Event i type family EventSet i@@ -58,6 +61,7 @@   = TickEvent   | TauEvent   | SEvent (Event i)+  deriving Typeable  class ShowEvent i where showEvent :: i -> String class ShowTTE i where showTTE :: i -> String
src/CSPM/CoreLanguage/Field.hs view
@@ -1,15 +1,15 @@ ----------------------------------------------------------------------------- -- | -- Module      :  CSPM.CoreLanguage.Field--- Copyright   :  (c) Fontaine 2010+-- Copyright   :  (c) Fontaine 2010 - 2011 -- License     :  BSD --  -- Maintainer  :  fontaine@cs.uni-duesseldorf.de -- Stability   :  experimental -- Portability :  GHC-only ----- This modules extends 'BE' for languages that also support multi-field-events and--- event-closure sets.+-- This modules defines the class 'BF' for versions of CSP+-- that also support multi-field-events and event-closure sets. ----------------------------------------------------------------------------- {-# LANGUAGE TypeFamilies #-} 
src/CSPM/CoreLanguage/Process.hs view
@@ -1,7 +1,7 @@ ----------------------------------------------------------------------------- -- | -- Module      :  CSPM.CoreLanguage.Process--- Copyright   :  (c) Fontaine 2010+-- Copyright   :  (c) Fontaine 2011 -- License     :  BSD --  -- Maintainer  :  fontaine@cs.uni-duesseldorf.de@@ -13,11 +13,15 @@ -- but abstracts, e.g. from the underlying functional programming language. -- -- The implementation of the underlying language--- must provide instances for the type families 'Prefix' and 'ExtProcess' and class 'BL'.+-- must provide instances for the type families 'Prefix', 'ExtProcess'+-- and class 'BL'. ----------------------------------------------------------------------------- {-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE DeriveDataTypeable #-} -module CSPM.CoreLanguage.Process where+module CSPM.CoreLanguage.Process+where+import Data.Typeable  import CSPM.CoreLanguage.Event @@ -28,8 +32,8 @@ type family ExtProcess i  class (BE i) => BL i where-  -- | Try to perform an 'Event' return the successor 'Process' or Nothing if the event is-  -- not possible.+  -- | Try to perform an 'Event' return the successor 'Process' or Nothing+  --   if the event is not possible.   prefixNext :: Prefix i -> Event i -> Maybe (Process i)   switchOn :: ExtProcess i -> Process i @@ -61,6 +65,7 @@   | Renaming (RenamingRelation i) (Process i)   | LinkParallel (RenamingRelation i) (Process i) (Process i)   | Exception (EventSet i) (Process i) (Process i)+  deriving Typeable  isOmega :: Process i -> Bool isOmega Omega = True
src/CSPM/CoreLanguage/ProcessWrapper.hs view
@@ -47,7 +47,6 @@   -> Process i -> Process i   -> Process i aparallel = AParallel---aparallel a1 a2 p1 p2 = RepAParallel [(a1,p1),(a2,p2)]  seq :: Process i -> Process i -> Process i seq = Seq@@ -87,19 +86,19 @@  repAParallel :: [(EventSet i,Process i)] -> Process i repAParallel l = case l of-  [] -> error "ProcessWrapper : empty repAParallel"+  [] -> error "ProcessWrapper.hs: empty repAParallel"   [(_,p)] -> p---  [(c1,p1),(c2,p2)] -> aparallel c1 c2 p1 p2 -- takes longer than generic version ?   _ -> RepAParallel l  repSharing :: EventSet i -> [Process i] -> Process i-repSharing _ [] = error "ProcessWrapper.hs : empty repSharing"+repSharing _ [] = error "ProcessWrapper.hs: empty repSharing" repSharing _ [p] = p repSharing c l = foldr1 (\a b -> sharing a c b) l  repLinkParallel :: RenamingRelation i -> [Process i] -> Process i-repLinkParallel _ [] = error "ProcessWrapper.hs : empty repLinkParallel"-repLinkParallel _ [_] = error "ProcessWrapper.hs : repLinkParallel over one process"+repLinkParallel _ [] = error "ProcessWrapper.hs: empty repLinkParallel"+repLinkParallel _ [_]+  = error "ProcessWrapper.hs: repLinkParallel over one process" repLinkParallel rel l = foldr1 (\a b -> linkParallel rel a b) l  chaos :: EventSet i -> Process i