@@ -475,8 +475,15 @@ deriving instance Binary ClassInfo
476-- Syntactic sugar info
476-- Syntactic sugar info
478−data DSL = DSL { dsl_bind :: Name,
478+data DSL = DSL { dsl_bind :: PTerm,
479− dsl_return :: Name }
479+ dsl_return :: PTerm,
482+ index_first :: Maybe PTerm,
483+ index_next :: Maybe PTerm,
484+ dsl_lambda :: Maybe PTerm,
485+ dsl_let :: Maybe PTerm
480 deriving Show
487 deriving Show
482data SynContext = PatternSyntax | TermSyntax | AnySyntax
489data SynContext = PatternSyntax | TermSyntax | AnySyntax
@@ -499,7 +506,15 @@ data SSymbol = Keyword Name
499deriving instance Binary SSymbol
506deriving instance Binary SSymbol
502−initDSL = DSL (UN ">>=") (UN "return")
509+initDSL = DSL (PRef f (UN ">>="))
510+ (PRef f (UN "return"))
512+ (PRef f (UN "pure"))
517+ where f = FC "(builtin)" 0
504data SyntaxInfo = Syn { using :: [(Name, PTerm)],
519data SyntaxInfo = Syn { using :: [(Name, PTerm)],
505 syn_params :: [(Name, PTerm)],
520 syn_params :: [(Name, PTerm)],