[project @ 1996-11-27 16:52:14 by dnt]
authordnt <unknown>
Wed, 27 Nov 1996 16:54:13 +0000 (16:54 +0000)
committerdnt <unknown>
Wed, 27 Nov 1996 16:54:13 +0000 (16:54 +0000)
Converted Jmakefiles to GNU Makefiles
Removed various redundant files
Updated some source code work with Haskel 1.3

85 files changed:
real/Jmakefile [deleted file]
real/anna/Jmakefile [deleted file]
real/anna/makefile.original [deleted file]
real/bspt/BSPT.lhs
real/bspt/Euclid.lhs
real/bspt/EuclidGMS.lhs
real/bspt/GeomNum.lhs
real/bspt/Interface.lhs
real/bspt/Interpret.lhs
real/bspt/Jmakefile [deleted file]
real/bspt/Main.lhs
real/bspt/makefile.original [deleted file]
real/compress/Encode.hs
real/compress/Jmakefile [deleted file]
real/compress/Lzw.hi [deleted file]
real/compress/Makefile [new file with mode: 0644]
real/compress/makefile.original [deleted file]
real/compress2/Arrays.hs [deleted file]
real/compress2/Encode.hs
real/compress2/GLHCbitops.hs [deleted file]
real/compress2/Jmakefile [deleted file]
real/compress2/LMLbitops.hi [deleted file]
real/compress2/Main.hs
real/compress2/Makefile [new file with mode: 0644]
real/compress2/WriteRoutines.hs
real/ebnf2ps/Jmakefile [deleted file]
real/ebnf2ps/Makefile [new file with mode: 0644]
real/fem/Basics.hs
real/fem/Jmakefile [deleted file]
real/fem/Makefile [new file with mode: 0644]
real/fem/Matrix.hs
real/fem/Vector.hs
real/fluid/Defs.hs
real/fluid/Jmakefile [deleted file]
real/fluid/Main.hs
real/fluid/Makefile [new file with mode: 0644]
real/fluid/makefile.original [deleted file]
real/fulsom/Bah.hi [deleted file]
real/fulsom/Jmakefile [deleted file]
real/fulsom/Makefile [new file with mode: 0644]
real/fulsom/Types.hs
real/gamteb/GamtebType.hs
real/gamteb/Jmakefile [deleted file]
real/gamteb/Main.hs
real/gamteb/Makefile [new file with mode: 0644]
real/gamteb/makefile.original [deleted file]
real/gg/Jmakefile [deleted file]
real/gg/Makefile [new file with mode: 0644]
real/gg/makefile.original [deleted file]
real/grep/0README [deleted file]
real/grep/Fgrep.hs [deleted file]
real/grep/FgrepIO.hs [deleted file]
real/grep/FgrepWOTable.hs [deleted file]
real/grep/Grep.lhs [deleted file]
real/grep/Jmakefile [deleted file]
real/grep/Main_WAS_NFA [deleted file]
real/grep/MakeDeltaIO.lhs [deleted file]
real/grep/Makefile [new file with mode: 0644]
real/grep/NFA-multi.lhs [deleted file]
real/hidden/EdgePlate.hs
real/hidden/Jmakefile [deleted file]
real/hidden/Makefile [new file with mode: 0644]
real/hidden/Matrices.hs
real/hidden/makefile.original [deleted file]
real/pic/Consts.hs
real/pic/Jmakefile [deleted file]
real/pic/Main.hs
real/pic/Makefile [new file with mode: 0644]
real/pic/PicType.hs
real/pic/makefile.original [deleted file]
real/prolog/Interact.hs
real/prolog/Jmakefile [deleted file]
real/prolog/Makefile [new file with mode: 0644]
real/prolog/Subst.hs
real/reptile/Jmakefile [deleted file]
real/reptile/Makefile [new file with mode: 0644]
real/reptile/Progfuns.hs
real/reptile/makefile.original [deleted file]
real/rsa/Jmakefile [deleted file]
real/rsa/Main-decrypt.hs [deleted file]
real/rsa/Main-keys.hs [deleted file]
real/rsa/Makefile [new file with mode: 0644]
real/symalg/Env.hs
real/symalg/Jmakefile [deleted file]
real/symalg/Makefile [new file with mode: 0644]

diff --git a/real/Jmakefile b/real/Jmakefile
deleted file mode 100644 (file)
index 602e8ee..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#define IHaveSubdirs
-
-SUBDIRS = anna         \
-         bspt          \
-         compress      \
-         compress2     \
-         ebnf2ps       \
-         fluid         \
-         fulsom        \
-         gamteb        \
-         gg            \
-         grep          \
-         hidden        \
-         HMMS          \
-         hpg           \
-         infer         \
-         lift          \
-         maillist      \
-         parser        \
-         pic           \
-         prolog        \
-         reptile       \
-         rsa           \
-         symalg        \
-         veritas
-
-/*       mkhprog */
diff --git a/real/anna/Jmakefile b/real/anna/Jmakefile
deleted file mode 100644 (file)
index 9807db5..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-SRCS_HS = BaseDefs.hs MyUtils.hs Utils.hs AbstractVals2.hs \
-       SuccsAndPreds2.hs AbstractMisc.hs Dependancy.hs \
-       MakeDomains.hs  Parser2.hs  PrettyPrint.hs  LambdaLift5.hs  \
-       TypeCheck5.hs EtaAbstract.hs  DomainExpr.hs AbsConc3.hs Apply.hs \
-       Inverse.hs BarakiMeet.hs BarakiConc3.hs \
-       Constructors.hs TExpr2DExpr.hs AbstractEval2.hs \
-       PrintResults.hs Simplify.hs SmallerLattice.hs \
-       FrontierMisc2.hs FrontierDATAFN2.hs FrontierGENERIC2.hs \
-       StrictAn6.hs ReadTable.hs Main.hs
-
-OBJS_O = BaseDefs.o MyUtils.o Utils.o AbstractVals2.o SuccsAndPreds2.o \
-       AbstractMisc.o Dependancy.o MakeDomains.o Parser2.o \
-       PrettyPrint.o LambdaLift5.o TypeCheck5.o EtaAbstract.o \
-       DomainExpr.o AbsConc3.o Apply.o Inverse.o BarakiMeet.o \
-       BarakiConc3.o Constructors.o TExpr2DExpr.o AbstractEval2.o \
-       PrintResults.o Simplify.o SmallerLattice.o FrontierMisc2.o \
-       FrontierDATAFN2.o FrontierGENERIC2.o StrictAn6.o ReadTable.o \
-       Main.o
-
-NoFibMultiModuleCompileAndRun(anna, -prescript ./anna.prescript -postscript ./anna.postscript -i big.cor -o1 big.sum.out )
-
-NoFibHaskellCompile(anna,BaseDefs,hs)
-NoFibHaskellCompile(anna,MyUtils,hs)
-NoFibHaskellCompile(anna,Utils,hs)
-NoFibHaskellCompile(anna,AbstractVals2,hs)
-NoFibHaskellCompile(anna,SuccsAndPreds2,hs)
-NoFibHaskellCompile(anna,AbstractMisc,hs)
-NoFibHaskellCompile(anna,Dependancy,hs)
-NoFibHaskellCompile(anna,MakeDomains,hs)
-NoFibHaskellCompile(anna,Parser2,hs)
-NoFibHaskellCompile(anna,PrettyPrint,hs)
-NoFibHaskellCompile(anna,LambdaLift5,hs)
-NoFibHaskellCompile(anna,TypeCheck5,hs)
-NoFibHaskellCompile(anna,EtaAbstract,hs)
-NoFibHaskellCompile(anna,DomainExpr,hs)
-NoFibHaskellCompile(anna,AbsConc3,hs)
-NoFibHaskellCompile(anna,Apply,hs)
-NoFibHaskellCompile(anna,Inverse,hs)
-NoFibHaskellCompile(anna,BarakiMeet,hs)
-NoFibHaskellCompile(anna,BarakiConc3,hs)
-NoFibHaskellCompile(anna,Constructors,hs)
-NoFibHaskellCompile(anna,TExpr2DExpr,hs)
-NoFibHaskellCompile(anna,AbstractEval2,hs)
-NoFibHaskellCompile(anna,PrintResults,hs)
-NoFibHaskellCompile(anna,Simplify,hs)
-NoFibHaskellCompile(anna,SmallerLattice,hs)
-NoFibHaskellCompile(anna,FrontierMisc2,hs)
-NoFibHaskellCompile(anna,FrontierDATAFN2,hs)
-NoFibHaskellCompile(anna,FrontierGENERIC2,hs)
-NoFibHaskellCompile(anna,StrictAn6,hs)
-NoFibHaskellCompile(anna,ReadTable,hs)
-NoFibHaskellCompile(anna,Main,hs)
-
-NoFibDependTarget(anna, $(SRCS_HS))
diff --git a/real/anna/makefile.original b/real/anna/makefile.original
deleted file mode 100644 (file)
index 0e6358b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-     MODS= BaseDefs.hs MyUtils.hs Utils.hs AbstractVals2.hs \
-           SuccsAndPreds2.hs AbstractMisc.hs Dependancy.hs \
-           MakeDomains.hs  Parser2.hs  PrettyPrint.hs  LambdaLift5.hs  \
-           TypeCheck5.hs EtaAbstract.hs  DomainExpr.hs AbsConc3.hs Apply.hs \
-           Inverse.hs BarakiMeet.hs BarakiConc3.hs \
-           Constructors.hs TExpr2DExpr.hs AbstractEval2.hs \
-           PrintResults.hs Simplify.hs SmallerLattice.hs \
-           FrontierMisc2.hs FrontierDATAFN2.hs FrontierGENERIC2.hs \
-           StrictAn6.hs ReadTable.hs Main.hs
-     INTS=$(MODS:%.hs=%.hi)
-     OBJS=$(MODS:%.hs=%.o)
-     ASMS=$(MODS:%.hs=%.o)
-     HC4=hbc
-     HC3=/home/carnap/appl/Haskell/NewStuff/Hbc9975-sun3/hbc
-     HBCFLAGS= -fzap-redex -c -H8000000
-     KLUDGE= -fno-gen-cmp
-     PROFILE= -pg
-     ECONOMY= -fno-gen-read
-
-     %.o: %.hs
-       $(HC4) $(HBCFLAGS) $<
-     
-     main: $(OBJS)
-       $(HC4) -o Anna400 $(OBJS)
-     
index f58ed44..0654e62 100644 (file)
@@ -4,16 +4,16 @@
        operations thereon.
 
 >      (       BSPT(..),Status(..),Point,Region,Line,
->              Face,Faces(..),buildBSPT,bsp',bsp'',mkCell, partFaces,
+>              Face,Faces,buildBSPT,bsp',bsp'',mkCell, partFaces,
 >              scanLine,countLeaves,classifyPoint,area, 
 >              foldBSPT)
 
 > where
-> import EuclidGMS (   Location(..),Partition(..),Region,
+> import EuclidGMS (   Location(..),Partition,Region,
 >                       mkPart,getPart,newRegion,location,renderBorder,
 >                       bisect,toBack,findVertices,flip_YORK,
->                       Point(..),Line,Face(..),Faces(..),Halfspace(..),
->                       space,convert,triangleArea, Segment(..) )
+>                       Point(..),Line,Face(..),Faces,Halfspace(..),
+>                       space,convert,triangleArea,Segment )
 > import GeomNum 
 > import Stdlib (mapcat,const3)
 > import Libfuns
index 2b3ddcc..769691f 100644 (file)
@@ -6,10 +6,8 @@
 
 >      (       Point(..),Halfspace(..),Line,
 >              Face(..),mkFace,getSegment,getMyLine,
->              Faces(..),Segment(..),
->              eqn,solve,space,
->              convert,invert,--UNUSED:parallel,
->              triangleArea,
+>              Faces,Segment,eqn,solve,space,
+>              convert,invert,triangleArea,
 >              mkPoint,mkPolygon,drawSegment)
 
 > where
index 32e0c94..8b13083 100644 (file)
@@ -4,18 +4,17 @@
        Operations here are more application based.
 
 >              (       Region,mkRegion,getRegion,newRegion,
->                      Partition(..),mkPart,getPart,
+>                      Partition,mkPart,getPart,
 >                      Location(..),location, flip_YORK,
->                      bisect,toBack,--UNUSED: toFront,
->                      section,findVertices,
+>                      bisect,toBack,section,findVertices,
 >                      inScreen,renderBorder,
 >                      -- And the following to reduce imports higher up
->                      Point(..),Halfspace(..),Line,Face(..),Faces(..),space,convert,
->                      mkFace,mkPoint,drawSegment,triangleArea, Segment(..))
+>                      Point(..),Halfspace(..),Line,Face(..),Faces,space,convert,
+>                      mkFace,mkPoint,drawSegment,triangleArea, Segment)
 
 > where
 > import GeomNum
