summaryrefslogtreecommitdiff
path: root/examples/nqueens
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-10-11 17:17:04 +0000
committerkrasimir <krasimir@chalmers.se>2010-10-11 17:17:04 +0000
commit3ac637ddcb976a82dced91b36a7ceb5f0ca2ea84 (patch)
tree0dee5ee498d8e00e7c0b617294c89a861491b0f8 /examples/nqueens
parentf305587a622383c4c9489c3d1bbc899c5de1c3d6 (diff)
update NQueens to use: 1) lists i.e. [Nat]; 2) implicit arguments
Diffstat (limited to 'examples/nqueens')
-rw-r--r--examples/nqueens/NQueens.gf23
-rw-r--r--examples/nqueens/NQueensAscii.gf4
2 files changed, 12 insertions, 15 deletions
diff --git a/examples/nqueens/NQueens.gf b/examples/nqueens/NQueens.gf
index ba8a4e109..bd236bf55 100644
--- a/examples/nqueens/NQueens.gf
+++ b/examples/nqueens/NQueens.gf
@@ -1,21 +1,18 @@
abstract NQueens = Nat ** {
cat Matrix Nat ;
-cat Constr ;
-cat Vec (s,l : Nat) Constr ;
-cat Sat Nat Nat Constr ;
+cat [Nat] ;
+cat Vec (s,l : Nat) [Nat] ;
+cat Sat Nat Nat [Nat] ;
-data nilV : (s : Nat) -> (c : Constr) -> Vec s zero c ;
- consV : (l,j,k : Nat) ->
+data nilV : ({s} : Nat) -> ({c} : [Nat]) -> Vec s zero c ;
+ consV : ({l},j,k : Nat) ->
let s = succ (plus j k)
- in (c : Constr) -> Sat j (succ zero) c -> Vec s l (consC j c) -> Vec s (succ l) c ;
+ in ({c} : [Nat]) -> Sat j (succ zero) c -> Vec s l (ConsNat j c) -> Vec s (succ l) c ;
- nilC : Constr ;
- consC : (j : Nat) -> Constr -> Constr ;
+ nilS : ({j,d} : Nat) -> Sat j d BaseNat ;
+ consS : ({i,j,d} : Nat) -> ({c} : [Nat]) -> NE i j -> NE i (plus d j) -> NE (plus d i) j -> Sat j (succ d) c -> Sat j d (ConsNat i c) ;
- nilS : (j,d : Nat) -> Sat j d nilC ;
- consS : (i,j,d : Nat) -> (c : Constr) -> NE i j -> NE i (plus d j) -> NE (plus d i) j -> Sat j (succ d) c -> Sat j d (consC i c) ;
+ matrix : ({s} : Nat) -> Vec s s BaseNat -> Matrix s ;
- matrix : (s : Nat) -> Vec s s nilC -> Matrix s ;
-
-} \ No newline at end of file
+}
diff --git a/examples/nqueens/NQueensAscii.gf b/examples/nqueens/NQueensAscii.gf
index 0af99435a..fabcd3c64 100644
--- a/examples/nqueens/NQueensAscii.gf
+++ b/examples/nqueens/NQueensAscii.gf
@@ -1,11 +1,11 @@
concrete NQueensAscii of NQueens = NatAscii ** {
lincat Matrix, Vec = Str ;
- Constr, Sat = {} ;
+ ListNat, Sat = {} ;
lin nilV _ _ = "" ;
consV _ j k _ _ v = j ++ "X" ++ k ++ "\n" ++ v ;
matrix _ v = v ;
-} \ No newline at end of file
+}