packages feed

gf-3.3: examples/nqueens/NQueensAscii.gf

concrete NQueensAscii of NQueens = NatAscii ** open Prelude in {

lincat S, Matrix = Str ;
       Vec = {s : Str; empty : Bool} ;
       ListNat, Sat = {} ;

lin nqueens _ m = m ;

lin nilV _ _ = {s=""; empty=True} ;
    consV _ j k _ _ v = {s=j ++ "X" ++ k ++ 
                           case v.empty of {True=>"";False=>";"} ++ 
                           v.s;
                         empty=False} ;

    matrix _ v = v.s ;

}