-> import Euclid (Point(..),Line,Halfspace(..),Face(..),Faces(..),Segment(..),
+> import Euclid (Point(..),Line,Halfspace(..),Face(..),Faces,Segment,
 >               mkFace,getMyLine,getSegment,drawSegment,mkPoint,
 >               space,solve,invert,
 >               triangleArea,mkPolygon,convert)
index 5b6b8dd..2d6197d 100644 (file)
@@ -3,7 +3,7 @@
        Defines the Geometric Number class and gives instances
        for LazyRationals only at present. 
 
->              (GeomNumb(..),Numb(..),Rationals,grid,rnd2
+>              (GeomNumb(..),Numb,Rationals,grid,rnd2
 >      )
 
 > where
index b1564c4..f80dedc 100644 (file)
 >              clearText,toNoTextRegion,toTextRegion,reset,clearTree)
 > import Params (Command(..))
 > import Stdlib (mapcat)
-> import Euclid (Point(..),mkPolygon,Face,Faces(..))
+> import Euclid (Point(..),mkPolygon,Face,Faces)
 > import BSPT (BSPT,Status(..),classifyPoint,buildBSPT,area)
 > import Render (render,drawBSPT,partitionedDraw,drawFaces,prettyPrintBSPT)
 > import GeomNum 
 > import Merge (union,intersection,subtract_YORK,complement)
-> import Interpret (Operation(..),Operations(..))
+> import Interpret (Operation,Operations)
 
 
        modeller: This is the core function of the program
index 73587ed..d7e01bb 100644 (file)
@@ -3,7 +3,7 @@
        Module that produces the interpretation of the users input
        producing a list of human readable operation specifications
 
->              (Command, Operations(..), Operation(..), interpret)
+>              (Command, Operations, Operation, interpret)
 
 > where
 
diff --git a/real/bspt/Jmakefile b/real/bspt/Jmakefile
deleted file mode 100644 (file)
index e4a3fb0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-SRCS_LHS=BSPT.lhs Euclid.lhs EuclidGMS.lhs GeomNum.lhs Init.lhs \
-       Input.lhs Interface.lhs Interpret.lhs Libfuns.lhs MGRlib.lhs \
-       Main.lhs Merge.lhs Params.lhs Prog.lhs Rationals.lhs \
-       Render.lhs Stdlib.lhs
-
-OBJS_O=BSPT.o Euclid.o EuclidGMS.o GeomNum.o Init.o Input.o \
-       Interface.o Interpret.o Libfuns.o MGRlib.o Main.o Merge.o \
-       Params.o Prog.o Rationals.o Render.o Stdlib.o
-
-NoFibMultiModuleCompileAndRun(bspt,-i bspt.stdin -o1 bspt.stdout)
-
-NoFibHaskellCompile(bspt,BSPT,lhs)
-NoFibHaskellCompile(bspt,Euclid,lhs)
-NoFibHaskellCompile(bspt,EuclidGMS,lhs)
-NoFibHaskellCompile(bspt,GeomNum,lhs)
-NoFibHaskellCompile(bspt,Init,lhs)
-NoFibHaskellCompile(bspt,Input,lhs)
-NoFibHaskellCompile(bspt,Interface,lhs)
-NoFibHaskellCompile(bspt,Interpret,lhs)
-NoFibHaskellCompile(bspt,Libfuns,lhs)
-NoFibHaskellCompile(bspt,MGRlib,lhs)
-NoFibHaskellCompile(bspt,Main,lhs)
-NoFibHaskellCompile(bspt,Merge,lhs)
-NoFibHaskellCompile(bspt,Params,lhs)
-NoFibHaskellCompile(bspt,Prog,lhs)
-NoFibHaskellCompile(bspt,Rationals,lhs)
-NoFibHaskellCompile(bspt,Render,lhs)
-NoFibHaskellCompile(bspt,Stdlib,lhs)
-
-NoFibDependTarget(bspt, $(SRCS_LHS))
index 12dd4f2..7c4c158 100644 (file)
@@ -1,14 +1,8 @@
 \begin{code}
 module Main where
-       
-
 import Prog (prog)
 
-#ifdef PAR
-main = prog 
-#else
 main = do
     str <- getContents
     putStr (prog str)
-#endif
 \end{code}
diff --git a/real/bspt/makefile.original b/real/bspt/makefile.original
deleted file mode 100644 (file)
index 09b882a..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-MODULES =      Stdlib.hs MGRlib.hs \
-               GeomNum.hs Rationals.hs \
-               Euclid.hs EuclidGMS.hs \
-               BSPT.hs Merge.hs Render.hs \
-               Interface.hs Interpret.hs Init.hs Input.hs Params.hs \
-               Main.hs Prog.hs 
-               
-INTERFACES=$(MODULES:%.hs=%.hi)
-
-YMODS = ${MODULES} Libfuns.hs
-YINTS=$(YMODS:%.hs=%.hi)
-YOBJS=$(YMODS:%.hs=%.o)
-HC=hc
-
-.PRECIOUS: $(YINTS) $(YOBJS) 
-
-%.hs : %.lhs
-       lit2pgm -q -o $@ $<
-
-%.o: %.hs
-       ${HC} ${HFLAGS} -c $<
-
-%.hi: %.o
-       @if test ! -f $@ ; then \
-           rm $< ; \
-           ${MAKE} $@ ; \
-       fi
-
-main: ${YOBJS}
-       ${HC} ${HFLAGS} -o main ${YOBJS}
-
-        
-# extra dependencies
-MGRlib.o       :
-Stdlib.o       : 
-Libfuns.o      :
-
-Rationals.o    : 
-GeomNum.o      : Rationals.hi Params.hi 
-
-Euclid.o       : GeomNum.hi Stdlib.hi MGRlib.hi Params.hi 
-EuclidGMS.o    : Euclid.hi GeomNum.hi Stdlib.hi Params.hi
-
-BSPT.o         : EuclidGMS.hi GeomNum.hi Stdlib.hi Libfuns.hi
-Merge.o                : BSPT.hi EuclidGMS.hi GeomNum.hi Libfuns.hi
-Render.o       : BSPT.hi EuclidGMS.hi GeomNum.hi Stdlib.hi MGRlib.hi Params.hi Libfuns.hi
-
-Interface.o    : Interpret.hi Init.hi BSPT.hi Merge.hi Render.hi GeomNum.hi Stdlib.hi Params.hi
-Interpret.o    : EuclidGMS.hi GeomNum.hi Stdlib.hi Params.hi 
-Init.o         : Stdlib.hi MGRlib.hi Params.hi
-Input.o                : Interpret.hi Rationals.hi Params.hi 
-Params.o       : 
-
-Prog.o          : Interface.hi Interpret.hi Init.hi Input.hi BSPT.hi 
-Main.o          : Prog.hi
index 7870874..328285c 100644 (file)
@@ -2,7 +2,6 @@
  - Encode Mk 2, using a prefix table for the codes
  - 
  - Paul Sanders, Systems Research, British Telecom Laboratories 1992
- -
  -}
 
 module Encode (encode) where
@@ -14,41 +13,26 @@ import PTTrees
 
 type CodeTable = PrefixTree Char Int
 
-{- encode sets up the arguments for the real function.
- -}
+-- encode sets up the arguments for the real function.
 
 encode :: String -> [Int]
-encode input
-          = encode' input first_code initial_table
+encode input = encode' input first_code initial_table
 
