packages feed

syntactic 0.2 → 0.2.0.1

raw patch · 3 files changed

+13/−6 lines, 3 files

Files

Examples/MuFeldspar/Core.hs view
@@ -1,6 +1,8 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE UndecidableInstances #-}
Language/Syntactic/Features/Binding.hs view
@@ -65,15 +65,18 @@     -> AST (Lambda :+: Variable :+: dom) b     -> Reader [(VarId,VarId)] Bool -eqLambdaM (project -> Just (Variable v1)) (project -> Just (Variable v2)) = do+-- eqLambdaM (project -> Just (Variable v1)) (project -> Just (Variable v2)) = do  -- Not accepted by GHC-6.12+eqLambdaM (Symbol (InjectR (InjectL (Variable v1)))) (Symbol (InjectR (InjectL (Variable v2)))) = do     env <- ask     case lookup v1 env of       Nothing  -> return (v1==v2)   -- Free variables       Just v2' -> return (v2==v2')  eqLambdaM-    ((project -> Just (Lambda v1)) :$: a1)-    ((project -> Just (Lambda v2)) :$: a2)+--     ((project -> Just (Lambda v1)) :$: a1)+--     ((project -> Just (Lambda v2)) :$: a2)  -- Not accepted by GHC-6.12+    (Symbol (InjectL (Lambda v1)) :$: a1)+    (Symbol (InjectL (Lambda v2)) :$: a2)       = local ((v1,v2):) $ eqLambdaM a1 a2  eqLambdaM (f1 :$: a1) (f2 :$: a2) = do@@ -103,7 +106,8 @@   where     eval :: (Eval dom, MonadReader [(VarId,Dynamic)] m) =>         AST (Lambda :+: Variable :+: dom) a -> m a-    eval (project -> Just (Variable v)) = do+--     eval (project -> Just (Variable v)) = do  -- Not accepted by GHC-6.12+    eval (Symbol (InjectR (InjectL (Variable v)))) = do         env <- ask         case lookup v env of           Nothing -> return $ error "eval: evaluating free variable"@@ -111,7 +115,8 @@             Just a -> return (Full a)             _      -> return $ error "eval: internal type error" -    eval ((project -> Just (Lambda v)) :$: body) = do+--     eval ((project -> Just (Lambda v)) :$: body) = do  -- Not accepted by GHC-6.12+    eval (Symbol (InjectL (Lambda v)) :$: body) = do         env <- ask         return             $ Full
syntactic.cabal view
@@ -1,5 +1,5 @@ Name:           syntactic-Version:        0.2+Version:        0.2.0.1 Synopsis:       Generic abstract syntax, and utilities for embedded languages Description:    This library provides:                 .