Merge branch 'master' of github.com:dopefishh/cc1516
authorMart Lubbers <mart@martlubbers.net>
Fri, 22 Apr 2016 11:30:32 +0000 (13:30 +0200)
committerMart Lubbers <mart@martlubbers.net>
Fri, 22 Apr 2016 11:30:32 +0000 (13:30 +0200)
1  2 
AST.dcl
AST.icl
sem.icl

diff --cc AST.dcl
+++ b/AST.dcl
@@@ -1,7 -1,7 +1,7 @@@
  definition module AST
  
  from Data.Maybe import :: Maybe
- from StdOverloaded import class toString, class ==, class zero
 -from StdOverloaded import class toString, class ==, class <
++from StdOverloaded import class toString, class ==, class zero, class <
  
  :: Pos = {line :: Int, col :: Int}
  :: AST = AST [FunDecl]
@@@ -41,5 -41,7 +41,9 @@@
  instance toString Pos
  instance toString Type
  instance toString AST
 +
 +instance zero Pos
+ instance == Op1
+ instance == Op2
+ instance < Op1
+ instance < Op2
diff --cc AST.icl
+++ b/AST.icl
@@@ -111,5 -115,11 +115,10 @@@ printFunCall s args = [s, "(":printersp
  derive gEq Op2
  instance == Op2 where (==) o1 o2 = gEq{|*|} o1 o2
  
 -
 -instance < Op2 where
 -    (<) o1 o2 = (toString o1) < (toString o2)
 -
 -instance < Op1 where
 -    (<) o1 o2 = (toString o1) < (toString o2)
 +instance zero Pos where
 +      zero = {line=0, col=0}
++
+ derive gEq Op1
+ instance == Op1 where (==) o1 o2 = gEq{|*|} o1 o2
++instance < Op2 where (<) o1 o2 = toString o1 < toString o2
++instance < Op1 where (<) o1 o2 = toString o1 < toString o2
diff --cc sem.icl
+++ b/sem.icl
@@@ -3,13 -3,12 +3,13 @@@ implementation module se
  import qualified Data.Map as Map
  
  from Data.Func import $
- from StdFunc import o, flip, const
 -from StdFunc import o, id
++from StdFunc import o, flip, const, id
  
  import Control.Monad
  import Data.Either
 +import Data.Maybe
  import Data.Monoid
- import Data.List
+ import Data.List 
  
  import StdString
  import StdList