@@ -475,8 +475,15 @@ deriving instance Binary ClassInfo
475475
476476-- Syntactic sugar info
477477
478−data DSL = DSL { dsl_bind :: Name,
479− dsl_return :: Name }
478+data DSL = DSL { dsl_bind :: PTerm,
479+ dsl_return :: PTerm,
480+ dsl_apply :: PTerm,
481+ dsl_pure :: PTerm,
482+ index_first :: Maybe PTerm,
483+ index_next :: Maybe PTerm,
484+ dsl_lambda :: Maybe PTerm,
485+ dsl_let :: Maybe PTerm
486+ }
480487 deriving Show
481488
482489data SynContext = PatternSyntax | TermSyntax | AnySyntax
@@ -499,7 +506,15 @@ data SSymbol = Keyword Name
499506deriving instance Binary SSymbol
500507!-}
501508
502−initDSL = DSL (UN ">>=") (UN "return")
509+initDSL = DSL (PRef f (UN ">>="))
510+ (PRef f (UN "return"))
511+ (PRef f (UN "<$>"))
512+ (PRef f (UN "pure"))
513+ Nothing
514+ Nothing
515+ Nothing
516+ Nothing
517+ where f = FC "(builtin)" 0
503518
504519data SyntaxInfo = Syn { using :: [(Name, PTerm)],
505520 syn_params :: [(Name, PTerm)],