Changeset 12179 for src/Pugs/Val

Show
Ignore:
Timestamp:
08/13/06 06:53:47 (2 years ago)
Author:
gaal
Message:

* parameterize Capt (now spelt that way again) over Exp for runtime

or Val for parsetime.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Val/Code.hs

    r12153 r12179  
    6262-- | AST for function signature. Separated to method and function variants 
    6363--   for ease of pattern matching. 
    64 type Sig = PureSig 
    65 data PureSig 
     64data Sig 
    6665    = SigMethSingle 
    6766        { s_invocant                  :: Param 
     
    8988    deriving (Show, Eq, Ord, Data, Typeable) {-!derive: YAML_Pos, Perl6Class, MooseClass!-} 
    9089 
     90type PureSig = Sig 
    9191 
    9292-- | Single parameter for a function/method, e.g.: 
     
    122122-------------------------------------------------------------------------------------- 
    123123 
    124 -- | Capture. 
    125 data Cap  
     124-- | a Capture is a frozen version of the arguments to an application. 
     125data Capt a 
    126126    = CaptMeth 
    127         { c_invocant :: Exp 
    128         , c_argstack :: [Arglist] 
     127        { c_invocant :: a 
     128        , c_argstack :: [Arglist a] 
    129129        } 
    130130    | CaptSub 
    131         { c_argstack :: [Arglist] 
     131        { c_argstack :: [Arglist a] 
    132132        } 
    133133    deriving (Show, Eq, Ord, Data, Typeable) {-!derive: YAML_Pos, Perl6Class, MooseClass!-} 
    134134 
    135 data Arglist = MkArglist 
    136     { a_positional :: [Exp] 
    137     , a_named      :: Map Ident [Exp] 
     135-- | non-invocant arguments. 
     136data Arglist a = MkArglist 
     137    { a_positional :: [a] 
     138    , a_named      :: Map Ident [a]   -- ^ maps to [a] and not a since if the Sig stipulates 
     139                                      --   @x, "x => 1, x => 2" constructs @x = (1, 2). 
    138140    } 
    139141    deriving (Show, Eq, Ord, Data, Typeable) {-!derive: YAML_Pos, Perl6Class, MooseClass!-} 
    140142 
     143 
     144-- | Runtime Capture with dynamic Exp for leaves 
     145type ExpCapt = Capt Exp 
     146-- | Static Capture with Val for leaves 
     147type ValCapt = Capt Val 
     148 
    141149type Exp = () -- XXX bogus