-{- encode' loops through the input string assembling the codes produced
- - by code_string. 
- - The first character is treated specially in that it is not added to the
- - table; its code is simply its ascii value
+{-
+ - encode' loops through the input string assembling the codes produced
+ - by code_string.  The first character is treated specially in that it
+ - is not added to the table; its code is simply its ascii value.
  -}
 
--- implicit selections with IMPLICIT DW
-
---#define IMPLICIT
-
--- explicit selections with EXPLICIT DW
-
-#define EXPLICIT
-
---encode' :: String -> Int -> CodeTable -> [Int]
 encode' [] _ _ 
-       = []
+  = []
 encode' input v t
-       = case (code_string input 0 v t) of { (input', n, t') ->
-         n : encode' input' (v + 1) t'
-         }
-{- ???
-encode' input v t
-       = n : encode' input' (v + 1) t'
-          where (input', n, t') = code_string input 0 v t
--}
+  = case (code_string input 0 v t) of { (input', n, t') ->
+      n : encode' input' (v + 1) t'
+    }
 
-{- code_string parses enough of the input string to produce one code and
+{-
+ - code_string parses enough of the input string to produce one code and
  - returns the remaining input, the code and a new code table.
  -
  - The first character is taken and its place found in the code table. The
@@ -60,98 +44,28 @@ encode' input v t
  - character to the current table and assign it the next new code value.
  -}
 
+code_string input@(c : input2) old_code next_code (PT p@(PTE k v t) l r)
+   | c < k = (f1 r1 p r)
+   | c > k = (f2 r2 p l)
+   | otherwise = (f3 r3 k v l r)
+ where
+   r1 = code_string input old_code next_code l
+   r2 = code_string input old_code next_code r
+   r3 = code_string input2 v next_code t
 
-#ifdef IMPLICIT
-code_string :: String -> Int -> Int -> CodeTable -> (String, Int, CodeTable)
-code_string [] old_code _ _
-       = ([], old_code, PTNil)
-code_string i@(c:cs) old_code next_code PTNil   -- found max string, add suffix
-       = if next_code >= max_entries
-          then (i, old_code, PTNil)
-          else (i, old_code, PT (PTE c next_code PTNil) PTNil PTNil)
-code_string i@(c:cs) old_code next_code (PT (PTE k v t) l r)
-       | c < k  = (csl, nl, PT (PTE k v t) l' r)
-       | c > k  = (csr, nr, PT (PTE k v t) l r')
-       | c == k = (cs', n, PT (PTE k v t') l r)
-        where (csl, nl, l') = code_string i old_code next_code l
-              (csr, nr, r') = code_string i old_code next_code r
-              (cs', n, t') = code_string cs v next_code t
-#endif
-
-#ifdef EXPLICIT
-{- ???
-code_string :: String -> Int -> Int -> CodeTable -> (String, Int, CodeTable)
-code_string [] old_code _ _
-       = ([], old_code, PTNil)
-code_string ca@(c:_) old_code next_code PTNil = -- found max string, add suffix
-       if next_code >= max_entries then 
-           (ca, old_code, PTNil)
-       else 
-           (ca, old_code, PT (PTE c next_code PTNil) PTNil PTNil)
--}
-{- partain:ORIG:
-code_string ca@(c:_) old_code next_code (PT p@(PTE k _ _) l r)
-       | c < k  = f1 result1 p r
-        where result1 = code_string ca old_code next_code l
-             
-code_string ca@(c:_) old_code next_code (PT p@(PTE k _ _) l r)
-       | c > k  = f2 result2 p l 
-        where result2 = code_string ca old_code next_code r
-       
-code_string (_:cs) old_code next_code (PT (PTE k v t) l r)
-       | otherwise = f3 result3 k v l r
-        where result3 = code_string cs v next_code t
-
-f1 (csl,nl,l') p r = (csl, nl, PT p l' r)
-f2 (csr,nr,r') p l = (csr, nr, PT p l r')
-f3 (cs',n,t') k v l r = (cs', n, PT (PTE k v t') l r)
--}
-       
-{- ???
-code_string ca@(c:cs) old_code next_code (PT p@(PTE k v t) l r)
-       | c < k  = f1 result1 p r
-       | c > k  = f2 result2 p l 
-       | otherwise = f3 result3 k v l r
-       where
-         result1 = code_string ca old_code next_code l
-         result2 = code_string ca old_code next_code r
-         result3 = code_string cs v next_code t
-
-        f1 (csl,nl,l') p r = (csl, nl, PT p l' r)
-        f2 (csr,nr,r') p l = (csr, nr, PT p l r')
-        f3 (cs',n,t') k v l r = (cs', n, PT (PTE k v t') l r)
--}
-
-#define CBOX(c) (c)
-#define _PTE_(a,b,c) (PTE (a) (b) (c))
-#define _TRIP_(a,b,c) (a,b,c)
-#define ILIT(i) (i)
-#define _GE_ >=
-
-code_string input@(CBOX(c) : input2) old_code next_code (PT p@(PTE k v t) l r)
-    | CBOX(c) <  CBOX(k) = {-_scc_ "cs1"-} (f1 r1 p r)
-    | CBOX(c) >  CBOX(k) = {-_scc_ "cs2"-} (f2 r2 p l)
-    | otherwise {- CBOX(c) == CBOX(k) -} = {-_scc_ "cs3"-} (f3 r3 k v l r)
-    where {
-        r1 = code_string input old_code next_code l;
-        r2 = code_string input old_code next_code r;
-        r3 = code_string input2 v next_code t;
-
-        f1 _TRIP_(input_l,nl,l2) p r   = _TRIP_(input_l,nl,PT p l2 r);
-        f2 _TRIP_(input_r,nr,r2) p l   = _TRIP_(input_r,nr,PT p l r2);
-        f3 _TRIP_(input2,n,t2) k v l r = _TRIP_(input2, n, PT _PTE_(k, v, t2) l r);
-    }
+   f1 (input_l,nl,l2) p r   = (input_l,nl,PT p l2 r)
+   f2 (input_r,nr,r2) p l   = (input_r,nr,PT p l r2)
+   f3 (input2,n,t2) k v l r = (input2, n, PT (PTE k v t2) l r)
 
-code_string input@(CBOX(c) : input_file2) old_code next_code PTNil
-    =   if (next_code _GE_ ILIT(4096)) 
-        then {- _scc_ "cs4"-} _TRIP_(input, old_code, PTNil)
-        else {- _scc_ "cs5"-} _TRIP_(input, old_code, PT _PTE_(c, next_code, PTNil) PTNil PTNil)
+code_string input@(c : input_file2) old_code next_code PTNil
+  | next_code >= 4096 = (input, old_code, PTNil)
+  | otherwise = (input, old_code, PT (PTE c next_code PTNil) PTNil PTNil)
 
-code_string [] old_code next_code code_table = {-_scc_ "cs6"-} _TRIP_([], old_code, PTNil)
+code_string [] old_code next_code code_table
+  = ([], old_code, PTNil)
 
-#endif
-
-{- We want the inital table to be balanced, but this is expensive to compute
+{-
+ - We want the inital table to be balanced, but this is expensive to compute
  - as a rebalance is needed evert two inserts (yuk!). So we do the ordinary
  - infix-order binary tree insert but give the keys in such an order as to
  - give a balanced tree.
@@ -161,8 +75,7 @@ code_string [] old_code next_code code_table = {-_scc_ "cs6"-} _TRIP_([], old_co
  -}
 
 initial_table :: CodeTable
-initial_table
-    = foldr tab_insert PTNil balanced_list
+initial_table = foldr tab_insert PTNil balanced_list
 
 tab_insert n = insert (toEnum n) n
 
@@ -189,4 +102,3 @@ bal_list4
        231,236,234,233,235,238,237,239,248,244,242,241,243,246,245,247,252]
 bal_list5
     = [250,249,251,254,253,255]
-
diff --git a/real/compress/Jmakefile b/real/compress/Jmakefile
deleted file mode 100644 (file)
index 1aa0b25..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-SRCS_HS = Defaults.hs BinConv.hs PTTrees.hs Encode.hs Main.hs
-OBJS_O  = Defaults.o  BinConv.o  PTTrees.o  Encode.o  Main.o
-
-NoFibMultiModuleCompileAndRun(compress,-i ../../spectral/hartel/listcompr/listcompr.stdout -o1 compress.stdout)
-
-NoFibHaskellCompile(compress,Defaults,hs)
-NoFibHaskellCompile(compress,BinConv,hs)
-NoFibHaskellCompile(compress,PTTrees,hs)
-NoFibHaskellCompile(compress,Encode,hs)
-NoFibHaskellCompile(compress,Main,hs)
-
-NoFibDependTarget(compress, $(SRCS_HS))
diff --git a/real/compress/Lzw.hi b/real/compress/Lzw.hi
deleted file mode 100644 (file)
index 3d24646..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-interface Main where {
-main :: Dialogue   {-# ARITY main = 1 #-}{-# STRICTNESS main = "T,T" ST #-}
-}
diff --git a/real/compress/Makefile b/real/compress/Makefile
new file mode 100644 (file)
index 0000000..7d1e74c
--- /dev/null
@@ -0,0 +1,5 @@
+TOP = ../../..
+PROG = compress
+SRCS = Defaults.hs BinConv.hs PTTrees.hs Encode.hs Main.hs
+EXTRA_RUNTESTFLAGS = -i ../../spectral/hartel/listcompr/listcompr.stdout
+include $(TOP)/nofib/mk/nofib.mk
diff --git a/real/compress/makefile.original b/real/compress/makefile.original
deleted file mode 100644 (file)
index e00d0bd..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-MODS= Defaults.hs BinConv.hs PTTrees.hs Encode.hs Compress.hs
-INTS=$(MODS:%.hs=%.hi)
-OBJS=$(MODS:%.hs=%.o)
-UOBJS=$(UMODS:%.hs=%.o)
-UMODS=Defaults.hs BinConv.hs Decode.hs Uncompress.hs
-
-# HC is the name of the Haskell compiler
-
-HC=hbchp
-
-# REVISION is the Haskell language version number, 1 for 1.1, 0 for 1.0
-
-REVISION=1
-
-# DEC_VERSION is the version of Decode we wish to compile
-
-DEC_VERSION=3
-
-# HCFLAGS are the flags to the compiler. 
-# -DPAR will compile code for the GRIP machine
-
-HCFLAGS= -M 
-
-all: hcz uhcz
-
-hcz: $(OBJS)
-       $(HC) $(HCFLAGS) -o hcz $(OBJS)
-       strip hcz
-
-uhcz: $(UOBJS)
-       $(HC) $(HCFLAGS) -o uhcz $(UOBJS)
-       strip uhcz
-
-clean:
-       rm *.o *.hi
-
-realclean: clean
-       rm hcz uhcz
-
-%.o: %.hs
-       $(HC) -DREVISION=$(REVISION) -DDEC_VERSION=$(DEC_VERSION) $(HCFLAGS) -c $<
-
-%.hi: %.o
-       @if test ! -f $@ ; then \
-           rm $< ; \
-           $(MAKE) HC=$(HC) $@ ; \
-       fi
diff --git a/real/compress2/Arrays.hs b/real/compress2/Arrays.hs
deleted file mode 100644 (file)
index 5c618e1..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-{-
- - Arrays.hs
- -
- - An implementation of arrays using a tree
- -
- - Version 0.1 10/09/92 PS
- - Version 0.2 01/10/92 PS Added force function to //^ to reduce space
- - consumption
- -
- -}
-
-module Arrays (Maybe(..), TArray,
-               (!^), (//^),
-               mkTArray, lookup, isUndefined)
-where
-
-infixl 9 !^
-infixl 9 //^
-
---data Maybe a = Nothing | Just a deriving Show{-was:Text-}
-data TArray a = Tarray Int Int Int (BinTree a) deriving Show{-was:Text-}
-data BinTree a = Leaf a | Branch (BinTree a) (BinTree a) | Empty deriving Show{-was:Text-}
-data Direction = Left | Right deriving Show{-was:Text-}
-
-mkTArray ::  Int -> Int -> TArray a
-mkTArray lo hi = Tarray lo hi (maxBits 1) Empty
-                 where maxBits n = if (hi - lo + 1) > 2^n then
-                                        maxBits (n+1)
-                                   else
-                                      n
-
-(!^) :: TArray a -> Int -> Maybe a
-(!^) (Tarray lo hi bits t) index
-        = if (index >= lo) && (index <= hi) then
-               doLookup (directions bits (index-lo)) t
-          else error "Array index out of bounds\n"
-          where
-          doLookup _ Empty    = Nothing
-          doLookup _ (Leaf n) = Just n
-          doLookup (Left:ds) (Branch l _)  = doLookup ds l
-          doLookup (Right:ds) (Branch _ r) = doLookup ds r
-
-(//^) :: TArray a -> [Assoc Int a] -> TArray a
-(//^) t [] = t
-(//^) (Tarray lo hi hiIndex t) ((i := v) : as)
-        = if (i >= lo) && (i <= hi) then
-                (//^) t' as
-          else error "Array: index out of bounds\n"
-          where
-          t' = if (forced dirs newt) then newt else newt
-          newt = Tarray lo hi hiIndex (add dirs v t)
-          dirs = directions hiIndex (i - lo)
-          add [] v _                    = Leaf v
-          add (Left:ds) v Empty         = Branch (add ds v Empty) Empty
-          add (Left:ds) v (Branch l r)  = Branch (add ds v l) r
-          add (Right:ds) v Empty        = Branch  Empty (add ds v Empty)
-          add (Right:ds) v (Branch l r) = Branch l (add ds v r)
-
-forced ds (Tarray _ _ _ t) = bforced ds t
-
-bforced [] _ = True
-bforced (Left:ds) (Branch l _) = bforced ds l
-bforced (Right:ds) (Branch _ r) = bforced ds r
-bforced _ _ = True
-
-directions :: Int -> Int -> [Direction]
-directions bits index 
-      = take (bits - length dirString) lefts ++ reverse dirString
-        where dirString = convert index
-
-convert 0 = []
-convert x = case (x `rem` 2) of
-              1 -> Right : convert (x `div` 2)
-              0 -> Left  : convert (x `div` 2)
-
-lefts = repeat Left
-
-lookup :: Int -> TArray a -> a
-lookup i a = case (a!^i) of
-               Nothing -> error "No value to lookup\n"
-               Just n -> n
-
-isUndefined :: Int -> TArray a -> Bool
-isUndefined i a = case (a!^i) of
-                    Nothing -> True
-                    Just _  -> False
index 6f149c1..3da9f1a 100644 (file)
@@ -7,12 +7,7 @@ data PrefixTrie a b = PTNil |
 type CodeTable = PrefixTrie Char Int
 
 data CodeEvent = 
-#ifdef DEBUG
-                 Code (Int, Int, Int) |
-                 CheckRatio (Int, Int, Int, Int, Int) |
-#else
                  Code Int |
-#endif
                  NewWordSize |
                  Clear deriving Show{-was:Text-}
 
@@ -38,43 +33,25 @@ encode = encode' (CS 3 1 firstCheck 0 firstEnt firstChange) initial_table
 encode' :: CodeState -> CodeTable -> [Int] -> String -> [CodeEvent]
 encode' _ _ _ [] = []
 encode' c@(CS bo ci cp ra nx cg) t sizes input 
-#ifdef wibble
- | (csForced c)
-#endif
   = if nx == cg then
     NewWordSize : encode' (CS (bo+s) ci cp ra nx cg') t ss input 
   else
     if nx == maxmaxCode then
       if ci >= cp then
         let ra' = (ci * 256) `div` bo in
-#ifdef DEBUG
-            CheckRatio (ci, bo, cp, ra, ra') : 
-#endif
           if ra' > ra then
             encode' (CS bo ci (ci+checkGap) ra' nx cg) t sizes input 
           else
-#ifdef DEBUG
-               Code (256, ci, bo) : Clear :
-#else
             Clear :
-#endif
             encode' (CS (bo+s) ci (ci+checkGap) 0 firstEnt firstChange)
                     initial_table ss input 
        else 
          let (input', n, i) = code_string_r (input, 0, 0) nx t
-#ifdef DEBUG
-         in Code (n, ci+i, bo+s) :
-#else
          in  Code n :
-#endif
              encode' (CS (bo+s) (ci+i) cp ra nx cg) t ss input' 
      else
        (\ ((input', n, i), t') ->
-#ifdef DEBUG
-       Code (n, ci+i, bo+s) :
-#else
        Code n :
-#endif
        encode' (CS (bo+s) (ci+i) cp ra (nx+1) cg) t' ss input')
        (code_string_rw (input, 0, 0) nx t)
   where
@@ -121,6 +98,3 @@ build_table lo hi
               PT (toEnum mid) mid PTNil
                    (build_table lo (mid - 1))
                    (build_table (mid + 1) hi)
-
-
-
diff --git a/real/compress2/GLHCbitops.hs b/real/compress2/GLHCbitops.hs
deleted file mode 100644 (file)
index dbfde1f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-module GLHCbitops
-where
-
-infixl 8 `intLsh`, `intRsh`
-infixl 7 `intAnd`
-infixl 5 `intOr`
-
-intLsh (MkInt x) (MkInt y) 
-      = case shiftL#  x y of z -> MkInt z
-intRsh (MkInt x) (MkInt y) 
-      = case shiftR#  x y of z -> MkInt z
-intAnd (MkInt x) (MkInt y) 
-      = case andInt#  x y of z -> MkInt z
-intOr (MkInt x) (MkInt y) 
-      = case orInt#  x y of z -> MkInt z
diff --git a/real/compress2/Jmakefile b/real/compress2/Jmakefile
deleted file mode 100644 (file)
index 57c207f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-SRCS_HS = WriteRoutines.hs Encode.hs Main.hs
-OBJS_O  = WriteRoutines.o  Encode.o  Main.o
-
-NoFibMultiModuleCompileAndRun(compress2,-i ../../spectral/hartel/listcompr/listcompr.stdout -o1 compress2.stdout)
-
-NoFibHaskellCompile(compress2,WriteRoutines,hs)
-NoFibHaskellCompile(compress2,Encode,hs)
-NoFibHaskellCompile(compress2,Main,hs)
-
-NoFibDependTarget(compress2, $(SRCS_HS))
diff --git a/real/compress2/LMLbitops.hi b/real/compress2/LMLbitops.hi
deleted file mode 100644 (file)
index 0fbb23a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-interface LMLbitops where
-{-:"Pand":-} :: Int->Int->Int
-{-:"Por":-} :: Int->Int->Int
-{-:"Pxor":-} :: Int->Int->Int
-{-:"Plsh":-} :: Int->Int->Int
-{-:"Prsh":-} :: Int->Int->Int
-{-:"Pcompl":-} :: Int->Int
index 7f054aa..6387389 100644 (file)
@@ -17,14 +17,6 @@ main = getContents >>= \ i ->
 -- option for turning off block compression in this program. The maximum
 -- number of bits is imported from the encode module.
 
-#ifdef DEBUG
-compress cs = f codes
-              where
-              output = outputCodes codes
-              codes = encode (snd output) cs
-              f [] = []
-              f (c:cs) = show c ++ "\n" ++ f cs
-#else
 compress = magic_header . processInput
 
 magic_header cs
@@ -46,4 +38,3 @@ processInput cs
        where
        output = outputCodes codes
        codes = encode (snd output) cs
-#endif
diff --git a/real/compress2/Makefile b/real/compress2/Makefile
new file mode 100644 (file)
index 0000000..6f546b6
--- /dev/null
@@ -0,0 +1,6 @@
+TOP = ../../..
+PROG = compress2
+SRCS = WriteRoutines.hs Encode.hs Main.hs
+EXTRA_HCFLAGS = -fglasgow-exts
+EXTRA_RUNTESTFLAGS = -i ../../spectral/hartel/listcompr/listcompr.stdout
+include $(TOP)/nofib/mk/nofib.mk
index a432f0d..7ede24c 100644 (file)
@@ -3,13 +3,15 @@ where
 
 import Encode (CodeEvent(..))
 
-import Word -- partain: from HBC library
+-- Start of code added for ghc
+w2i x = word2Int# x
+i2w x = int2Word# x
 
--- partain added
-iNTOR  x y = wordToInt (bitOr  (fromInt x) (fromInt y))
-iNTLSH x i = wordToInt (bitLsh (fromInt x) i)
-iNTRSH x i = wordToInt (bitRsh (fromInt x) i)
--- end partain addition
+intAnd (I# x) (I# y) = I# (w2i (and# (i2w x) (i2w y)))
+intOr  (I# x) (I# y) = I# (w2i (or# (i2w x) (i2w y)))
+intLsh (I# x) (I# y) = I# (w2i (shiftL# (i2w x) y))
+intRsh (I# x) (I# y) = I# (w2i (shiftRL# (i2w x) y))
+-- End of code added for ghc
 
 outputCodes :: [CodeEvent] -> (String, [Int])
 outputCodes cs = (map toEnum (fst result), snd result)
@@ -32,11 +34,7 @@ output nbits stillToGo r_off prev (Clear : cs)
       padBits = nbits - ((9 - stillToGo) * 2)
       take' n l = if n < 0 then take 1 l else take n l
 
-#ifdef DEBUG
-output nbits stillToGo r_off prev css@(Code (code, _, _) : cs)
-#else
 output nbits stillToGo r_off prev css@(Code code : cs)
-#endif
 
     | stillToGo == 0 = output nbits 8 0 0 css
     | otherwise = if (nbits + r_off) >= 16 then
@@ -45,17 +43,12 @@ output nbits stillToGo r_off prev css@(Code code : cs)
                       (byte1 : fst rest2, outBits : snd rest2)
       where
       r_off' = 8 - r_off
-      byte1 = iNTOR prev (iNTLSH code r_off)
-      byte2 = iNTRSH code r_off'
-      byte3 = iNTRSH byte2 8
+      byte1 = intOr prev (intLsh code r_off)
+      byte2 = intRsh code r_off'
+      byte3 = intRsh byte2 8
       outBits = if stillToGo == 1 then nbits else 0
       rest1 = output nbits (stillToGo-1) ((r_off+nbits) `mod` 8) byte3 cs
       rest2 = output nbits (stillToGo-1) ((r_off+nbits) `mod` 8) byte2 cs
 
-#ifdef DEBUG
-output nbits stillToGo r_off prev (CheckRatio _ : cs) 
-         = output nbits stillToGo r_off prev cs
-#endif
-
 padding :: [Int]
 padding = [255, 255 ..]
diff --git a/real/ebnf2ps/Jmakefile b/real/ebnf2ps/Jmakefile
deleted file mode 100644 (file)
index 48000ba..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-SRCS_HS = Parsers.hs StringMatch.hs Info.hs Fonts.hs IOSupplement.hs \
-         EbnfGrammar.hs EbnfLayout.hs \
-         PsOutput.hs FigOutput.hs Color.hs CommandLine.hs AbstractSyntax.hs \
-         Lexer.hs HappyParser.hs GrammarTransform.hs \
-         Main.hs
-OBJS_O  = Parsers.o StringMatch.o Info.o Fonts.o IOSupplement.o \
-         EbnfGrammar.o EbnfLayout.o \
-         PsOutput.o FigOutput.o Color.o CommandLine.o AbstractSyntax.o \
-         Lexer.o HappyParser.o GrammarTransform.o \
-         Main.o
-
-/* Cmd line needs work */
-
-NoFibMultiModuleCompileAndRun(ebnf2ps, ebnf2ps.stdin apat -o1 ebnf2ps.stdout)
-
-HappyParser.hs : HappyParser.ly
-       $(RM) HappyParser.hs
-       happy HappyParser.ly
-       @chmod 444 HappyParser.hs
-
-NoFibHaskellCompile(ebnf2ps,Parsers,hs)
-NoFibHaskellCompile(ebnf2ps,StringMatch,hs)
-NoFibHaskellCompile(ebnf2ps,Info,hs)
-NoFibHaskellCompile(ebnf2ps,Fonts,hs)
-NoFibHaskellCompile(ebnf2ps,IOSupplement,hs)
-NoFibHaskellCompile(ebnf2ps,EbnfGrammar,hs)
-NoFibHaskellCompile(ebnf2ps,EbnfLayout,hs)
-NoFibHaskellCompile(ebnf2ps,PsOutput,hs)
-NoFibHaskellCompile(ebnf2ps,FigOutput,hs)
-NoFibHaskellCompile(ebnf2ps,Color,hs)
-NoFibHaskellCompile(ebnf2ps,CommandLine,hs)
-NoFibHaskellCompile(ebnf2ps,AbstractSyntax,hs)
-NoFibHaskellCompile(ebnf2ps,Lexer,hs)
-NoFibHaskellCompile(ebnf2ps,HappyParser,hs)
-NoFibHaskellCompile(ebnf2ps,GrammarTransform,hs)
-NoFibHaskellCompile(ebnf2ps,Main,hs)
-
-NoFibDependTarget(ebnf2ps, $(SRCS_HS))
diff --git a/real/ebnf2ps/Makefile b/real/ebnf2ps/Makefile
new file mode 100644 (file)
index 0000000..22de6c8
--- /dev/null
@@ -0,0 +1,13 @@
+TOP = ../../..
+PROG = ebnf2ps
+SRCS = Parsers.hs StringMatch.hs Info.hs Fonts.hs IOSupplement.hs \
+       EbnfGrammar.hs EbnfLayout.hs PsOutput.hs FigOutput.hs Color.hs \
+       CommandLine.hs AbstractSyntax.hs Lexer.hs HappyParser.hs \
+       GrammarTransform.hs Main.hs
+EXTRA_RUNTESTFLAGS = ebnf2ps.stdin apat -o1 ebnf2ps.stdout
+include $(TOP)/nofib/mk/nofib.mk
+
+HappyParser.hs : HappyParser.ly
+       $(RM) HappyParser.hs
+       happy HappyParser.ly
+       @chmod 444 HappyParser.hs
index f80d3e4..0343d5a 100644 (file)
@@ -32,9 +32,9 @@ showlj l x
         bs | l <= length ns   = 1
            | otherwise        = l - length ns
 
-azip :: [a] -> [b] -> [Assoc a b]
+azip :: [a] -> [b] -> [(a,b)]
 
 azip [] [] = []
-azip ( x : ls ) ( x' : ls' ) = (x := x') : (azip ls ls')
+azip ( x : ls ) ( x' : ls' ) = (x,x') : (azip ls ls')
 
 
diff --git a/real/fem/Jmakefile b/real/fem/Jmakefile
deleted file mode 100644 (file)
index 3ea547e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-SRCS_HS = Assemble_loadvec.hs Assemble_stiffness.hs Basics.hs DB_interface.hs Database.hs Degrees.hs Displacement.hs Elemforce.hs Elemstif.hs Main.hs Matrix.hs Pre_assemble.hs PrintSource.hs Printuvwforce.hs VBlldecomp.hs VBmatrix.hs Vector.hs
-
-OBJS_O = Assemble_loadvec.o Assemble_stiffness.o Basics.o DB_interface.o Database.o Degrees.o Displacement.o Elemforce.o Elemstif.o Main.o Matrix.o Pre_assemble.o PrintSource.o Printuvwforce.o VBlldecomp.o VBmatrix.o Vector.o
-
-NoFibMultiModuleCompileAndRun(fem,-i fem.stdin -o1 fem.stdout)
-
-NoFibHaskellCompile(fem,Assemble_loadvec,hs)
-NoFibHaskellCompile(fem,Assemble_stiffness,hs)
-NoFibHaskellCompile(fem,Basics,hs)
-NoFibHaskellCompile(fem,DB_interface,hs)
-NoFibHaskellCompile(fem,Database,hs)
-NoFibHaskellCompile(fem,Degrees,hs)
-NoFibHaskellCompile(fem,Displacement,hs)
-NoFibHaskellCompile(fem,Elemforce,hs)
-NoFibHaskellCompile(fem,Elemstif,hs)
-NoFibHaskellCompile(fem,Main,hs)
-NoFibHaskellCompile(fem,Matrix,hs)
-NoFibHaskellCompile(fem,Pre_assemble,hs)
-NoFibHaskellCompile(fem,PrintSource,hs)
-NoFibHaskellCompile(fem,Printuvwforce,hs)
-NoFibHaskellCompile(fem,VBlldecomp,hs)
-NoFibHaskellCompile(fem,VBmatrix,hs)
-NoFibHaskellCompile(fem,Vector,hs)
-
-NoFibDependTarget(fem, $(SRCS_HS))
diff --git a/real/fem/Makefile b/real/fem/Makefile
new file mode 100644 (file)
index 0000000..175e2bf
--- /dev/null
@@ -0,0 +1,7 @@
+TOP = ../../..
+PROG = fem
+SRCS = Basics.hs Vector.hs Matrix.hs VBmatrix.hs VBlldecomp.hs \
+       Database.hs DB_interface.hs Degrees.hs Assemble_loadvec.hs \
+       Pre_assemble.hs Elemstif.hs Assemble_stiffness.hs Displacement.hs \
+       Elemforce.hs PrintSource.hs Printuvwforce.hs Main.hs
+include $(TOP)/nofib/mk/nofib.mk
index 132069a..af51351 100644 (file)
@@ -24,9 +24,9 @@ makemat :: (Int, Int) -> ( (Int,Int) -> a) -> Mat a
 
 boundmat :: Mat a -> (Int,Int)
 
-incrmat :: (Num a) => Mat a -> [Assoc (Int,Int) a] -> Mat a
+incrmat :: (Num a) => Mat a -> [((Int,Int),a)] -> Mat a
 
-updmat  :: Mat a -> [Assoc (Int,Int) a] -> Mat a
+updmat  :: Mat a -> [((Int,Int),a)] -> Mat a
 
 matsub  :: Mat a -> (Int,Int) -> a
 
@@ -52,32 +52,21 @@ makemat (nr,nc) g =
                 (\i -> (map g (range ((1,1),(nr,nc)) )) !! (i-1) )
         )
 
---     MAT (nr,nc) (makevec (nr*nc) (\i -> els !! (i-1)))
---     where
---     els = map g (range ((1,1),(nr,nc)) )
-
---     MAT (nr,nc)  v
---     where
---     v   = makevec (nr*nc) (\i -> els !! (i-1))
---      els = map ( \ (i,j) ->  g (i,j)  )
---                (range ((1,1),(nr,nc)) )
-
-boundmat (MAT (nr,nc) elements) =
-       (nr,nc)
+boundmat (MAT (nr,nc) elements) = (nr,nc)
 
 updmat m s =
        MAT (nr,nc) new_elements
         where
         MAT (nr,nc) elements = m
         new_elements = updvec elements new_s
-        new_s = map (\( (i,j) := x) -> ( (i-1)*nc+j := x) ) s
+        new_s = map (\( ((i,j),x) ) -> ( ((i-1)*nc+j,x) ) ) s
 
 incrmat m s =
        MAT (nr,nc) new_elements
        where
        MAT (nr,nc) elements = m
        new_elements = incrvec elements new_s
-       new_s = map (\( (i,j) := x) -> ( (i-1)*nc+j := x) ) s
+       new_s = map (\( ((i,j),x) ) -> ( ((i-1)*nc+j,x) ) ) s
 
 matsub m (i,j) =
        vecsub elements ((i-1)*nc+j)
@@ -90,16 +79,6 @@ mmatvec m v =
        where
        (nr,nc) = boundmat m
 
-{- partain: was
-mmatmat m1 m2 =
-        makemat (l,n)
-                ( \ (i,j) -> sum [ (matsub m1 (i,k)) *
-                                  (matsub m2 (k,j)) | k <-[1..m] ] )
-        where
-        (l,m) = boundmat m1  -- partain: BOING! two defns of "m"
-        (m,n) = boundmat m2
--}
-
 mmatmat m1 m2 = 
      if (t1 == t2) then 
         makemat (l,n)
index b3d0f62..5bfd2a2 100644 (file)
@@ -80,6 +80,7 @@
 module Vector(Vec, makevec, boundvec, vecsub, incrvec, updvec, maxupdvec,
               vecprod, displayvec) where
 
+import Array
 import Basics
 
 data Vec a = VEC Int (Array Int a)
@@ -88,11 +89,11 @@ displayvec :: (Show a) => Vec a -> [Char]
 
 vecprod :: (Num a) => Vec a -> Vec a -> a
 
-updvec  :: Vec a -> [Assoc Int a] -> Vec a
+updvec  :: Vec a -> [(Int,a)] -> Vec a
 
-maxupdvec  :: (Num a, Ord a) => Vec a -> [Assoc Int a] -> Vec a
+maxupdvec  :: (Num a, Ord a) => Vec a -> [(Int,a)] -> Vec a
 
-incrvec :: (Num a) => Vec a -> [Assoc Int a] -> Vec a
+incrvec :: (Num a) => Vec a -> [(Int,a)] -> Vec a
 
 vecsub  :: Vec a -> Int -> a
 
@@ -100,30 +101,25 @@ boundvec :: Vec a -> Int
 
 makevec :: Int -> (Int -> a) -> Vec a
 
-makevec n f = 
-       VEC n (array (1,n) [ i := f i | i <- [1..n] ])
+makevec n f = VEC n (array (1,n) [ (i,f i) | i <- [1..n] ])
 
-boundvec (VEC n _) = 
-       n 
+boundvec (VEC n _) = n 
 
-vecsub (VEC n va) i =
-       va ! i
+vecsub (VEC n va) i = va ! i
 
 updvec (VEC n va) s =
-        VEC n (accum f va s)
      where
-       f b c = c
+  VEC n (accum f va s)
+ where
+  f b c = c
 
-maxupdvec (VEC n va) s =
-        VEC n (accum max va s)
+maxupdvec (VEC n va) s = VEC n (accum max va s)
 
-incrvec (VEC n va) s = 
-       VEC n (accum (+) va s)
+incrvec (VEC n va) s = VEC n (accum (+) va s)
 
 vecprod v1 v2 = 
-       sum [(vecsub v1 i) * (vecsub v2 i) | i <- [1..n] ]
      where 
-        n = boundvec v1
+  sum [(vecsub v1 i) * (vecsub v2 i) | i <- [1..n] ]
+ where 
+  n = boundvec v1
 
 displayvec v =
        "< " ++ 
index dcf5f1b..257e256 100644 (file)
@@ -11,8 +11,8 @@
 -}
 
 module Defs (
-       Frac_type(..), My_Array(..), v_nodel, p_nodel,
-       large_scalor, small, large --partain: NOT YET****, S_Array..
+       Frac_type, My_Array, v_nodel, p_nodel,
+       large_scalor, small, large
        ) where
 
 import S_Array
diff --git a/real/fluid/Jmakefile b/real/fluid/Jmakefile
deleted file mode 100644 (file)
index 0d37a2b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-SRCS_HS= Norm.hs S_Array.hs Defs.hs Input_proc.hs Elefac.hs S_matrix.hs Asb_routs.hs C_matrix.hs L_matrix.hs Rhs_Asb_routs.hs Min_degree.hs Chl_routs.hs Chl_decomp.hs Chl_method.hs Tol_cal.hs Jcb_method.hs TG_iter.hs Main.hs
-
-OBJS_O= Norm.o S_Array.o Defs.o Input_proc.o Elefac.o S_matrix.o Asb_routs.o C_matrix.o L_matrix.o Rhs_Asb_routs.o Min_degree.o Chl_routs.o Chl_decomp.o Chl_method.o Tol_cal.o Jcb_method.o TG_iter.o Main.o
-
-NoFibMultiModuleCompileAndRun(fluid,-i fluid.stdin -o1 fluid.stdout -o1 fluid.stdout2 -o1 fluid.stdout3)
-
-NoFibHaskellCompile(fluid,Norm,hs)
-NoFibHaskellCompile(fluid,S_Array,hs)
-NoFibHaskellCompile(fluid,Defs,hs)
-NoFibHaskellCompile(fluid,Input_proc,hs)
-NoFibHaskellCompile(fluid,Elefac,hs)
-NoFibHaskellCompile(fluid,S_matrix,hs)
-NoFibHaskellCompile(fluid,Asb_routs,hs)
-NoFibHaskellCompile(fluid,C_matrix,hs)
-NoFibHaskellCompile(fluid,L_matrix,hs)
-NoFibHaskellCompile(fluid,Rhs_Asb_routs,hs)
-NoFibHaskellCompile(fluid,Min_degree,hs)
-NoFibHaskellCompile(fluid,Chl_routs,hs)
-NoFibHaskellCompile(fluid,Chl_decomp,hs)
-NoFibHaskellCompile(fluid,Chl_method,hs)
-NoFibHaskellCompile(fluid,Tol_cal,hs)
-NoFibHaskellCompile(fluid,Jcb_method,hs)
-NoFibHaskellCompile(fluid,TG_iter,hs)
-NoFibHaskellCompile(fluid,Main,hs)
-
-NoFibDependTarget(fluid, $(SRCS_HS))
index 8cf7d57..b572556 100644 (file)
@@ -11,13 +11,7 @@ import Chl_method
 import Jcb_method
 import TG_iter
 import Min_degree
---import ShowFloat
 
-#ifdef GRIP
-import Grip_input
-
-main = run
-#else
 import Input_proc
 
 main = do
@@ -25,7 +19,6 @@ main = do
     let (datafile,fs_cs) = read_fs_cs fs_cs_str
     data_str <- readFile datafile
     putStr (run fs_cs (read_data data_str))
-#endif
 
 run (mon,m_iter,m_toler,max_jcb_iter,jcb_toler,relax,dlt_t)
        (e_total, n_total, p_total, v_steer, p_steer, coord,
diff --git a/real/fluid/Makefile b/real/fluid/Makefile
new file mode 100644 (file)
index 0000000..23b8fb4
--- /dev/null
@@ -0,0 +1,8 @@
+TOP = ../../..
+PROG = fluid
+SRCS = Norm.hs S_Array.hs Defs.hs Input_proc.hs Elefac.hs S_matrix.hs \
+       Asb_routs.hs C_matrix.hs L_matrix.hs Rhs_Asb_routs.hs Min_degree.hs \
+       Chl_routs.hs Chl_decomp.hs Chl_method.hs Tol_cal.hs Jcb_method.hs \
+       TG_iter.hs Main.hs
+EXTRA_RUNTESTFLAGS = -o1 fluid.stdout2 -o1 fluid.stdout3
+include $(TOP)/nofib/mk/nofib.mk
diff --git a/real/fluid/makefile.original b/real/fluid/makefile.original
deleted file mode 100644 (file)
index d0020dc..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-MODS = Norm.hs S_Array.hs Defs.hs Input_proc.hs Elefac.hs S_matrix.hs Asb_routs.hs C_matrix.hs L_matrix.hs Rhs_Asb_routs.hs Min_degree.hs Chl_routs.hs Chl_decomp.hs Chl_method.hs Tol_cal.hs Jcb_method.hs TG_iter.hs Prog_driver.hs
-
-INTS=$(MODS:%.hs=%.hi)
-OBJS=$(MODS:%.hs=%.o)
-ASMS=$(MODS:%.hs=%.s)
-
-HC=hc
-HCFLAGS=
-
-%.s: %.hs
-       $(HC) $(HCFLAGS) -S $<
-
-%.o: %.s
-       /bin/as $< -o $@
-
-%.hi: %.s
-       if test ! -f $@ ; then \
-               rm $< ; \
-               $(MAKE) HC=$(HC) $< ; \
-       fi
-
-asms: $(ASMS)
-       @echo now link on a sun3
-
-main: $(OBJS)
-       $(HC) $(HCFLAGS) -o main $(OBJS); \
-       strip main
-
-Asb_routs.s  : Asb_routs.hs
-Asb_routs.s  : ./S_Array.hi
-Asb_routs.s  : ./Defs.hi
-C_matrix.s  : C_matrix.hs
-C_matrix.s  : ./S_Array.hi
-C_matrix.s  : ./Defs.hi
-C_matrix.s  : ./Asb_routs.hi
-Chl_decomp.s  : Chl_decomp.hs
-Chl_decomp.s  : ./S_Array.hi
-Chl_decomp.s  : ./Defs.hi
-Chl_decomp.s  : ./Asb_routs.hi
-Chl_method.s  : Chl_method.hs
-Chl_method.s  : ./S_Array.hi
-Chl_method.s  : ./Defs.hi
-Chl_method.s  : ./Asb_routs.hi
-Chl_routs.s  : Chl_routs.hs
-Chl_routs.s  : ./S_Array.hi
-Chl_routs.s  : ./Defs.hi
-Chl_routs.s  : ./Min_degree.hi
-Defs.s  : Defs.hs
-Defs.s  : ./S_Array.hi
-Elefac.s  : Elefac.hs
-Elefac.s  : ./S_Array.hi
-Elefac.s  : ./Defs.hi
-Input_proc.s  : Input_proc.hs
-Input_proc.s  : ./S_Array.hi
-Input_proc.s  : ./Defs.hi
-Jcb_method.s  : Jcb_method.hs
-Jcb_method.s  : ./S_Array.hi
-Jcb_method.s  : ./Defs.hi
-Jcb_method.s  : ./Asb_routs.hi
-Jcb_method.s  : ./Tol_cal.hi
-L_matrix.s  : L_matrix.hs
-L_matrix.s  : ./S_Array.hi
-L_matrix.s  : ./Defs.hi
-Min_degree.s  : Min_degree.hs
-Min_degree.s  : ./S_Array.hi
-Min_degree.s  : ./Defs.hi
-Norm.s  : Norm.hs
-Prog_driver.s  : Prog_driver.hs
-Prog_driver.s  : ./S_Array.hi
-Prog_driver.s  : ./Defs.hi
-Prog_driver.s  : ./Elefac.hi
-Prog_driver.s  : ./Asb_routs.hi
-Prog_driver.s  : ./Chl_routs.hi
-Prog_driver.s  : ./Chl_decomp.hi
-Prog_driver.s  : ./Chl_method.hi
-Prog_driver.s  : ./Jcb_method.hi
-Prog_driver.s  : ./TG_iter.hi
-Prog_driver.s  : ./Min_degree.hi
-Prog_driver.s  : ./Input_proc.hi
-Rhs_Asb_routs.s  : Rhs_Asb_routs.hs
-Rhs_Asb_routs.s  : ./S_Array.hi
-Rhs_Asb_routs.s  : ./Defs.hi
-Rhs_Asb_routs.s  : ./S_matrix.hi
-Rhs_Asb_routs.s  : ./C_matrix.hi
-Rhs_Asb_routs.s  : ./L_matrix.hi
-Rhs_Asb_routs.s  : ./Asb_routs.hi
-S_Array.s  : S_Array.hs
-S_Array.s  : ./Norm.hi
-S_matrix.s  : S_matrix.hs
-S_matrix.s  : ./S_Array.hi
-S_matrix.s  : ./Defs.hi
-TG_iter.s  : TG_iter.hs
-TG_iter.s  : ./Norm.hi
-TG_iter.s  : ./S_Array.hi
-TG_iter.s  : ./Defs.hi
-TG_iter.s  : ./Asb_routs.hi
-TG_iter.s  : ./Rhs_Asb_routs.hi
-TG_iter.s  : ./Jcb_method.hi
-TG_iter.s  : ./Chl_method.hi
-TG_iter.s  : ./Tol_cal.hi
-Tol_cal.s  : Tol_cal.hs
-Tol_cal.s  : ./Defs.hi
-Tol_cal.s  : ./Norm.hi
diff --git a/real/fulsom/Bah.hi b/real/fulsom/Bah.hi
deleted file mode 100644 (file)
index 276af61..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-interface Main where {
-{-# IMPORTING Shapes, Quad, Csg, Matrix, Raster, Vector, Oct, Interval, Kolor, Types #-}
-main :: Dialogue   {-# ARITY main = 1 #-}{-# STRICTNESS main = "T,T" ST #-};
-blah :: [Char]   {-# ARITY blah = 0 #-}{-# STRICTNESS blah = "T,F" ST #-}
-}
diff --git a/real/fulsom/Jmakefile b/real/fulsom/Jmakefile
deleted file mode 100644 (file)
index af3d38b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-SRCS_HS = Types.hs Interval.hs Csg.hs Kolor.hs Matrix.hs Vector.hs \
-         Oct.hs Quad.hs Raster.hs Shapes.hs Fulsom.hs Patchlevel.hs
-
-OBJS_O  = Types.o  Interval.o  Csg.o  Kolor.o  Matrix.o  Vector.o  \
-         Oct.o  Quad.o  Raster.o  Shapes.o  Fulsom.o  Patchlevel.o
-
-NoFibMultiModuleCompileAndRun(fulsom, 7 -o1 fulsom.stdout)
-
-NoFibHaskellCompile(fulsom,Types,hs)
-NoFibHaskellCompile(fulsom,Interval,hs)
-NoFibHaskellCompile(fulsom,Csg,hs)
-NoFibHaskellCompile(fulsom,Kolor,hs)
-NoFibHaskellCompile(fulsom,Matrix,hs)
-NoFibHaskellCompile(fulsom,Vector,hs)
-NoFibHaskellCompile(fulsom,Oct,hs)
-NoFibHaskellCompile(fulsom,Quad,hs)
-NoFibHaskellCompile(fulsom,Raster,hs)
-NoFibHaskellCompile(fulsom,Shapes,hs)
-NoFibHaskellCompile(fulsom,Fulsom,hs)
-NoFibHaskellCompile(fulsom,Patchlevel,hs)
-
-NoFibDependTarget(fulsom, $(SRCS_HS))
diff --git a/real/fulsom/Makefile b/real/fulsom/Makefile
new file mode 100644 (file)
index 0000000..4a6fbd9
--- /dev/null
@@ -0,0 +1,6 @@
+TOP = ../../..
+PROG = fulsom
+SRCS = Interval.hs Types.hs Matrix.hs Csg.hs Kolor.hs Vector.hs \
+       Oct.hs Quad.hs Raster.hs Shapes.hs Patchlevel.hs Fulsom.hs
+EXTRA_RUNTESTFLAGS = 7
+include $(TOP)/nofib/mk/nofib.mk
index 35a91ca..83774fe 100644 (file)
  -}
 
 module Types (
-    FType(..),
-    BI(..),Prim(..),Ops(..),Csg(..),CsgOut(..),Calc(..),
-    Color(..),
-    R3(..),R1(..),Row(..),Arr(..),
-    Oct(..),tuple,
-    Quad(..),
-    Vector(..),In(..) ) where
+  FType,BI,Prim(..),Ops(..),Csg(..),CsgOut,Calc,
+  Color(..),R3,R1,Row,Arr,Oct(..),tuple,Quad(..),Vector,In
+ )
+where
 
 import Interval
 
-----------------------------------------------------------
+---------------------------------------------------------
 -- Csg
 ----------------------------------------------------------
 
index cb6dbb9..d1de78d 100644 (file)
@@ -4,9 +4,9 @@
 --     GAMTEB: Monte Carlo
 --      1990 August
 --
-module GamtebType (Angle(..), Coord(..), Energy(..), Indx(..), PartType(..), Prob(..)
-                Random(..), StatType(..), Weight(..), Value(..), Result(..), Stat(..),
-                Point(..), Particle(..), Probability(..)) where
+module GamtebType (Angle, Coord, Energy, Indx, PartType, Prob
+                Random, StatType, Weight, Value, Result, Stat,
+                Point, Particle(..), Probability) where
 
 type   Angle           = Double
 type   Coord           = Double
diff --git a/real/gamteb/Jmakefile b/real/gamteb/Jmakefile
deleted file mode 100644 (file)
index 4ed2087..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-SRCS_HS = Compton.hs Consts.hs Distance.hs GamtebMain.hs GamtebType.hs InitTable.hs Main.hs Output.hs Pair.hs PhotoElec.hs RoulSplit.hs TransPort.hs Utils.hs
-OBJS_O  = Compton.o  Consts.o  Distance.o  GamtebMain.o  GamtebType.o  InitTable.o  Main.o  Output.o  Pair.o  PhotoElec.o  RoulSplit.o  TransPort.o  Utils.o 
-
-NoFibMultiModuleCompileAndRun(gamteb,-i gamteb.stdin -o1 gamteb.stdout -o2 gamteb.stderr)
-
-NoFibHaskellCompile(gamteb,Compton,hs)
-NoFibHaskellCompile(gamteb,Consts,hs)
-NoFibHaskellCompile(gamteb,Distance,hs)
-NoFibHaskellCompile(gamteb,GamtebMain,hs)
-NoFibHaskellCompile(gamteb,GamtebType,hs)
-NoFibHaskellCompile(gamteb,InitTable,hs)
-NoFibHaskellCompile(gamteb,Main,hs)
-NoFibHaskellCompile(gamteb,Output,hs)
-NoFibHaskellCompile(gamteb,Pair,hs)
-NoFibHaskellCompile(gamteb,PhotoElec,hs)
-NoFibHaskellCompile(gamteb,RoulSplit,hs)
-NoFibHaskellCompile(gamteb,TransPort,hs)
-NoFibHaskellCompile(gamteb,Utils,hs)
-
-NoFibDependTarget(gamteb, $(SRCS_HS))
index 8b526fa..4be38bd 100644 (file)
@@ -11,20 +11,3 @@ main = do
     s <- getContents
     let (scale, rest) = (head (reads s)) :: (Int, String)
     putStr (takeWhile ((/=) '\n') s ++ (gamteb scale))
-
-{- OLD: 1.2
-main resps =
-       [
-       Echo True,
-       AppendChan stderr "Enter the scale of computation: ",
-       ReadChan stdin,
-       calcgamteb (resps!!2)
-       ]
-
-calcgamteb (Str s) =
-       AppendChan
-           stdout
-           (takeWhile ((/=) '\n') s ++ (gamteb scale))
-       where
-           (scale, rest) = (head (reads s)) :: (Int, String)
--}
diff --git a/real/gamteb/Makefile b/real/gamteb/Makefile
new file mode 100644 (file)
index 0000000..be9f62f
--- /dev/null
@@ -0,0 +1,6 @@
+TOP = ../../..
+PROG = gamteb
+SRCS = Consts.hs GamtebType.hs Distance.hs InitTable.hs Utils.hs Pair.hs \
+       PhotoElec.hs RoulSplit.hs Compton.hs TransPort.hs Output.hs \
+       GamtebMain.hs Main.hs
+include $(TOP)/nofib/mk/nofib.mk
diff --git a/real/gamteb/makefile.original b/real/gamteb/makefile.original
deleted file mode 100644 (file)
index daf1e76..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-OBJS =         GamtebType.o Consts.o InitTable.o Utils.o Distance.o RoulSplit.o \
-       PhotoElec.o Compton.o Pair.o TransPort.o Output.o GamtebMain.o
-
-.SUFFIXES: .hs .o .t
-
-.hs.o :
-       hbc -c $<
-
-all:   ${OBJS}
-       hbc -o gamteb Main.hs ${OBJS} -lm
-
-print:
-       hsp -p GamtebType.hs Consts.hs InitTable.hs Utils.hs Distance.hs \
-       RoulSplit.hs PhotoElec.hs Compton.hs Pair.hs TransPort.hs \
-       Output.hs GamtebMain.hs Main.hs
-
-wc:
-       wc GamtebType.hs Consts.hs InitTable.hs Utils.hs Distance.hs \
-       RoulSplit.hs PhotoElec.hs Compton.hs Pair.hs TransPort.hs \
-       Output.hs GamtebMain.hs Main.hs
-
-GamtebType.o : GamtebType.hs
-Consts.o: GamtebType.hs
-InitTable.o : GamtebType.hs Consts.hs
-Utils.o: GamtebType.hs Consts.hs InitTable.hs
-Compton.o: GamtebType.hs Consts.hs Utils.hs
-Distance.o: GamtebType.hs Consts.hs
-Output.o: GamtebType.hs Consts.hs
-GamtebMain.o: GamtebType.hs Utils.hs TransPort.hs Output.hs
-InitTable.o: GamtebType.hs Consts.hs
-Pair.o: GamtebType.hs Consts.hs Utils.hs
-PhotoElec.o: GamtebType.hs Consts.hs Utils.hs
-RoulSplit.o : GamtebType.hs Utils.hs
-TransPort.o: GamtebType.hs Consts.hs Utils.hs Distance.hs RoulSplit.hs \
-        PhotoElec.hs Compton.hs Pair.hs
-Main.o: GamtebMain.hs
diff --git a/real/gg/Jmakefile b/real/gg/Jmakefile
deleted file mode 100644 (file)
index a506799..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-SRCS_HS = StdLib.hs Parse.hs GRIP.hs PSlib.hs Graph.hs Pool.hs Spark.hs Activity.hs Main.hs 
-OBJS_O  = StdLib.o  Parse.o  GRIP.o  PSlib.o  Graph.o  Pool.o  Spark.o  Activity.o  Main.o
-
-NoFibMultiModuleCompileAndRun(gg,-i gg.stdin -o1 gg.stdout -o2 gg.stderr)
-
-NoFibHaskellCompile(gg,StdLib,hs)
-NoFibHaskellCompile(gg,Parse,hs)
-NoFibHaskellCompile(gg,GRIP,hs)
-NoFibHaskellCompile(gg,PSlib,hs)
-NoFibHaskellCompile(gg,Graph,hs)
-NoFibHaskellCompile(gg,Pool,hs)
-NoFibHaskellCompile(gg,Spark,hs)
-NoFibHaskellCompile(gg,Activity,hs)
-NoFibHaskellCompile(gg,Main,hs)
-
-NoFibDependTarget(gg, $(SRCS_HS))
diff --git a/real/gg/Makefile b/real/gg/Makefile
new file mode 100644 (file)
index 0000000..3bbad66
--- /dev/null
@@ -0,0 +1,5 @@
+TOP = ../../..
+PROG = gg
+SRCS = StdLib.hs Parse.hs PSlib.hs GRIP.hs Graph.hs Pool.hs \
+       Spark.hs Activity.hs Main.hs 
+include $(TOP)/nofib/mk/nofib.mk
diff --git a/real/gg/makefile.original b/real/gg/makefile.original
deleted file mode 100644 (file)
index 13b161d..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-MODULES =        StdLib.hs Parse.hs GRIP.hs PSlib.hs Graph.hs Pool.hs Spark.hs Activity.hs Main.hs 
-
-INTERFACES=$(MODULES:%.hs=%.hi)
-
-YMODS = ${MODULES} Libfuns.hs
-YINTS=$(YMODS:%.hs=%.hi)
-YOBJS=$(YMODS:%.hs=%.o)
-
-ADMIN=${HOME}/Haskell/Admin
-
-PRE = -tp /local.fp/grip/prerelease_tasks
-OUTPUT = -O
-# HC=/usr/dw/bin/hbc
-HC=hbc
-
-.PRECIOUS: $(YINTS) $(YOBJS) 
-
-%.o: %.hs
-       ${HC} ${HFLAGS} -c $<
-
-%.hi: %.o
-       @if test ! -f $@ ; then \
-           rm $< ; \
-           ${MAKE} $@ ; \
-       fi
-
-main: ${YOBJS}
-       ${HC} ${HFLAGS} -o gg ${YOBJS}
-
-grip : 
-       @echo "Comments: "
-       @cat > .message
-       @echo "Sending..."
-       @sed -f ${ADMIN}/mail.script Ymakefile > Makefile
-       @cp ${ADMIN}/makefile .
-       @echo "Subject:" ${PRE} " MAILED -s " ${OUTPUT} ";" `cat .message` > grip.shar
-       # No output, pre-release compiler runtime system
-       @shar makefile Makefile ${INTERFACES} ${MODULES} >> grip.shar
-       @/bin/mail grip@uk.ac.gla.dcs < grip.shar
-       #/bin/mail iain < grip.shar
-       @rm grip.shar .message Makefile makefile
-       @echo "Sent"
diff --git a/real/grep/0README b/real/grep/0README
deleted file mode 100644 (file)
index 2778f91..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-Roadmap to the files in this directory:
-
-Fgrep.hs
-       uses precompiled delta table
-FgrepIO.hs
-       (ghc-0.19 -fglasgow-exts) IO monad and precompiled delta table
-FgrepIOWOTable.hs
-       (ghc-0.19 -fglasgow-exts) IO monad without delta table
-FgrepWOTable.hs
-       without delta table
-Grep.lhs
-       uses combinator parser generated at runtime
-NFA.lhs
-       generate non-deterministic finite automaton with epsilon transitions
-       from input and interpret it (choice of using epsilon compression)
-NFA-multi.lhs
-       non-deterministic finite automaton without epsilon transitions
-       (see comments in NFA.lhs)
-MakeDeltaIO.lhs
-       writes the text for module Delta to standard output
-       necessary for Fgrep and FgrepIO.
-       Compile and utter: ./MakeDeltaIO > Delta.hs
-       You will have to rename the generated module to DeltaG in order
-       to compile FgrepIO!
-Parsers.hs
-       a simple library of combinator parsers
-StringMatch.hs
-       a module containing a string match function
-       combinator parser for regular expressions which generates combinator
-       parsers for the language of the input expression
diff --git a/real/grep/Fgrep.hs b/real/grep/Fgrep.hs
deleted file mode 100644 (file)
index cb611ce..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-module Main where
-
-import Delta (final, qyfun, qnfun)
-
-main :: Dialogue
-main = getArgs exit parse_args
-
-parse_args :: [String] -> Dialogue
-parse_args (subject: files) =
-       let acc = mkAcceptor subject
-           acc' = unlines . filter acc . lines
-       in
-           readChan stdin exit (\inp -> 
-           appendChan stdout (acc' inp) exit done)
-parse_args _ = done
-
-type Acceptor  = String -> Bool
-type NAcceptor = Char -> Acceptor
-
-mkAcceptor :: String -> Acceptor
-mkAcceptor subject = let acc = mkAccept subject [("",\c -> acc)] [""] in acc
-
-mkAccept :: String -> [(String, NAcceptor)] -> [String] -> Acceptor
--- mkAccept subject prefixes suffixes
--- construct an acceptor for subject where
---  prefixes associates consumed prefixes (in reverse) to acceptors ordered by decreasing length
---  suffixes lists the suffixes (in reverse) of the consumed prefix
-mkAccept ""     pfx sfx = final
-mkAccept (c:cs) pfx sfx = accy
-       where
-         lpf  = fst (head pfx)
-         npfx = (c:lpf, accn): pfx
-         nsfx = map (c:) sfx ++ [""]
-         y    = mkAccept cs npfx nsfx
-         n    = findFirst pfx (tail nsfx)
-         accy = qyfun c y n
-         accn = qnfun c y n
-
--- findFirst implements the error function:
--- it returns the state after the longest consumed prefix which is also a suffix
--- of the current input string
-findFirst :: [(String, NAcceptor)] -> [String] -> NAcceptor
-findFirst ((pfx, acc): pfxes) (sfx: sfxes)
-       | pfx == sfx = acc
-       | otherwise  = findFirst pfxes sfxes
-findFirst _ _ = error "findFirst called with args of different length" -- should never happen 
diff --git a/real/grep/FgrepIO.hs b/real/grep/FgrepIO.hs
deleted file mode 100644 (file)
index bbe39ba..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-module Main where
-
--- uses the IO monad
--- uses precompiled Delta table
-
-import PreludeGlaIO
-import DeltaG (final, qyfun, qnfun)
-
-mainIO :: IO ()
-mainIO = getArgsIO `thenIO` parse_args
-
-parse_args :: [String] -> IO ()
-parse_args (subject: files) =
-       let acc = mkAcceptor subject
-           acc' = unlines . filter acc . lines
-       in
-           readChanIO stdin `thenIO` \inp -> 
-           appendChanIO stdout (acc' inp) `thenIO_`
-           returnIO ()
-parse_args _ = returnIO ()
-
-type Acceptor  = String -> Bool
-type NAcceptor = Char -> Acceptor
-
-mkAcceptor :: String -> Acceptor
-mkAcceptor subject = let acc = mkAccept subject [("",\c -> acc)] [""] in acc
-
-mkAccept :: String -> [(String, NAcceptor)] -> [String] -> Acceptor
--- mkAccept subject prefixes suffixes
--- construct an acceptor for subject where
---  prefixes associates consumed prefixes (in reverse) to acceptors ordered by decreasing length
---  suffixes lists the suffixes (in reverse) of the consumed prefix
-mkAccept ""     pfx sfx = final
-mkAccept (c:cs) pfx sfx = accy
-       where
-         lpf  = fst (head pfx)
-         npfx = (c:lpf, accn): pfx
-         nsfx = map (c:) sfx ++ [""]
-         y    = mkAccept cs npfx nsfx
-         n    = findFirst pfx (tail nsfx)
-         accy = qyfun c y n
-         accn = qnfun c y n
-
--- findFirst implements the error function:
--- it returns the state after the longest consumed prefix which is also a suffix
--- of the current input string
-findFirst :: [(String, NAcceptor)] -> [String] -> NAcceptor
-findFirst ((pfx, acc): pfxes) (sfx: sfxes)
-       | pfx == sfx = acc
-       | otherwise  = findFirst pfxes sfxes
-findFirst _ _ = error "findFirst called with args of different length" -- should never happen 
diff --git a/real/grep/FgrepWOTable.hs b/real/grep/FgrepWOTable.hs
deleted file mode 100644 (file)
index 7907071..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-module Main where
-
-main :: Dialogue
-main = getArgs exit parse_args
-
-parse_args :: [String] -> Dialogue
-parse_args (subject: files) =
-       let acc = mkAcceptor subject
-           acc' = unlines . filter acc . lines
-       in
-           readChan stdin exit (\inp -> 
-           appendChan stdout (acc' inp) exit done)
-parse_args _ = done
-
-type Acceptor  = String -> Bool
-type NAcceptor = Char -> Acceptor
-
-mkAcceptor :: String -> Acceptor
-mkAcceptor subject = let acc = mkAccept subject [("",\c -> acc)] [""] in acc
-
-mkAccept :: String -> [(String, NAcceptor)] -> [String] -> Acceptor
--- mkAccept subject prefixes suffixes
--- construct an acceptor for subject where
---  prefixes associates consumed prefixes (in reverse) to acceptors ordered by decreasing length
---  suffixes lists the suffixes (in reverse) of the consumed prefix
-mkAccept ""     pfx sfx = final
-mkAccept (c:cs) pfx sfx = accy
-       where
-         lpf  = fst (head pfx)
-         npfx = (c:lpf, accn): pfx
-         nsfx = map (c:) sfx ++ [""]
-         y    = mkAccept cs npfx nsfx
-         n    = findFirst pfx (tail nsfx)
-         accy = qyfun c y n
-         accn = qnfun c y n
-
--- `qyfun c0 y n' is a success continuation
--- qyfun accepts
---     a character c0 to match
---     a success continuation y (an acceptor for the rest of the string)
---     a failure continuation n (takes the character that failed to match and
---             produces an acceptor, finally)
---     a string, the object to match
--- and produces a Bool
-
-qyfun :: Char -> Acceptor -> NAcceptor -> Acceptor
-qyfun c0 y n (c:cs) | c0 == c = y cs
-                  | otherwise = n c cs
-qyfun c0 y n [] = False
-
--- `qnfun c0 y n' is a failure continuation
--- qnfun accepts
---     a character c0 to match
---     a success continuation y (an acceptor for the rest of the string)
---     a failure continuation n (takes the character that failed to match and
---             produces an acceptor, finally)
---     the character c to be matched against c0
---     a string, which is matched after c has been matched against c0
--- and produces a Bool
-
-qnfun :: Char -> Acceptor -> NAcceptor -> NAcceptor
-qnfun c0 y n c cs = if c == c0 then y cs else n c cs
-
-final :: Acceptor
-final _ = True
-
--- findFirst implements the error function:
--- it returns the state after the longest consumed prefix which is also a suffix
--- of the current input string
-findFirst :: [(String, NAcceptor)] -> [String] -> NAcceptor
-findFirst ((pfx, acc): pfxes) (sfx: sfxes)
-       | pfx == sfx = acc
-       | otherwise  = findFirst pfxes sfxes
-findFirst _ _ = error "findFirst called with args of different length" -- should never happen 
diff --git a/real/grep/Grep.lhs b/real/grep/Grep.lhs
deleted file mode 100644 (file)
index 30ca57e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-> module Main where
-
-> import StringMatch (stringMatch)
-
-> main :: Dialogue
-> main = getArgs exit parse_args
-
-> parse_args :: [String] -> Dialogue
-> parse_args (regexp: files) =
->      let acc = stringMatch regexp
->          acc' = unlines . filter acc . lines
->      in
->          readChan stdin exit (\inp -> 
->          appendChan stdout (acc' inp) exit done)
-> parse_args _ = done
diff --git a/real/grep/Jmakefile b/real/grep/Jmakefile
deleted file mode 100644 (file)
index e9808a7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-SRCS_HS = Parsers.hs StringMatch.hs Main.lhs
-OBJS_O  = Parsers.o  StringMatch.o  Main.o
-
-/* Cmd line needs work */
-
-NoFibMultiModuleCompileAndRun(grep, grep.stdin apat -o1 grep.stdout)
-
-NoFibHaskellCompile(grep,Parsers,hs)
-NoFibHaskellCompile(grep,StringMatch,hs)
-NoFibHaskellCompile(grep,Main,lhs)
-
-NoFibDependTarget(grep, $(SRCS_HS))
diff --git a/real/grep/Main_WAS_NFA b/real/grep/Main_WAS_NFA
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/real/grep/MakeDeltaIO.lhs b/real/grep/MakeDeltaIO.lhs
deleted file mode 100644 (file)
index 080fea1..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-> module Main where
-
-mkYesFun i
-makes the definition of a function qy_i of type 
-qy_i :: (String -> Bool) -> (Char -> String -> Bool) -> String -> Bool
-
-> mkYesFun :: Int -> Dialogue -> Dialogue
-> mkYesFun i = output (
->      "qy" ++ show i ++ " y n ('\\" ++ show i ++ "': cs) = y cs\n\
->      \qy" ++ show i ++ " y n (c:cs) = n c cs\n\
->      \qy" ++ show i ++ " y n [] = False\n")
-
-mkNoFun i
-makes the definition of a function of type
-qn_i :: (String -> Bool) -> (Char -> String -> Bool) -> Char -> String -> Bool
-
-> mkNoFun :: Int -> Dialogue -> Dialogue
-> mkNoFun i = output
->      ("qn" ++ show i ++ " y n c cs = if c == '\\" ++ show i ++"' then y cs else n c cs\n")
-
-mkFuns
-provides an iterator for the above two functions
-
-> mkFuns :: (Int -> Dialogue -> Dialogue) -> Int -> Int -> Dialogue -> Dialogue
-> mkFuns fun f t = do f
->   where
->     do i = if i <= t then fun i . do (i+1) else id
-
-mkFunList name f t
-*** unused ***
-creates the definition for a list <name>s which contains all of the <name>_i in order
-<name>s :: [(String -> Bool) -> (String -> Bool) -> String -> Bool]
-
-> mkFunList :: String -> Int -> Int -> Dialogue -> Dialogue
-> mkFunList name f t = output
->      (name ++ "s = [" ++ tail (concat [ ",\n\t" ++ name ++ show i | i <- [f..t]]) ++ "]\n")
-
-mkSelect name i
-creates the i-th branch for the function <name>fun of type
-<name>fun :: Char -> typeOf <name>
-
-> mkSelect :: String -> Int -> Dialogue -> Dialogue
-> mkSelect name i = output
->      (name ++ "fun '\\" ++ show i ++ "' = " ++ name ++ show i ++ "\n")
-
-
-mkArray f t
-*** unused ***
-creates the definition for the array qa which contains all of the q_i
-qa :: Array Int ((String -> Bool) -> (String -> Bool) -> String -> Bool)
-
-> mkArray :: Int -> Int -> Dialogue -> Dialogue
-> mkArray f t = output
->      ("qa = listArray ('\\" ++ show f ++ "','\\" ++ show t ++"') qs\n")
-
-> mkFinal = output(
->      "final :: String -> Bool\n\
->      \final _ = True\n")
-
-> mkHeader = output "module Delta (qyfun, qnfun, final) where\n"
-
-> main = (
->      mkHeader .
->      mkFinal .
->      mkFuns (mkSelect "qy") 0 127 .
->      mkFuns (mkSelect "qn") 0 127 .
->      mkFuns mkYesFun 0 127 .
->      mkFuns mkNoFun 0 127
->      ) done
-
-> output :: String -> Dialogue -> Dialogue
-> output str = appendChan stdout str exit
-
diff --git a/real/grep/Makefile b/real/grep/Makefile
new file mode 100644 (file)
index 0000000..e0603ea
--- /dev/null
@@ -0,0 +1,5 @@
+TOP = ../../..
+PROG = grep
+SRCS = Parsers.hs StringMatch.hs Main.lhs
+EXTRA_RUNTESTFLAGS = grep.stdin apat
+include $(TOP)/nofib/mk/nofib.mk
diff --git a/real/grep/NFA-multi.lhs b/real/grep/NFA-multi.lhs
deleted file mode 100644 (file)
index 2180070..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-> module Main where
-
-> import Parsers
-
-> infixr 8 +.+ , +.. , ..+
-> infixl 7 <<< , <<*
-> infixr 6 |||
-> 
-> (+.+) = thn
-> (..+) = xthn
-> (+..) = thnx
-> (|||) = alt
-> (<<<) = using
-> (<<*) = using2
-> lit   :: Eq a => a -> Parser a a
-> lit   = literal
-> star  = rpt
-> anyC  = satisfy (const True)
-> butC cs = satisfy (not.(`elem` cs))
-> noC   "" = [("","")]
-> noC   _  = []
-> unitL x = [x]
-
-----------------------------------------------------------------------
-
-> main :: Dialogue
-> main = getArgs exit parse_args
-
-> parse_args :: [String] -> Dialogue
-> parse_args (regexp: files) =
->      let acc = acceptor (fst(head(nnRegexp regexp)))
->          acc' = unlines . filter acc . lines
->      in
->          readChan stdin exit (\inp -> 
->          appendChan stdout (acc' inp) exit done)
-> parse_args _ =
->      getProgName exit (\progName ->
->      appendChan stderr ("Usage: " ++ progName ++ " regexp\n") exit done)
-
-{-
-  Atom         = character | "\\" character | "." | "\\(" Regexp "\\) .
-  ExtAtom      = Atom ["*" | "+" | "?"] .
-  Factor       = ExtAtom + .
-  Regexp       = Factor / "\\|" ["$"].
--}
-
-> data NFANode 
->              = NFAChar Char [NFANode]
->      | NFAAny  [NFANode]
->      | NFAEps  [NFANode]
->      | NFAEnd  [NFANode]
->      | NFAFinal
->      | NFATable [(Char, [NFANode])] [NFANode] [NFANode] Bool
-> 
-> nfaChar = NFAChar
-> nfaAny  = NFAAny
-> nfaEps2 ns1 ns2 = [mkTable [] [] [] False (ns1 ++ ns2)]
-> nfaEnd  = NFAEnd
-> nfaFinal= NFAFinal
-> 
-> addPair :: Char -> [NFANode] -> [(Char, [NFANode])] -> [(Char, [NFANode])]
-> addPair c ns [] = [(c, ns)]
-> addPair c ns ((c',ns'):pairs) | c == c' = (c, ns++ns'):pairs
->                             | otherwise = (c', ns'):addPair c ns pairs
-
-> mkTable pairs anys ends final []      = NFATable pairs anys ends final 
-> mkTable pairs anys ends final (NFAChar c n:ns) = mkTable (addPair c n pairs) anys ends final ns
-> mkTable pairs anys ends final (NFAAny n:ns) = mkTable pairs (n++anys) ends final ns
-> mkTable pairs anys ends final (NFATable pairs' anys' ends' final':ns) = mkTable (pairs'++pairs) (anys'++anys) (ends'++ends) (final' || final) ns
-> mkTable pairs anys ends final (NFAEnd n:ns) = mkTable pairs anys (n++ends) final ns
-> mkTable pairs anys ends final (NFAFinal:ns) = mkTable pairs anys ends True ns
-> mkTable _ _ _ _ _ = error "illegal argument to mkTable"
-> 
-> type NFAproducer = [NFANode] -> [NFANode]
-
-An NFAproducer takes a list of final states and produces a list of entry states
-
-> nnAtom :: Parser Char NFAproducer
-> nnAtom =
->      lit '\\' ..+ lit '(' ..+ nnRegexp +.. lit '\\' +.. lit ')'
->  ||| lit '\\' ..+ butC "|()"  <<< (\ c -> unitL . nfaChar c)
->  ||| lit '.'                  <<< const (unitL . nfaAny)
->  ||| butC "\\.$"              <<< (\ c -> unitL . nfaChar c)
->  ||| lit '$' `followedBy` anyC <<< (\ c -> unitL . nfaChar c)
-
-> nnExtAtom :: Parser Char NFAproducer
-> nnExtAtom =
->      nnAtom +.+ opt (lit '*' <<< const (\ at finals ->
->                                       let at_inits = at (nfaEps2 finals at_inits)
->                                       in  nfaEps2 at_inits finals)
->              |||  lit '+' <<< const (\ at finals ->
->                                       let at_inits = at (nfaEps2 finals at_inits)
->                                       in  at_inits)
->              |||  lit '?' <<< const (\ at finals ->
->                                       let at_inits = at finals
->                                       in  nfaEps2 finals at_inits))
->      <<< helper
->      where
->        helper (ea, []) = ea
->        helper (ea, [f]) = f ea
-> 
-> nnFactor :: Parser Char NFAproducer
-> nnFactor =
->      plus nnExtAtom  <<< foldr (.) id
-
-> nnRegexp :: Parser Char NFAproducer
-> nnRegexp =
->      nnFactor +.+ star (lit '\\' ..+ lit '|' ..+ nnFactor) +.+ opt (lit '$')
->      <<< helper
->      where
->        helper (ef, (efs, [])) = foldl combine ef efs
->        helper (ef, (efs, _ )) = foldl combine ef efs . unitL . nfaEnd
->       combine f1 f2 final = nfaEps2 (f1 final) (f2 final)
-
-> nfaStep states c = concat (map step states)
->   where
->     step (NFAChar c' ns') | c == c' = ns'
->     step (NFAAny ns') = ns'
->     step (NFATable pairs anys ends finals) = concat [ n' | (c',n') <- pairs, c == c' ] ++ anys
->     step _ = []
-
-precondition: there are no epsilon cycles!
-
-> epsClosure [] = []
-> epsClosure (NFAEps ns:ns') = epsClosure (ns++ns')
-> epsClosure (n:ns) = n:epsClosure ns
-
-> acceptor :: NFAproducer -> String -> Bool
-> acceptor nfa str = nfaRun (nfa [NFAFinal]) str
-
-> nfaRun ns (c:cs) = nfaRun (nfaStep ns c) cs
-> nfaRun ns [] = not (null ((concat (map step ns))))
->   where
->     step (NFAEnd ns') = ns'
->     step (NFAFinal)  = [NFAFinal]
->     step (NFATable pairs anys ends True) = [NFAFinal]
->     step (NFATable pairs anys ends finals) = ends
->     step _           = []
-
index 5fac295..4e65fed 100644 (file)
@@ -1,5 +1,5 @@
 module EdgePlate(Edge,edgeT,edgeH, s,h,t, Plate(Plt),n,
-                Input(..),Object(..),makeObject) where
+                Input,Object,makeObject) where
 import Numbers
 import Vectors
 {- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/real/hidden/Jmakefile b/real/hidden/Jmakefile
deleted file mode 100644 (file)
index f7923a7..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/* NB: one .lhs file */
-
-SRCS_HS = Numbers.hs Vectors.hs EdgePlate.hs Matrices.hs Rotate.lhs \
-       Geometric.hs MyIO.hs Solve.hs Postscript.hs Preds.hs Cross.hs \
-       Comparing.hs Memo.hs Hide.hs Main.hs
-
-OBJS_O = Numbers.o Vectors.o EdgePlate.o Matrices.o Rotate.o Geometric.o \
-        MyIO.o Solve.o Postscript.o Preds.o Cross.o Comparing.o Memo.o Hide.o Main.o
-
-NoFibMultiModuleCompileAndRun(hidden,-i hidden.stdin -o1 hidden.stdout -o1 hidden.stdout2 -o1 hidden.stdout3 -o2 hidden.stderr objects/four.plate)
-
-NoFibHaskellCompile(hidden,Numbers,hs)
-NoFibHaskellCompile(hidden,Vectors,hs)
-NoFibHaskellCompile(hidden,EdgePlate,hs)
-NoFibHaskellCompile(hidden,Matrices,hs)
-NoFibHaskellCompile(hidden,Rotate,lhs)
-NoFibHaskellCompile(hidden,Geometric,hs)
-NoFibHaskellCompile(hidden,MyIO,hs)
-NoFibHaskellCompile(hidden,Solve,hs)
-NoFibHaskellCompile(hidden,Postscript,hs)
-NoFibHaskellCompile(hidden,Preds,hs)
-NoFibHaskellCompile(hidden,Cross,hs)
-NoFibHaskellCompile(hidden,Comparing,hs)
-NoFibHaskellCompile(hidden,Memo,hs)
-NoFibHaskellCompile(hidden,Hide,hs)
-NoFibHaskellCompile(hidden,Main,hs)
-
-NoFibDependTarget(hidden, $(SRCS_HS))
diff --git a/real/hidden/Makefile b/real/hidden/Makefile
new file mode 100644 (file)
index 0000000..024264e
--- /dev/null
@@ -0,0 +1,7 @@
+TOP = ../../..
+PROG = hidden
+SRCS = Numbers.hs Vectors.hs EdgePlate.hs Matrices.hs Rotate.lhs \
+       Geometric.hs MyIO.hs Solve.hs Postscript.hs Preds.hs Cross.hs \
+       Comparing.hs Memo.hs Hide.hs Main.hs
+EXTRA_RUNTESTFLAGS = -o1 hidden.stdout2 -o1 hidden.stdout3 objects/four.plate
+include $(TOP)/nofib/mk/nofib.mk
index 7ad466d..14b5876 100644 (file)
@@ -1,4 +1,4 @@
-module Matrices (Matrix(..),mat,rows,mulm) where
+module Matrices (Matrix,mat,rows,mulm) where
 import Numbers
 import Vectors
 -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/real/hidden/makefile.original b/real/hidden/makefile.original
deleted file mode 100644 (file)
index 50388d9..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-OBJS = Numbers.o Vectors.o EdgePlate.o Matrices.o Rotate.o Geometric.o \
-       IO.o Solve.o Postscript.o Preds.o Cross.o Comparing.o Memo.o Hide.o Top.o
-
-.SUFFIXES:
-.SUFFIXES: .hs .lhs .hi .o
-
-.hs.o:
-       glhc -O2 -c $<
-
-.lhs.o:
-       glhc -O2 -c $<
-
-hiddenline: $(OBJS)
-       glhc -o $@ $(OBJS)
-       strip $@
-
-Numbers.o :
-Vectors.o : Numbers.hi
-EdgePlate.o : Numbers.hi Vectors.hi
-Matrices.o : Numbers.hi Vectors.hi
-Rotate.o : Numbers.hi Vectors.hi Matrices.hi
-Geometric.o : Numbers.hi Vectors.hi EdgePlate.hi Rotate.hi
-IO.o : Numbers.hi Vectors.hi
-Solve.o : Numbers.hi Vectors.hi EdgePlate.hi
-Postscript.o : Numbers.hi Vectors.hi EdgePlate.hi
-Preds.o : Numbers.hi Vectors.hi EdgePlate.hi Geometric.hi
-Cross.o : Numbers.hi Vectors.hi EdgePlate.hi Solve.hi Preds.hi
-Comparing.o : Numbers.hi Vectors.hi EdgePlate.hi Preds.hi Solve.hi Geometric.hi Cross.hi
-Memo.o : Numbers.hi Vectors.hi EdgePlate.hi Comparing.hi
-Hide.o : Numbers.hi Vectors.hi EdgePlate.hi Geometric.hi Comparing.hi Memo.hi Postscript.hi
-Top.o : Numbers.hi Vectors.hi Hide.hi IO.hi
index ba1c118..066b4ab 100644 (file)
@@ -6,8 +6,8 @@
 --
 module Consts (charge, mass, nCell, nStep, maxDepth) where
 
-import PicType
-import Utils
+import PicType
+import Utils
 
 nCell, nStep, maxDepth :: Indx
 charge, mass :: Value
diff --git a/real/pic/Jmakefile b/real/pic/Jmakefile
deleted file mode 100644 (file)
index 357aa0f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-SRCS_HS = ChargeDensity.hs Consts.hs ElecField.hs Main.hs Pic.hs PicType.hs Potential.hs PushParticle.hs Utils.hs
-OBJS_O  = ChargeDensity.o  Consts.o  ElecField.o  Main.o  Pic.o  PicType.o  Potential.o  PushParticle.o  Utils.o 
-
-NoFibMultiModuleCompileAndRun(pic,-i pic.stdin -o1 pic.stdout -o2 pic.stderr)
-
-NoFibHaskellCompile(pic,ChargeDensity,hs)
-NoFibHaskellCompile(pic,Consts,hs)
-NoFibHaskellCompile(pic,ElecField,hs)
-NoFibHaskellCompile(pic,Main,hs)
-NoFibHaskellCompile(pic,Pic,hs)
-NoFibHaskellCompile(pic,PicType,hs)
-NoFibHaskellCompile(pic,Potential,hs)
-NoFibHaskellCompile(pic,PushParticle,hs)
-NoFibHaskellCompile(pic,Utils,hs)
-
-NoFibDependTarget(pic, $(SRCS_HS))
index 375563c..7385bc3 100644 (file)
@@ -12,21 +12,3 @@ main = do
     s <- getContents
     let (nPart, rest) = (head (reads s)) :: (Int, String)
     putStr (takeWhile ((/=) '\n') s ++ (pic nPart))
-
-{- OLD 1.2:
-main :: [Response] -> [Request]
-main resps =
-       [
-       Echo True,
-       AppendChan stderr "Enter the number of particles: ",
-       ReadChan stdin,
-       calcpic (resps!!2)
-       ]
-
-calcpic (Str s) =
-       AppendChan
-           stdout
-           (takeWhile ((/=) '\n') s ++ (pic nPart))
-       where
-           (nPart, rest) = (head (reads s)) :: (Int, String)
--}
diff --git a/real/pic/Makefile b/real/pic/Makefile
new file mode 100644 (file)
index 0000000..ddfbd33
--- /dev/null
@@ -0,0 +1,5 @@
+TOP = ../../..
+PROG = pic
+SRCS = PicType.hs Utils.hs Consts.hs ChargeDensity.hs ElecField.hs \
+       Potential.hs PushParticle.hs Pic.hs Main.hs
+include $(TOP)/nofib/mk/nofib.mk
index 1cb72f1..7d61c86 100644 (file)
@@ -4,10 +4,10 @@
 --     PIC: Particle in Cell
 --      1990 August
 --
-module PicType (Count(..), Indx(..), Value(..), Mesh(..), MeshAssoc(..), Electric(..),
-               Phi(..), Rho(..), Position(..), Range(..), Velocity(..), ParticleHeap(..)) where
+module PicType (Count, Indx, Value, Mesh, MeshAssoc, Electric,
+               Phi, Rho, Position, Range, Velocity, ParticleHeap) where
 
-import Array -- 1.3
+import Array
 
 type   Count           = Int
 type   Indx            = Int
diff --git a/real/pic/makefile.original b/real/pic/makefile.original
deleted file mode 100644 (file)
index aca6302..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-OBJS =         PicType.o Utils.o Consts.o ChargeDensity.o Potential.o \
-       ElecField.o PushParticle.o Pic.o
-
-.SUFFIXES: .hs .o
-
-.hs.o :
-       hbc -c $<
-
-all:   ${OBJS}
-       hbc -o pic Main.hs ${OBJS} -lm
-
-print:
-       hsp -p PicType.hs Consts.hs Utils.hs ChargeDensity.hs \
-       Potential.hs ElecField.hs PushParticle.hs Pic.hs Main.hs
-
-wc:
-       wc PicType.hs Consts.hs Utils.hs ChargeDensity.hs \
-       Potential.hs ElecField.hs PushParticle.hs Pic.hs Main.hs
-
-PicType.o:     PicType.hs
-Utils.o:       PicType.hs
-Consts.o:      PicType.hs Utils.hs
-ChargeDensity.o: PicType.hs Consts.hs Utils.hs
-Potential.o:   PicType.hs Consts.hs Utils.hs
-ElecField.o:   PicType.hs Consts.hs
-PushParticle.o:        PicType.hs Consts.hs
-Pic.o:         PicType.hs Consts.hs Utils.hs ChargeDensity.hs Potential.hs \
-               ElecField.hs PushParticle.hs
-Main.o:                Pic.hs
index c8bf516..d5acec8 100644 (file)
@@ -4,7 +4,7 @@
 --
 -- uses Haskell B. version 0.99.3
 --
-module Interact(Interactive(..), skip, end, readln, writeln, readch) where
+module Interact(Interactive, skip, end, readln, writeln, readch) where
 
 -- The functions defined in this module provide basic facilities for
 -- writing line-oriented interactive programs (i.e. a function mapping
diff --git a/real/prolog/Jmakefile b/real/prolog/Jmakefile
deleted file mode 100644 (file)
index 0f626e3..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/* has the "stack-based" version already wired in */
-
-SRCS_HS=PrologData.hs Parse.hs Interact.hs Subst.hs Engine.hs Version.hs Main.hs
-OBJS_O= PrologData.o  Parse.o  Interact.o  Subst.o  Engine.o  Version.o  Main.o
-
-NoFibMultiModuleCompileAndRun(prolog, -i prolog.stdin -o1 prolog.stdout)
-
-NoFibHaskellCompile(prolog,PrologData,hs)
-NoFibHaskellCompile(prolog,Parse,hs)
-NoFibHaskellCompile(prolog,Interact,hs)
-NoFibHaskellCompile(prolog,Subst,hs)
-NoFibHaskellCompile(prolog,Engine,hs)
-NoFibHaskellCompile(prolog,Version,hs)
-NoFibHaskellCompile(prolog,Main,hs)
-
-NoFibDependTarget(prolog, $(SRCS_HS))
diff --git a/real/prolog/Makefile b/real/prolog/Makefile
new file mode 100644 (file)
index 0000000..bc5cd40
--- /dev/null
@@ -0,0 +1,4 @@
+TOP = ../../..
+PROG = prolog
+SRCS = PrologData.hs Parse.hs Interact.hs Subst.hs Engine.hs Version.hs Main.hs
+include $(TOP)/nofib/mk/nofib.mk
index c7af0cd..23455cc 100644 (file)
@@ -4,7 +4,7 @@
 --
 -- uses Haskell B. version 0.99.3
 --
-module Subst(Subst(..), nullSubst, (->>), (@@), apply, unify) where
+module Subst(Subst, nullSubst, (->>), (@@), apply, unify) where
 
 import PrologData
 
diff --git a/real/reptile/Jmakefile b/real/reptile/Jmakefile
deleted file mode 100644 (file)
index a014207..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-SRCS_HS= Diff.hs Mgrfuns.hs Drawfuns.hs Geomfuns.hs Layout.hs Interstate.hs Tilefuns.hs Help.hs Rational.hs Auxprogfuns.hs Psfuns.hs Progfuns.hs Main.hs 
-OBJS_O=  Diff.o  Mgrfuns.o  Drawfuns.o  Geomfuns.o  Layout.o  Interstate.o  Tilefuns.o  Help.o  Rational.o  Auxprogfuns.o  Psfuns.o  Progfuns.o Main.o  
-
-NoFibMultiModuleCompileAndRun(reptile,-i reptile.stdin -o1 reptile.stdout)
-
-NoFibHaskellCompile(reptile,Main,hs)
-NoFibHaskellCompile(reptile,Diff,hs)
-NoFibHaskellCompile(reptile,Mgrfuns,hs)
-NoFibHaskellCompile(reptile,Drawfuns,hs)
-NoFibHaskellCompile(reptile,Geomfuns,hs)
-NoFibHaskellCompile(reptile,Layout,hs)
-NoFibHaskellCompile(reptile,Interstate,hs)
-NoFibHaskellCompile(reptile,Tilefuns,hs)
-NoFibHaskellCompile(reptile,Help,hs)
-NoFibHaskellCompile(reptile,Rational,hs)
-NoFibHaskellCompile(reptile,Auxprogfuns,hs)
-NoFibHaskellCompile(reptile,Psfuns,hs)
-NoFibHaskellCompile(reptile,Progfuns,hs)
-
-NoFibDependTarget(reptile, $(SRCS_HS))
diff --git a/real/reptile/Makefile b/real/reptile/Makefile
new file mode 100644 (file)
index 0000000..0aa104e
--- /dev/null
@@ -0,0 +1,6 @@
+TOP = ../../..
+PROG = reptile
+SRCS = Diff.hs Mgrfuns.hs Drawfuns.hs Geomfuns.hs Layout.hs \
+       Interstate.hs Tilefuns.hs Help.hs Rational.hs Auxprogfuns.hs \
+       Psfuns.hs Progfuns.hs Main.hs 
+include $(TOP)/nofib/mk/nofib.mk
index 45b2281..5f1ec9b 100644 (file)
@@ -1,7 +1,7 @@
 -- LML original: Sandra Foubister, 1990
 -- Haskell translation: Colin Runciman, May 1991
 
-module Progfuns (tileprompt, tilequit, tiletrans, potatotile, State(..)) where
+module Progfuns (tileprompt, tilequit, tiletrans, potatotile, State) where
 
 import Mgrfuns
 import Drawfuns
diff --git a/real/reptile/makefile.original b/real/reptile/makefile.original
deleted file mode 100644 (file)
index a3a8efb..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-OBJS =  Diff.o Mgrfuns.o Drawfuns.o Geomfuns.o Layout.o Interstate.o Tilefuns.o Help.o Rational.o Auxprogfuns.o Psfuns.o Progfuns.o
-MAINOBJ1 = Main.o
-MAINOBJ2 = Main3.o
-HSRC = Diff.hs Mgrfuns.hs Drawfuns.hs Geomfuns.hs Layout.hs Progfuns.hs Interstate.hs Psfuns.hs Main.hs Auxprogfuns.hs Rational.hs Tilefuns.hs Help.hs Main3.hs
-
-HC = khc
-.SUFFIXES :
-.SUFFIXES : .hs .o
-
-.hs.o :
-       ${HC} -c ${HFLAGS} $<
-
-reptile: ${OBJS} ${MAINOBJ1}
-        ${HC} ${HFLAGS} ${OBJS}  ${MAINOBJ1}
-        mv a.out reptile
-
-newreptile: ${OBJS} ${MAINOBJ2}
-        ${HC} ${HFLAGS} ${OBJS}  ${MAINOBJ2}
-        mv a.out newreptile
-clean:
-       rm -f *.o a.out
-
-# DEPENDENCIES
-Mgrfuns.o:  Diff.hi
-Drawfuns.o:  Mgrfuns.hi Diff.hi
-Geomfuns.o:  Mgrfuns.hi Drawfuns.hi
-Layout.o:  Mgrfuns.hi Drawfuns.hi Diff.hi
-Progfuns.o:  Mgrfuns.hi Drawfuns.hi Geomfuns.hi Psfuns.hi Interstate.hi Auxprogfuns.hi Layout.hi Tilefuns.hi Help.hi
-Psfuns.o:  Geomfuns.hi Auxprogfuns.hi
-Main.o:  Mgrfuns.hi Progfuns.hi Auxprogfuns.hi Layout.hi Tilefuns.hi
-Auxprogfuns.o:  Mgrfuns.hi Diff.hi Drawfuns.hi Geomfuns.hi Layout.hi Rational.hi
-Tilefuns.o:  Layout.hi Drawfuns.hi Geomfuns.hi
-Help.o:  Layout.hi Mgrfuns.hi
-
-
-
diff --git a/real/rsa/Jmakefile b/real/rsa/Jmakefile
deleted file mode 100644 (file)
index 2f1fe78..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-SRCS   = Rsa.hs Main.hs
-OBJS_O = Rsa.o  Main.o
-
-NoFibMultiModuleCompileAndRun(rsa,-i rsa.stdin -o1 rsa.stdout)
-
-NoFibHaskellCompile(rsa,Rsa,hs)
-NoFibHaskellCompile(rsa,Main,hs)
-
-NoFibDependTarget(rsa, $(SRCS))
diff --git a/real/rsa/Main-decrypt.hs b/real/rsa/Main-decrypt.hs
deleted file mode 100644 (file)
index e32bdd6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-module Main
-where
-
-import Rsa
-
-main = interact (decrypt 2036450659413645137870851576872812267542175329986469156678671505255564383842535488743101632280716717779536712424613501441720195827856504007305662157107
-                         5282760067491066073559694937813662322539426172665930660813609694132726350877)
diff --git a/real/rsa/Main-keys.hs b/real/rsa/Main-keys.hs
deleted file mode 100644 (file)
index a781fd2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-module Main
-where
-
-import Rsa
-
-main = interact (prompt . keys . lines)
-
-keys (x:y:xs) = makeKeys (read x) (read y)
-prompt ks = "\nEnter two random numbers on separate lines:\n" ++
-            case ks of
-              (n,e,d) -> "The numbers n, e, and d are:\n" ++
-                         unlines (map show [n,e,d]) ++ "\n"
-
-
-
diff --git a/real/rsa/Makefile b/real/rsa/Makefile
new file mode 100644 (file)
index 0000000..17dc3c8
--- /dev/null
@@ -0,0 +1,4 @@
+TOP = ../../..
+PROG = rsa
+SRCS = Rsa.hs Main.hs
+include $(TOP)/nofib/mk/nofib.mk
index 5419aeb..3d9b761 100644 (file)
@@ -1,4 +1,4 @@
-module Env (Env(..), initEnv, lookupEnv, enterEnv) where
+module Env (Env, initEnv, lookupEnv, enterEnv) where
 
 import Ast
 import BasicNumber
diff --git a/real/symalg/Jmakefile b/real/symalg/Jmakefile
deleted file mode 100644 (file)
index 152077c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SRCS_HS=Ast.hs BasicNumber.hs BasicNumberApprox.hs Env.hs Eval.hs Lexer.hs Main.hs Op.hs Parser.hs Print.hs RealM.hs
-OBJS_O =Ast.o  BasicNumber.o  BasicNumberApprox.o  Env.o  Eval.o  Lexer.o  Main.o  Op.o  Parser.o  Print.o  RealM.o 
-
-NoFibMultiModuleCompileAndRun(symalg,-i symalg.stdin -o1 symalg.stdout)
-
-NoFibHaskellCompile(symalg,Ast,hs)
-NoFibHaskellCompile(symalg,BasicNumber,hs)
-NoFibHaskellCompile(symalg,BasicNumberApprox,hs)
-NoFibHaskellCompile(symalg,Env,hs)
-NoFibHaskellCompile(symalg,Eval,hs)
-NoFibHaskellCompile(symalg,Lexer,hs)
-NoFibHaskellCompile(symalg,Main,hs)
-NoFibHaskellCompile(symalg,Op,hs)
-NoFibHaskellCompile(symalg,Parser,hs)
-NoFibHaskellCompile(symalg,Print,hs)
-NoFibHaskellCompile(symalg,RealM,hs)
-
-NoFibDependTarget(symalg, $(SRCS_HS))
diff --git a/real/symalg/Makefile b/real/symalg/Makefile
new file mode 100644 (file)
index 0000000..6ca6ddc
--- /dev/null
@@ -0,0 +1,5 @@
+TOP = ../../..
+PROG = symalg
+SRCS = RealM.hs BasicNumber.hs Ast.hs BasicNumberApprox.hs Env.hs Eval.hs \
+       Lexer.hs Op.hs Parser.hs Print.hs Main.hs
+include $(TOP)/nofib/mk/nofib.mk