-
Notifications
You must be signed in to change notification settings - Fork 0
Types
Andy Gill edited this page May 28, 2015
·
1 revision
-
Shell :: * -> *
-- a top-level effect -
Transform :: * -> * -> *
-- a transformation -
Rewrite :: * -> *
-- a transformation from something to something of the same type -
Name :: *
-- name of a binder
Examples
display :: Shell ()
try :: Rewrite a -> Rewrite a
idR :: Rewrite a
rewrite :: Rewrite ? -> Shell ()
query :: Transformation ? b -> Shell b
Some functions directly use Shell
:
HERMIT> display
Others need promotion functions:
HERMIT> rewrite (try idR)
Others need
HERMIT> query (...)
And other