[project @ 1996-11-27 18:15:47 by dnt]
authordnt <unknown>
Wed, 27 Nov 1996 18:17:02 +0000 (18:17 +0000)
committerdnt <unknown>
Wed, 27 Nov 1996 18:17:02 +0000 (18:17 +0000)
Converted more Jmakefiles to Makefiles
Updated more programs to work with Haskell 1.3

52 files changed:
real/bspt/Makefile
real/bspt/Merge.lhs
real/bspt/Prog.lhs
real/bspt/Render.lhs
real/compress2/Makefile
real/ebnf2ps/Makefile
real/fem/DB_interface.hs
real/fem/Database.hs
real/fem/Degrees.hs
real/fem/Matrix.hs
real/fem/VBmatrix.hs
real/hpg/Jmakefile [deleted file]
real/hpg/Makefile [new file with mode: 0644]
real/hpg/Types.lhs
real/infer/Environment.hs
real/infer/Infer.hs
real/infer/InferMonad.hs
real/infer/Jmakefile [deleted file]
real/infer/Makefile [new file with mode: 0644]
real/infer/Parse.hs
real/infer/Shows.hs
real/infer/State.hi [deleted file]
real/infer/Substitution.hs
real/infer/Term.hs
real/infer/Type.hs
real/lift/Jmakefile [deleted file]
real/lift/Makefile [new file with mode: 0644]
real/lift/Utilities.lhs
real/linear/AbsCg.hi
real/linear/AbsDensematrix.hi
real/linear/AbsDensematrix.lhs
real/linear/Absmatlib.hi
real/linear/Cg.hi
real/linear/Cg.lhs
real/linear/Densematrix.hi
real/linear/Densematrix.lhs
real/linear/Input.hi
real/linear/Input.lhs
real/linear/Jmakefile [deleted file]
real/linear/LMLTrace.hi [deleted file]
real/linear/Makefile [new file with mode: 0644]
real/linear/Matlib.hi
real/linear/Matlib.lhs
real/linear/Matrix.hi
real/linear/Matrix.lhs
real/linear/Misc.hi
real/linear/Utils.hi
real/maillist/Jmakefile [deleted file]
real/maillist/Makefile [new file with mode: 0644]
real/parser/Jmakefile [deleted file]
real/parser/Makefile [new file with mode: 0644]
real/prolog/Makefile

index 4327796..7c73ddd 100644 (file)
@@ -1,9 +1,7 @@
 TOP = ../../..
 PROG = bspt
-
-SRCS = 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
-
+SRCS = Stdlib.lhs Rationals.lhs Libfuns.lhs Params.lhs  GeomNum.lhs \
+       MGRlib.lhs Euclid.lhs EuclidGMS.lhs BSPT.lhs Init.lhs \
+       Interpret.lhs Input.lhs Merge.lhs Render.lhs Interface.lhs \
+       Prog.lhs Main.lhs       
 include $(TOP)/nofib/mk/nofib.mk
index 9fd08f9..ca6e47f 100644 (file)
@@ -7,8 +7,8 @@
 > where
 
 > import BSPT (BSPT(..),Status(..),bsp',bsp'',mkCell,partFaces,foldBSPT)
-> import EuclidGMS (Point,Line,Face(..),Region,Location(..),Partition(..),Faces(..),
->                  newRegion,getPart,bisect,location,section,flip_YORK, Segment(..))
+> import EuclidGMS (Point,Line,Face(..),Region,Location(..),Partition,Faces,
+>                  newRegion,getPart,bisect,location,section,flip_YORK, Segment)
 > import Stdlib (mappair)
 > import GeomNum
 > import Libfuns
index fcea233..bdb94d7 100644 (file)
@@ -25,16 +25,11 @@ import Euclid (Face, Faces(..))
 --             as the second argument.
  
 prog ::  String -> String
-prog rawinp =  initialise ++ modeller (buildBSPT []) operations
-               where   
-               initialise = initialiseMouse ++ initialiseScreen
-               operations = if 
-#ifdef PAR
-                               True
-#else
-                               (head=="batch") 
-#endif
-                               then operationsBatch
-                               else interpret lined
-               lined@(head:rest) = lines rawinp
+prog rawinp =
+  initialise ++ modeller (buildBSPT []) operations
+ where         
+  initialise = initialiseMouse ++ initialiseScreen
+  lined@(head:rest) = lines rawinp
+  operations =
+    if (head=="batch") then operationsBatch else interpret lined
 \end{code}
index 2102293..b79b1af 100644 (file)
@@ -11,7 +11,7 @@
  
 > import BSPT (BSPT(..),Status(..),countLeaves,scanLine,foldBSPT)
 > import EuclidGMS (Point(..),Line,Face(..),Region,getRegion,
->                  Faces(..),mkFace,section,drawSegment, Segment(..), Partition(..))
+>                  Faces,mkFace,section,drawSegment,Segment,Partition)
 > import Stdlib (mapcat,middle,const3)
 > import Params (renderTop,renderHeight,renderLeft,windowWidth)
 > import GeomNum
index 6f546b6..15c42d8 100644 (file)
@@ -1,6 +1,6 @@
 TOP = ../../..
 PROG = compress2
-SRCS = WriteRoutines.hs Encode.hs Main.hs
+SRCS = Encode.hs WriteRoutines.hs Main.hs
 EXTRA_HCFLAGS = -fglasgow-exts
 EXTRA_RUNTESTFLAGS = -i ../../spectral/hartel/listcompr/listcompr.stdout
 include $(TOP)/nofib/mk/nofib.mk
index 22de6c8..08b4874 100644 (file)
@@ -1,7 +1,7 @@
 TOP = ../../..
 PROG = ebnf2ps
-SRCS = Parsers.hs StringMatch.hs Info.hs Fonts.hs IOSupplement.hs \
-       EbnfGrammar.hs EbnfLayout.hs PsOutput.hs FigOutput.hs Color.hs \
+SRCS = Parsers.hs StringMatch.hs Color.hs Fonts.hs Info.hs IOSupplement.hs \
+       EbnfGrammar.hs EbnfLayout.hs PsOutput.hs FigOutput.hs \
        CommandLine.hs AbstractSyntax.hs Lexer.hs HappyParser.hs \
        GrammarTransform.hs Main.hs
 EXTRA_RUNTESTFLAGS = ebnf2ps.stdin apat -o1 ebnf2ps.stdout
index 40643a1..3915050 100644 (file)
@@ -10,6 +10,7 @@
 module DB_interface(nnode, nmats, getnxy, getnbc, getmpro, 
                     nelem, nplds, getenlr, getemat, getpld) where
 
+import Array
 import Database
 
 nnode, nelem, nmats, nplds :: (Array Int Int, Array Int Float) -> Int
index f541614..680f6c7 100644 (file)
@@ -11,7 +11,8 @@
 -- **********************************************************************
 
 module Database(idatabase,rdatabase) where
-
+import Array
+import Char (isDigit)
 
 idatabase :: [Char] -> Array Int Int
 
index 0c17bd5..d77b1db 100644 (file)
@@ -12,6 +12,7 @@
 
 module Degrees( ndgrs, getndgr, degreesrlt ) where
 
+import Array
 import Basics
 import Vector
 import DB_interface
index af51351..63c5739 100644 (file)
@@ -14,6 +14,7 @@ module Matrix(Mat, makemat, boundmat, matsub, incrmat, updmat,
               mmatvec, mmatmat, row, col, intchrow, intchcol, interchmat,
               displaymat) where
 
+import Ix
 import Basics
 
 import Vector
index 1d70037..4754610 100644 (file)
@@ -12,7 +12,6 @@ module VBmatrix(Vbm, defvbmat, makevbmat, incrvbmat, updvbmat,
                 diagadrvbm, displayvbmati, displayvbmatr) where
 
 import Basics
-
 import Vector
 
 data Vbm a = VBMAT Int (Vec Int) (Vec a)
@@ -23,10 +22,10 @@ makevbmat  :: Int -> Vec Int -> ( (Int,Int) -> a ) -> Vbm a
        -- make a variable bandwidth matrix, by giving the diagonal
        -- element address vector and a element value generator.
 
-updvbmat   :: Vbm a -> [Assoc (Int,Int) a] -> Vbm a
+updvbmat   :: Vbm a -> [((Int,Int),a)] -> Vbm a
        -- update matrix with the given index-value association list
 
-incrvbmat  :: (Num a) => Vbm a -> [Assoc (Int,Int) a] -> Vbm a
+incrvbmat  :: (Num a) => Vbm a -> [((Int,Int),a)] -> Vbm a
         -- increase matrix by the given index-value association list
 
 vbmatsub   :: Vbm a -> (Int,Int) -> a
@@ -85,14 +84,14 @@ incrvbmat vbm updates =
         where
        (VBMAT n addiag elements) = vbm
        new_elements = incrvec elements new_s
-       new_s = map (\( (i,j) := x) -> (addrvbmat vbm  (i,j) := x) ) updates
+       new_s = map (\((i,j),x) -> (addrvbmat vbm (i,j),x) ) updates
 
 updvbmat vbm updates =
         VBMAT n addiag new_elements
         where
         VBMAT n addiag elements = vbm
         new_elements = updvec elements new_s
-        new_s = map (\( (i,j) := x) -> (addrvbmat vbm  (i,j) := x) ) updates
+        new_s = map (\((i,j),x) -> (addrvbmat vbm (i,j),x) ) updates
 
 vbmatsub vbm (i,j) =
        vecsub elements (addrvbmat vbm (i,j))
diff --git a/real/hpg/Jmakefile b/real/hpg/Jmakefile
deleted file mode 100644 (file)
index 2109142..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-SRCS_LHS=Config.lhs Types.lhs Env.lhs Utils.lhs GenVal.lhs GenExp.lhs GenType.lhs Main.lhs 
-OBJS_O=  Config.o   Types.o   Env.o   Utils.o  GenVal.o   GenExp.o   GenType.o   Main.o   
-
-NoFibMultiModuleCompileAndRun(hpg,-o1 hpg.stdout HaskellEndRTSFlags() -nt 8 -dt 6 -nv 15 -dv 8 -de 8)
-
-NoFibHaskellCompile(hpg,Config,lhs)
-NoFibHaskellCompile(hpg,Env,lhs)
-NoFibHaskellCompile(hpg,GenExp,lhs)
-NoFibHaskellCompile(hpg,Main,lhs)
-NoFibHaskellCompile(hpg,GenType,lhs)
-NoFibHaskellCompile(hpg,GenVal,lhs)
-NoFibHaskellCompile(hpg,Types,lhs)
-NoFibHaskellCompile(hpg,Utils,lhs)
-
-NoFibDependTarget(hpg, $(SRCS_LHS))
diff --git a/real/hpg/Makefile b/real/hpg/Makefile
new file mode 100644 (file)
index 0000000..ce7816d
--- /dev/null
@@ -0,0 +1,6 @@
+TOP = ../../..
+PROG = hpg
+SRCS = Config.lhs Types.lhs Env.lhs Utils.lhs GenVal.lhs \
+       GenExp.lhs GenType.lhs Main.lhs 
+EXTRA_RUNTESTFLAGS = -RTS -nt 8 -dt 6 -nv 15 -dv 8 -de 8
+include $(TOP)/nofib/mk/nofib.mk
index 543c633..01b9026 100644 (file)
@@ -20,9 +20,8 @@ need to read any of them.
 \begin{haskell}
 
 > module Types (
->     Type_decl(..), Htype(..), Argtype(..), Base_type(..), Num_kind(..),
->     Constructor(..), Type_name(..),
->     Val_decl(..), Value(..), Val_name(..),
+>     Type_decl, Htype, Argtype(..), Base_type(..), Num_kind(..),
+>     Constructor, Type_name, Val_decl, Value(..), Val_name,
 >     Expression(..),
 >     showsType_decl, showsVal_decl, vrange,
 >     int_val,
index fe894c9..363100c 100644 (file)
@@ -5,8 +5,8 @@ module Environment
 
 import Shows
 import Parse
-import Term           (VarId (..), readsId)
-import Type           (TVarId (..), TConId (..), MonoType (..), PolyType (All), freeTVarPoly)
+import Term           (VarId, readsId)
+import Type           (TVarId, TConId, MonoType, PolyType (All), freeTVarPoly)
 import FiniteMap      (FM, emptyFM, lookupFM, extendFM, makeFM, unmakeFM,
                        mapFM, domFM, ranFM)
 data  Env             =   MkEnv (FM VarId PolyType)
index 96a6e39..2061272 100644 (file)
@@ -3,9 +3,9 @@ module Infer (inferTerm) where
 import List(nub)
 
 import  MyList                  (minus)
-import  Type                  (TVarId (..), TConId (..), MonoType (..), PolyType (All),
+import  Type                  (TVarId, TConId, MonoType (..), PolyType (All),
                                arrow, freeTVarMono)
-import  Term                  (VarId (..), Term (Var, Abs, App, Let))
+import  Term                  (VarId, Term (Var, Abs, App, Let))
 import  Substitution          (Sub, applySub, lookupSub, makeSub)
 import  Environment           (Env, lookupEnv, extendLocal, extendGlobal,
                                domEnv, freeTVarEnv)
index d5eb68e..e215526 100644 (file)
@@ -4,7 +4,7 @@ module InferMonad     (Infer, returnI, eachI, thenI, guardI, useI, getSubI,
 
 import Maybe          (Maybe, returnM, eachM, thenM, failM, guardM, theM, existsM, useM)
 import StateX         (StateX, returnSX, eachSX, thenSX, toSX, putSX, getSX, useSX)
-import Type           (TVarId (..), TConId (..), MonoType (TVar, TCon), freeTVarMono)
+import Type           (TVarId, TConId, MonoType (TVar, TCon), freeTVarMono)
 import Substitution   (Sub, applySub, lookupSub, emptySub, extendSub, domSub, unifySub)
 type  Counter         =  Int
 data  Infer x         =  MkI (StateX Sub (StateX Counter (Maybe ((x, Sub), Counter))))
diff --git a/real/infer/Jmakefile b/real/infer/Jmakefile
deleted file mode 100644 (file)
index 58f3665..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-SRCS_HS=MyList.hs Shows.hs Parse.hs Maybe.hs StateX.hs \
- Type.hs Term.hs FiniteMap.hs Substitution.hs Environment.hs \
- InferMonad.hs Infer.hs Main.hs
-
-OBJS_O= MyList.o Shows.o Parse.o Maybe.o StateX.o Type.o Term.o FiniteMap.o Substitution.o Environment.o InferMonad.o Infer.o Main.o
-
-NoFibMultiModuleCompileAndRun(infer,-i infer.stdin -o1 infer.stdout)
-
-NoFibHaskellCompile(infer,MyList,hs)
-NoFibHaskellCompile(infer,Shows,hs)
-NoFibHaskellCompile(infer,Parse,hs)
-NoFibHaskellCompile(infer,Maybe,hs)
-NoFibHaskellCompile(infer,StateX,hs)
-NoFibHaskellCompile(infer,Type,hs)
-NoFibHaskellCompile(infer,Term,hs)
-NoFibHaskellCompile(infer,FiniteMap,hs)
-NoFibHaskellCompile(infer,Substitution,hs)
-NoFibHaskellCompile(infer,Environment,hs)
-NoFibHaskellCompile(infer,InferMonad,hs)
-NoFibHaskellCompile(infer,Infer,hs)
-NoFibHaskellCompile(infer,Main,hs)
-
-NoFibDependTarget(infer, $(SRCS_HS))
diff --git a/real/infer/Makefile b/real/infer/Makefile
new file mode 100644 (file)
index 0000000..b073153
--- /dev/null
@@ -0,0 +1,6 @@
+TOP = ../../..
+PROG = infer
+SRCS = MyList.hs Shows.hs Parse.hs Maybe.hs StateX.hs \
+       Type.hs Term.hs FiniteMap.hs Substitution.hs Environment.hs \
+       InferMonad.hs Infer.hs Main.hs
+include $(TOP)/nofib/mk/nofib.mk
index f22993c..a2d3f69 100644 (file)
@@ -1,5 +1,5 @@
 module Parse
-      (Parse (..), Parses (..),                       --  data types
+      (Parse, Parses,                       --  data types
        thenP, returnP, eachP, consP,                  --  sequencing and success
        elseP, failP, guardP, filterP,                 --  alternation and failure
        starP, plusP, cutP,                            --  repetition and cut
index 80f8d27..3adb7a5 100644 (file)
@@ -1,5 +1,5 @@
 module  Shows
-      (Shows (..), showsEmpty, showsConcat, showsString, showsChar, showsStar,
+      (Shows, showsEmpty, showsConcat, showsString, showsChar, showsStar,
        showsStarSep, showsSurround, showsListOf, showsParen, showsParenIf)
       where
 
@@ -26,5 +26,3 @@ showsParen                    :: ShowS -> ShowS
 showsParen                    =  showsSurround "(" id ")"
 showsParenIf                  :: Bool -> ShowS -> ShowS
 showsParenIf b xS             =  if  b  then  showsParen xS  else  xS
---id                          :: x -> x
---id x                        =  x
diff --git a/real/infer/State.hi b/real/infer/State.hi
deleted file mode 100644 (file)
index 568747d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-interface State where {
-data State a b;
-returnS :: a -> State b a   {-# ARITY returnS = 1 #-}{-# STRICTNESS returnS = "T,F" ST #-};
-eachS :: (State a b) -> (b -> c) -> State a c   {-# ARITY eachS = 2 #-}{-# STRICTNESS eachS = "T,F" ST #-};
-thenS :: (State a b) -> (b -> State a c) -> State a c   {-# ARITY thenS = 2 #-}{-# STRICTNESS thenS = "T,F" ST #-};
-putS :: a -> State a ()   {-# ARITY putS = 1 #-}{-# STRICTNESS putS = "T,F" ST #-};
-getS :: State a a   {-# ARITY getS = 0 #-}{-# STRICTNESS getS = "T,T" ST #-};
-useS :: (State a b) -> a -> b   {-# ARITY useS = 2 #-}{-# STRICTNESS useS = "T,F" ST #-}
-}
index 769f0b9..27864ff 100644 (file)
@@ -2,7 +2,7 @@ module Substitution   (Sub, applySub, lookupSub, emptySub, extendSub,
                        makeSub, thenSub, domSub, unifySub)
                       where
 
-import Type           (TVarId (..), TConId (..), MonoType (TVar, TCon), freeTVarMono)
+import Type           (TVarId, TConId, MonoType (TVar, TCon), freeTVarMono)
 import FiniteMap      (FM, emptyFM, lookupElseFM, makeFM, extendFM,
                        thenFM, mapFM, domFM, ranFM)
 import Maybe          (Maybe, thenM, returnM, failM, guardM)
index 003db75..7c80019 100644 (file)
@@ -1,5 +1,6 @@
-module Term (VarId (..), Term (Var, Abs, App, Let), readsId)
-            where
+module Term
+  (VarId, Term (Var, Abs, App, Let), readsId)
+where
 
 import Parse
 import Shows
index 10c9571..f675302 100644 (file)
@@ -1,5 +1,5 @@
 module Type
-       (TVarId (..), TConId (..),
+       (TVarId, TConId,
         MonoType (TVar, TCon), arrow,
         PolyType (All),
         freeTVarMono, freeTVarPoly)
diff --git a/real/lift/Jmakefile b/real/lift/Jmakefile
deleted file mode 100644 (file)
index 191e2a0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-SRCS   = Utilities.lhs LambdaLift.lhs Print.lhs Test.hs Main.lhs 
-OBJS_O = Utilities.o LambdaLift.o Print.o Test.o Main.o 
-
-NoFibMultiModuleCompileAndRun(lift,-o1 lift.stdout)
-
-NoFibHaskellCompile(lift,LambdaLift,lhs)
-NoFibHaskellCompile(lift,Print,lhs)
-NoFibHaskellCompile(lift,Main,lhs)
-NoFibHaskellCompile(lift,Utilities,lhs)
-NoFibHaskellCompile(lift,Test,hs)
-
-NoFibDependTarget(lift, $(SRCS))
diff --git a/real/lift/Makefile b/real/lift/Makefile
new file mode 100644 (file)
index 0000000..6b3a2c4
--- /dev/null
@@ -0,0 +1,4 @@
+TOP = ../../..
+PROG = lift
+SRCS = Utilities.lhs LambdaLift.lhs Print.lhs Test.hs Main.lhs
+include $(TOP)/nofib/mk/nofib.mk
index 2d74a23..9010f2f 100644 (file)
@@ -2,7 +2,7 @@ Utilities module for the fully lazy lambda lifter
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 > module Utilities( 
->      Assn(..), assLookup,
+>      Assn, assLookup,
 >      NameSupply, initialNameSupply, newName,
 >      Set, setFromList, setEmpty, setSingleton, setToList,
 >              setUnion, setIntersect, setDifference, setUnionList,
index ce10007..40019a1 100644 (file)
@@ -1,9 +1,21 @@
-interface AbsCg where {
-{-# IMPORTING Cg #-}
-import AbsDensematrix(Block, Vec);
-import Cg(Cg_state(..));
-import Matrix(Block_list, Col_pos, Row_pos);
-solve_iters :: ([Block_list] -> [Vec] -> ([Block_list], [Vec])) -> ([Block_list] -> [Vec] -> [Vec]) -> [[(Row_pos, Col_pos, Block)]] -> [[Float]] -> [Cg_state]   {-# ARITY solve_iters = 0 #-}{-# STRICTNESS solve_iters = "T,F" ST #-};
-data Cg_state = Cg_stateC ([[Float]]) ([[Float]]) ([[Float]]) ([[Float]]) Int deriving ();
-show_state :: [[Float]] -> Cg_state -> [Char]   {-# ARITY show_state = 0 #-}{-# STRICTNESS show_state = "T,F" ST #-}
-}
+interface AbsCg 1
+__usages__
+AbsDensematrix 1 :: Block 1 Vec 1;
+Cg 1 :: Cg_state 1 Precond_function 1 Scale_function 1 cgiters 1 showcg_state 1;
+Densematrix 1 :: Matrix 1 Vector 1;
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+Matrix 1 :: Block_list 1 Block_tuple 1 Col_pos 1 Matrix 1 Matrix_type 1 Row_pos 1 Vector 1 Vector_type 1;
+Prelude 32 :: && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 not 2 readParen 8 showParen 2 showString 2;
+Ratio 21 :: Ratio 9 Rational 2;
+__versions__
+show_state 1
+solve_iters 1
+__exports__
+Cg Cg_state (..)
+AbsCg show_state (..)
+AbsCg solve_iters (..)
+__declarations__
+AbsCg.show_state :: Matrix.Vector -> Cg.Cg_state -> [Prelude.Char];
+AbsCg.solve_iters :: Cg.Scale_function -> Cg.Precond_function -> Matrix.Matrix -> Matrix.Vector -> [Cg.Cg_state];
index 30000f3..8169c0c 100644 (file)
-interface AbsDensematrix where {
-{-# IMPORTING Densematrix #-}
-import Densematrix(matlist, mkrvec, mkvec, update2, veclist, vecpart);
-type Block = [[Float]];
-type Vec = [Float];
-bmult :: [[Float]] -> [[Float]] -> [[Float]]   {-# ARITY bmult = 0 #-}{-# STRICTNESS bmult = "T,F" ST #-};
-bvecmult :: [[Float]] -> [Float] -> [Float]   {-# ARITY bvecmult = 0 #-}{-# STRICTNESS bvecmult = "T,F" ST #-};
-vecbmult :: [Float] -> [[Float]] -> [Float]   {-# ARITY vecbmult = 0 #-}{-# STRICTNESS vecbmult = "T,F" ST #-};
-vecdot :: [Float] -> [Float] -> Float   {-# ARITY vecdot = 0 #-}{-# STRICTNESS vecdot = "T,F" ST #-};
-vecnorm :: [Float] -> Float   {-# ARITY vecnorm = 0 #-}{-# STRICTNESS vecnorm = "T,F" ST #-};
-vecouter :: [Float] -> [Float] -> [[Float]]   {-# ARITY vecouter = 0 #-}{-# STRICTNESS vecouter = "T,F" ST #-};
-badd :: [[Float]] -> [[Float]] -> [[Float]]   {-# ARITY badd = 0 #-}{-# STRICTNESS badd = "T,F" ST #-};
-bsub :: [[Float]] -> [[Float]] -> [[Float]]   {-# ARITY bsub = 0 #-}{-# STRICTNESS bsub = "T,F" ST #-};
-vecadd :: [Float] -> [Float] -> [Float]   {-# ARITY vecadd = 0 #-}{-# STRICTNESS vecadd = "T,F" ST #-};
-vecsub :: [Float] -> [Float] -> [Float]   {-# ARITY vecsub = 0 #-}{-# STRICTNESS vecsub = "T,F" ST #-};
-bsize :: [[Float]] -> (Int, Int)   {-# ARITY bsize = 0 #-}{-# STRICTNESS bsize = "T,F" ST #-};
-vecsize :: [Float] -> Int   {-# ARITY vecsize = 0 #-}{-# STRICTNESS vecsize = "T,F" ST #-};
-bneg :: [[Float]] -> [[Float]]   {-# ARITY bneg = 0 #-}{-# STRICTNESS bneg = "T,F" ST #-};
-bxpose :: [[Float]] -> [[Float]]   {-# ARITY bxpose = 0 #-}{-# STRICTNESS bxpose = "T,F" ST #-};
-bident :: Int -> [[Float]]   {-# ARITY bident = 0 #-}{-# STRICTNESS bident = "T,F" ST #-};
-vecneg :: [Float] -> [Float]   {-# ARITY vecneg = 0 #-}{-# STRICTNESS vecneg = "T,F" ST #-};
-svecmult :: Float -> [Float] -> [Float]   {-# ARITY svecmult = 0 #-}{-# STRICTNESS svecmult = "T,F" ST #-};
-mkblock :: [[Float]] -> [[Float]]   {-# ARITY mkblock = 0 #-}{-# STRICTNESS mkblock = "T,F" ST #-};
-bswaprow :: Int -> Int -> [[Float]] -> [[Float]]   {-# ARITY bswaprow = 0 #-}{-# STRICTNESS bswaprow = "T,F" ST #-};
-bswapcol :: Int -> Int -> [[Float]] -> [[Float]]   {-# ARITY bswapcol = 0 #-}{-# STRICTNESS bswapcol = "T,F" ST #-};
-bdroprow :: [[Float]] -> [[Float]]   {-# ARITY bdroprow = 0 #-}{-# STRICTNESS bdroprow = "T,F" ST #-};
-bgetrow :: Int -> [[Float]] -> [Float]   {-# ARITY bgetrow = 0 #-}{-# STRICTNESS bgetrow = "T,F" ST #-};
-bgetcol :: Int -> [[Float]] -> [Float]   {-# ARITY bgetcol = 0 #-}{-# STRICTNESS bgetcol = "T,F" ST #-};
-bsubscript :: [[Float]] -> (Int, Int) -> Float   {-# ARITY bsubscript = 0 #-}{-# STRICTNESS bsubscript = "T,F" ST #-};
-vecsubscript :: [Float] -> Int -> Float   {-# ARITY vecsubscript = 0 #-}{-# STRICTNESS vecsubscript = "T,F" ST #-};
-bupdate :: [[Float]] -> (Int, Int) -> Float -> [[Float]]   {-# ARITY bupdate = 0 #-}{-# STRICTNESS bupdate = "T,F" ST #-};
-vecupdate :: [Float] -> Int -> Float -> [Float]   {-# ARITY vecupdate = 0 #-}{-# STRICTNESS vecupdate = "T,F" ST #-};
-vechd :: [Float] -> Float   {-# ARITY vechd = 0 #-}{-# STRICTNESS vechd = "T,F" ST #-};
-vectl :: [Float] -> [Float]   {-# ARITY vectl = 0 #-}{-# STRICTNESS vectl = "T,F" ST #-};
-mergevecs :: [[Float]] -> [Float]   {-# ARITY mergevecs = 0 #-}{-# STRICTNESS mergevecs = "T,F" ST #-};
-binverse :: [[Float]] -> [[Float]]   {-# ARITY binverse = 0 #-}{-# STRICTNESS binverse = "T,F" ST #-};
-showblock :: [[Float]] -> [Char]   {-# ARITY showblock = 0 #-}{-# STRICTNESS showblock = "T,F" ST #-};
-showvec :: [Float] -> [Char]   {-# ARITY showvec = 0 #-}{-# STRICTNESS showvec = "T,F" ST #-};
-mkvec :: [Float] -> [Float]   {-# ARITY mkvec = 0 #-}{-# STRICTNESS mkvec = "T,F" ST #-};
-mkrvec :: [Float] -> [Float]   {-# ARITY mkrvec = 0 #-}{-# STRICTNESS mkrvec = "T,F" ST #-};
-vecpart :: Int -> Int -> [Float] -> [Float]   {-# ARITY vecpart = 3 #-}{-# STRICTNESS vecpart = "T,F" ST #-};
-update2 :: [[Float]] -> (Int, Int, Int) -> (Float, Float) -> [[Float]]   {-# ARITY update2 = 3 #-}{-# STRICTNESS update2 = "1&2,F" ST #-};
-veclist :: [Float] -> [Float]   {-# ARITY veclist = 0 #-}{-# STRICTNESS veclist = "T,F" ST #-};
-matlist :: [[Float]] -> [[Float]]   {-# ARITY matlist = 0 #-}{-# STRICTNESS matlist = "T,F" ST #-}
-}
+interface AbsDensematrix 1
+__usages__
+Densematrix 1 :: Matrix 1 Vector 1 displayvector 1 droprow 1 getcol 1 getrow 1 madd 1 matlist 1 matvecmult 1 mergevectors 1 mident 1 minverse 1 mkmat 1 mkrvec 1 mkvec 1 mmult 1 mneg 1 msize 1 msub 1 mxpose 1 norm 1 showmatrix 1 subscript 1 svmult 1 swapcol 1 swaprow 1 update 1 update2 1 vadd 1 vdot 1 veclist 1 vecpart 1 vhd 1 vmmult 1 vneg 1 vouter 1 vsize 1 vsub 1 vsubscript 1 vtl 1 vupdate 1;
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+Prelude 32 :: && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 not 2 readParen 8 showParen 2 showString 2;
+Ratio 21 :: Ratio 9 Rational 2;
+__versions__
+Block 1
+Vec 1
+badd 1
+bdroprow 1
+bgetcol 1
+bgetrow 1
+bident 1
+binverse 1
+bmult 1
+bneg 1
+bsize 1
+bsub 1
+bsubscript 1
+bswapcol 1
+bswaprow 1
+bupdate 1
+bvecmult 1
+bxpose 1
+mergevecs 1
+mkblock 1
+showblock 1
+showvec 1
+svecmult 1
+vecadd 1
+vecbmult 1
+vecdot 1
+vechd 1
+vecneg 1
+vecnorm 1
+vecouter 1
+vecsize 1
+vecsub 1
+vecsubscript 1
+vectl 1
+vecupdate 1
+__exports__
+AbsDensematrix Block 
+AbsDensematrix Vec 
+AbsDensematrix badd (..)
+AbsDensematrix bdroprow (..)
+AbsDensematrix bgetcol (..)
+AbsDensematrix bgetrow (..)
+AbsDensematrix bident (..)
+AbsDensematrix binverse (..)
+AbsDensematrix bmult (..)
+AbsDensematrix bneg (..)
+AbsDensematrix bsize (..)
+AbsDensematrix bsub (..)
+AbsDensematrix bsubscript (..)
+AbsDensematrix bswapcol (..)
+AbsDensematrix bswaprow (..)
+AbsDensematrix bupdate (..)
+AbsDensematrix bvecmult (..)
+AbsDensematrix bxpose (..)
+Densematrix matlist (..)
+AbsDensematrix mergevecs (..)
+AbsDensematrix mkblock (..)
+Densematrix mkrvec (..)
+Densematrix mkvec (..)
+AbsDensematrix showblock (..)
+AbsDensematrix showvec (..)
+AbsDensematrix svecmult (..)
+Densematrix update2 (..)
+AbsDensematrix vecadd (..)
+AbsDensematrix vecbmult (..)
+AbsDensematrix vecdot (..)
+AbsDensematrix vechd (..)
+Densematrix veclist (..)
+AbsDensematrix vecneg (..)
+AbsDensematrix vecnorm (..)
+AbsDensematrix vecouter (..)
+Densematrix vecpart (..)
+AbsDensematrix vecsize (..)
+AbsDensematrix vecsub (..)
+AbsDensematrix vecsubscript (..)
+AbsDensematrix vectl (..)
+AbsDensematrix vecupdate (..)
+__declarations__
+type AbsDensematrix.Block  = Densematrix.Matrix;
+type AbsDensematrix.Vec  = Densematrix.Vector;
+AbsDensematrix.badd :: Densematrix.Matrix -> Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bdroprow :: Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bgetcol :: Prelude.Int -> Densematrix.Matrix -> Densematrix.Vector;
+AbsDensematrix.bgetrow :: Prelude.Int -> Densematrix.Matrix -> Densematrix.Vector;
+AbsDensematrix.bident :: Prelude.Int -> Densematrix.Matrix;
+AbsDensematrix.binverse :: Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bmult :: Densematrix.Matrix -> Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bneg :: Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bsize :: Densematrix.Matrix -> (Prelude.Int, Prelude.Int);
+AbsDensematrix.bsub :: Densematrix.Matrix -> Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bsubscript :: Densematrix.Matrix -> (Prelude.Int, Prelude.Int) -> Prelude.Float;
+AbsDensematrix.bswapcol :: Prelude.Int -> Prelude.Int -> Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bswaprow :: Prelude.Int -> Prelude.Int -> Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.bupdate :: Densematrix.Matrix -> (Prelude.Int, Prelude.Int) -> Prelude.Float -> Densematrix.Matrix;
+AbsDensematrix.bvecmult :: Densematrix.Matrix -> Densematrix.Vector -> Densematrix.Vector;
+AbsDensematrix.bxpose :: Densematrix.Matrix -> Densematrix.Matrix;
+AbsDensematrix.mergevecs :: [Densematrix.Vector] -> Densematrix.Vector;
+AbsDensematrix.mkblock :: [[Prelude.Float]] -> Densematrix.Matrix;
+AbsDensematrix.showblock :: Densematrix.Matrix -> [Prelude.Char];
+AbsDensematrix.showvec :: Densematrix.Vector -> [Prelude.Char];
+AbsDensematrix.svecmult :: Prelude.Float -> Densematrix.Vector -> Densematrix.Vector;
+AbsDensematrix.vecadd :: Densematrix.Vector -> Densematrix.Vector -> Densematrix.Vector;
+AbsDensematrix.vecbmult :: Densematrix.Vector -> Densematrix.Matrix -> Densematrix.Vector;
+AbsDensematrix.vecdot :: Densematrix.Vector -> Densematrix.Vector -> Prelude.Float;
+AbsDensematrix.vechd :: Densematrix.Vector -> Prelude.Float;
+AbsDensematrix.vecneg :: Densematrix.Vector -> Densematrix.Vector;
+AbsDensematrix.vecnorm :: Densematrix.Vector -> Prelude.Float;
+AbsDensematrix.vecouter :: Densematrix.Vector -> Densematrix.Vector -> Densematrix.Matrix;
+AbsDensematrix.vecsize :: Densematrix.Vector -> Prelude.Int;
+AbsDensematrix.vecsub :: Densematrix.Vector -> Densematrix.Vector -> Densematrix.Vector;
+AbsDensematrix.vecsubscript :: Densematrix.Vector -> Prelude.Int -> Prelude.Float;
+AbsDensematrix.vectl :: Densematrix.Vector -> Densematrix.Vector;
+AbsDensematrix.vecupdate :: Densematrix.Vector -> Prelude.Int -> Prelude.Float -> Densematrix.Vector;
index daf02a5..16c15bc 100644 (file)
@@ -6,7 +6,7 @@ statement(from Matrix) is left as a comment at the foot of this file.
 
 \begin{code}
  
-module AbsDensematrix(Block(..),Vec(..),bmult,bvecmult,vecbmult,vecdot,vecnorm,
+module AbsDensematrix(Block,Vec,bmult,bvecmult,vecbmult,vecdot,vecnorm,
                       vecouter,badd,bsub,vecadd,vecsub,bsize,vecsize,bneg,
                       bxpose,bident,vecneg,svecmult,mkblock,bswaprow,bswapcol,
                       bdroprow,bgetrow,bgetcol,bsubscript,vecsubscript,bupdate,
index 9a1d15c..dfdc52d 100644 (file)
@@ -1,9 +1,21 @@
-interface Absmatlib where {
-{-# IMPORTING Matlib #-}
-import AbsDensematrix(Vec);
-import Matlib(uncondition);
-import Matrix(Block_list);
-doscale :: [Block_list] -> [Vec] -> ([Block_list], [Vec])   {-# ARITY doscale = 0 #-}{-# STRICTNESS doscale = "T,F" ST #-};
-doprecond :: Int -> [Block_list] -> [Vec] -> [Vec]   {-# ARITY doprecond = 0 #-}{-# STRICTNESS doprecond = "T,F" ST #-};
-uncondition :: [Block_list] -> [Vec] -> [Vec]   {-# ARITY uncondition = 2 #-}{-# STRICTNESS uncondition = "1,F" ST #-}
-}
+interface Absmatlib 1
+__usages__
+AbsDensematrix 1 :: Block 1 Vec 1;
+Densematrix 1 :: Matrix 1 Vector 1;
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+Matlib 1 :: Precond_function 1 precond 1 scale 1 uncondition 1;
+Matrix 1 :: Block_list 1 Block_tuple 1 Col_pos 1 Matrix 1 Matrix_type 1 Row_pos 1 Vector 1 Vector_type 1;
+Prelude 32 :: && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 not 2 readParen 8 showParen 2 showString 2;
+Ratio 21 :: Ratio 9 Rational 2;
+__versions__
+doprecond 1
+doscale 1
+__exports__
+Absmatlib doprecond (..)
+Absmatlib doscale (..)
+Matlib uncondition (..)
+__declarations__
+Absmatlib.doprecond :: Prelude.Int -> Matlib.Precond_function;
+Absmatlib.doscale :: Matrix.Matrix -> Matrix.Vector -> (Matrix.Matrix, Matrix.Vector);
index 1db564d..5f7b6b5 100644 (file)
@@ -1,8 +1,29 @@
-interface Cg where {
-{-# IMPORTING Utils #-}
-import AbsDensematrix(Vec);
-import Matrix(Block_list, Matrix, Vector);
-cgiters :: (Matrix -> Vector -> (Matrix, Vector)) -> (Matrix -> Vector -> Vector) -> [Block_list] -> [Vec] -> [Cg_state]   {-# ARITY cgiters = 4 #-}{-# STRICTNESS cgiters = "T,F" ST #-};
-data Cg_state = Cg_stateC ([Vec]) ([Vec]) ([Vec]) ([Vec]) Int deriving ();
-showcg_state :: [Vec] -> Cg_state -> [Char]   {-# ARITY showcg_state = 2 #-}{-# STRICTNESS showcg_state = "1,F" ST #-}
-}
+interface Cg 1
+__usages__
+AbsDensematrix 1 :: Block 1 Vec 1;
+Densematrix 1 :: Matrix 1 Vector 1;
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+Matrix 1 :: Block_list 1 Block_tuple 1 Col_pos 1 Matrix 1 Matrix_type 1 Row_pos 1 Scalar 1 Vector 1 Vector_type 1 mvmult 1 norm 1 svmult 1 vadd 1 vdot 1 vsub 1;
+Prelude 32 :: && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 iterate 8 not 2 readParen 8 show 8 showParen 2 showString 2;
+Ratio 21 :: Ratio 9 Rational 2;
+Utils 1 :: rjustify 1 spaces 1;
+__versions__
+Cg_state 1
+Precond_function 1
+Scale_function 1
+cgiters 1
+showcg_state 1
+__exports__
+Cg Cg_state (..)
+Cg cgiters (..)
+Cg showcg_state (..)
+__declarations__
+data  Cg.Cg_state  = Cg.Cg_stateC Matrix.Vector Matrix.Vector Matrix.Vector Matrix.Vector Prelude.Int ;
+type Cg.Precond_function  = Matrix.Matrix -> Matrix.Vector -> Matrix.Vector;
+type Cg.Scale_function  = Matrix.Matrix -> Matrix.Vector -> (Matrix.Matrix, Matrix.Vector);
+Cg.cgiters :: Cg.Scale_function -> Cg.Precond_function -> Matrix.Matrix -> Matrix.Vector -> [Cg.Cg_state];
+Cg.showcg_state :: Matrix.Vector -> Cg.Cg_state -> [Prelude.Char];
+__instances__
+instance Prelude.Eval Cg.Cg_state;
index 1ced6a4..594b157 100644 (file)
@@ -20,8 +20,8 @@
 module Cg(cgiters,Cg_state (..),showcg_state) 
         where
 
-import Matrix (Vector (..), Matrix (..)
-               Block_list (..), Col_pos (..), Row_pos (..),
+import Matrix (Vector , Matrix 
+               Block_list , Col_pos , Row_pos ,
                vsub,vdot,svmult,vadd,mvmult,norm)
 
 import AbsDensematrix 
index f82a386..62797e3 100644 (file)
-interface Densematrix where {
-{-# IMPORTING Utils #-}
-type Matrix = [[Float]];
-type Vector = [Float];
-mmult :: Matrix -> Matrix -> Matrix   {-# ARITY mmult = 2 #-}{-# STRICTNESS mmult = "T,F" ST #-};
-madd :: Matrix -> Matrix -> Matrix   {-# ARITY madd = 2 #-}{-# STRICTNESS madd = "0,F" ST #-};
-msub :: Matrix -> Matrix -> Matrix   {-# ARITY msub = 2 #-}{-# STRICTNESS msub = "0,F" ST #-};
-vouter :: Vector -> Vector -> Matrix   {-# ARITY vouter = 2 #-}{-# STRICTNESS vouter = "1,F" ST #-};
-vdot :: Vector -> Vector -> Float   {-# ARITY vdot = 2 #-}{-# STRICTNESS vdot = "0,F" ST #-};
-norm :: Vector -> Float   {-# ARITY norm = 1 #-}{-# STRICTNESS norm = "0,F" ST #-};
-mneg :: Matrix -> Matrix   {-# ARITY mneg = 1 #-}{-# STRICTNESS mneg = "0,F" ST #-};
-mxpose :: Matrix -> Matrix   {-# ARITY mxpose = 0 #-}{-# STRICTNESS mxpose = "T,F" ST #-};
-mident :: Int -> Matrix   {-# ARITY mident = 1 #-}{-# STRICTNESS mident = "T,F" ST #-};
-msize :: Matrix -> (Int, Int)   {-# ARITY msize = 1 #-}{-# STRICTNESS msize = "T,F" ST #-};
-mkmat :: [[Float]] -> Matrix   {-# ARITY mkmat = 0 #-}{-# STRICTNESS mkmat = "T,F" ST #-};
-mkrmat :: [[Float]] -> Matrix   {-# ARITY mkrmat = 0 #-}{-# STRICTNESS mkrmat = "T,F" ST #-};
-mkcmat :: [[Float]] -> Matrix   {-# ARITY mkcmat = 0 #-}{-# STRICTNESS mkcmat = "T,F" ST #-};
-mkvec :: [Float] -> Vector   {-# ARITY mkvec = 0 #-}{-# STRICTNESS mkvec = "T,F" ST #-};
-mkrvec :: [Float] -> Vector   {-# ARITY mkrvec = 0 #-}{-# STRICTNESS mkrvec = "T,F" ST #-};
-mkcvec :: [Float] -> Vector   {-# ARITY mkcvec = 0 #-}{-# STRICTNESS mkcvec = "T,F" ST #-};
-vadd :: Vector -> Vector -> Vector   {-# ARITY vadd = 2 #-}{-# STRICTNESS vadd = "0,F" ST #-};
-vsub :: Vector -> Vector -> Vector   {-# ARITY vsub = 2 #-}{-# STRICTNESS vsub = "0,F" ST #-};
-vsize :: Vector -> Int   {-# ARITY vsize = 0 #-}{-# STRICTNESS vsize = "T,F" ST #-};
-vneg :: Vector -> Vector   {-# ARITY vneg = 0 #-}{-# STRICTNESS vneg = "T,F" ST #-};
-swaprow :: Int -> Int -> Matrix -> Matrix   {-# ARITY swaprow = 3 #-}{-# STRICTNESS swaprow = "0&1,F" ST #-};
-swapcol :: Int -> Int -> Matrix -> Matrix   {-# ARITY swapcol = 3 #-}{-# STRICTNESS swapcol = "2,F" ST #-};
-droprow :: Matrix -> Matrix   {-# ARITY droprow = 0 #-}{-# STRICTNESS droprow = "T,F" ST #-};
-getrow :: Int -> Matrix -> Vector   {-# ARITY getrow = 2 #-}{-# STRICTNESS getrow = "T,F" ST #-};
-getcol :: Int -> Matrix -> Vector   {-# ARITY getcol = 2 #-}{-# STRICTNESS getcol = "1,F" ST #-};
-subscript :: Matrix -> (Int, Int) -> Float   {-# ARITY subscript = 2 #-}{-# STRICTNESS subscript = "1,F" ST #-};
-vsubscript :: Vector -> Int -> Float   {-# ARITY vsubscript = 2 #-}{-# STRICTNESS vsubscript = "T,F" ST #-};
-vecpart :: Int -> Int -> Vector -> Vector   {-# ARITY vecpart = 3 #-}{-# STRICTNESS vecpart = "T,F" ST #-};
-update :: Matrix -> (Int, Int) -> Float -> Matrix   {-# ARITY update = 3 #-}{-# STRICTNESS update = "1,F" ST #-};
-vupdate :: Vector -> Int -> Float -> Vector   {-# ARITY vupdate = 3 #-}{-# STRICTNESS vupdate = "T,F" ST #-};
-update2 :: Matrix -> (Int, Int, Int) -> (Float, Float) -> Matrix   {-# ARITY update2 = 3 #-}{-# STRICTNESS update2 = "1&2,F" ST #-};
-vhd :: Vector -> Float   {-# ARITY vhd = 0 #-}{-# STRICTNESS vhd = "T,F" ST #-};
-vtl :: Vector -> Vector   {-# ARITY vtl = 0 #-}{-# STRICTNESS vtl = "T,F" ST #-};
-mergevectors :: [Vector] -> Vector   {-# ARITY mergevectors = 0 #-}{-# STRICTNESS mergevectors = "T,F" ST #-};
-matvecmult :: Matrix -> Vector -> Vector   {-# ARITY matvecmult = 2 #-}{-# STRICTNESS matvecmult = "0,F" ST #-};
-vmmult :: Vector -> Matrix -> Vector   {-# ARITY vmmult = 2 #-}{-# STRICTNESS vmmult = "T,F" ST #-};
-svmult :: Float -> Vector -> Vector   {-# ARITY svmult = 2 #-}{-# STRICTNESS svmult = "1,F" ST #-};
-showmatrix :: Matrix -> [Char]   {-# ARITY showmatrix = 1 #-}{-# STRICTNESS showmatrix = "T,F" ST #-};
-displayvector :: Vector -> [Char]   {-# ARITY displayvector = 1 #-}{-# STRICTNESS displayvector = "0,F" ST #-};
-minverse :: Matrix -> Matrix   {-# ARITY minverse = 1 #-}{-# STRICTNESS minverse = "T,F" ST #-};
-veclist :: Vector -> [Float]   {-# ARITY veclist = 0 #-}{-# STRICTNESS veclist = "T,F" ST #-};
-matlist :: Matrix -> [[Float]]   {-# ARITY matlist = 0 #-}{-# STRICTNESS matlist = "T,F" ST #-}
-}
+interface Densematrix 1
+__usages__
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+List 15 :: transpose 2;
+Prelude 32 :: !! 8 && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 concat 8 drop 8 foldl1 8 fst 8 head 8 id 8 length 8 not 2 readParen 8 show 8 showParen 2 showString 2 snd 8 sum 8 tail 8 take 8;
+Ratio 21 :: Ratio 9 Rational 2;
+Utils 1 :: map2 1 rep 1 rjustify 1;
+__versions__
+Lu_factor 1
+Matrix 1
+Vector 1
+absfloat 1
+apply_factor 1
+backward 1
+displayvector 1
+droprow 1
+findpivot 1
+forward 1
+getcol 1
+getrow 1
+lu_decomp 1
+madd 1
+matlist 1
+matvecmult 1
+maxlist 1
+mergevectors 1
+mident 1
+minverse 1
+mkcmat 1
+mkcvec 1
+mkmat 1
+mkrmat 1
+mkrvec 1
+mkvec 1
+mmult 1
+mneg 1
+msize 1
+msub 1
+mxpose 1
+norm 1
+pivot 1
+showmat 1
+showmatrix 1
+subscript 1
+svmult 1
+swapcol 1
+swapitems 1
+swaprow 1
+update 1
+update2 1
+vadd 1
+vdot 1
+veclist 1
+vecpart 1
+vhd 1
+vmmult 1
+vneg 1
+vouter 1
+vsize 1
+vsub 1
+vsubscript 1
+vtl 1
+vupdate 1
+__exports__
+Densematrix Matrix 
+Densematrix Vector 
+Densematrix displayvector (..)
+Densematrix droprow (..)
+Densematrix getcol (..)
+Densematrix getrow (..)
+Densematrix madd (..)
+Densematrix matlist (..)
+Densematrix matvecmult (..)
+Densematrix mergevectors (..)
+Densematrix mident (..)
+Densematrix minverse (..)
+Densematrix mkcmat (..)
+Densematrix mkcvec (..)
+Densematrix mkmat (..)
+Densematrix mkrmat (..)
+Densematrix mkrvec (..)
+Densematrix mkvec (..)
+Densematrix mmult (..)
+Densematrix mneg (..)
+Densematrix msize (..)
+Densematrix msub (..)
+Densematrix mxpose (..)
+Densematrix norm (..)
+Densematrix showmatrix (..)
+Densematrix subscript (..)
+Densematrix svmult (..)
+Densematrix swapcol (..)
+Densematrix swaprow (..)
+Densematrix update (..)
+Densematrix update2 (..)
+Densematrix vadd (..)
+Densematrix vdot (..)
+Densematrix veclist (..)
+Densematrix vecpart (..)
+Densematrix vhd (..)
+Densematrix vmmult (..)
+Densematrix vneg (..)
+Densematrix vouter (..)
+Densematrix vsize (..)
+Densematrix vsub (..)
+Densematrix vsubscript (..)
+Densematrix vtl (..)
+Densematrix vupdate (..)
+__declarations__
+data  Densematrix.Lu_factor  = Densematrix.Lu_fact [[Prelude.Float]] [[Prelude.Float]] [Prelude.Int] ;
+type Densematrix.Matrix  = [[Prelude.Float]];
+type Densematrix.Vector  = [Prelude.Float];
+Densematrix.absfloat :: Prelude.Float -> Prelude.Float;
+Densematrix.apply_factor :: Densematrix.Lu_factor -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.backward :: [[Prelude.Float]] -> [Prelude.Int] -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.displayvector :: Densematrix.Vector -> [Prelude.Char];
+Densematrix.droprow :: Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.findpivot :: Densematrix.Matrix -> Prelude.Int;
+Densematrix.forward :: [[Prelude.Float]] -> [Prelude.Int] -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.getcol :: Prelude.Int -> Densematrix.Matrix -> Densematrix.Vector;
+Densematrix.getrow :: Prelude.Int -> Densematrix.Matrix -> Densematrix.Vector;
+Densematrix.lu_decomp :: Densematrix.Matrix -> Densematrix.Lu_factor;
+Densematrix.madd :: Densematrix.Matrix -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.matlist :: Densematrix.Matrix -> [[Prelude.Float]];
+Densematrix.matvecmult :: Densematrix.Matrix -> Densematrix.Vector -> Densematrix.Vector;
+Densematrix.maxlist :: [Prelude.Float] -> Prelude.Float;
+Densematrix.mergevectors :: [Densematrix.Vector] -> Densematrix.Vector;
+Densematrix.mident :: Prelude.Int -> Densematrix.Matrix;
+Densematrix.minverse :: Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.mkcmat :: [[Prelude.Float]] -> Densematrix.Matrix;
+Densematrix.mkcvec :: [Prelude.Float] -> Densematrix.Vector;
+Densematrix.mkmat :: [[Prelude.Float]] -> Densematrix.Matrix;
+Densematrix.mkrmat :: [[Prelude.Float]] -> Densematrix.Matrix;
+Densematrix.mkrvec :: [Prelude.Float] -> Densematrix.Vector;
+Densematrix.mkvec :: [Prelude.Float] -> Densematrix.Vector;
+Densematrix.mmult :: Densematrix.Matrix -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.mneg :: Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.msize :: Densematrix.Matrix -> (Prelude.Int, Prelude.Int);
+Densematrix.msub :: Densematrix.Matrix -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.mxpose :: Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.norm :: Densematrix.Vector -> Prelude.Float;
+Densematrix.pivot :: Densematrix.Matrix -> (Densematrix.Matrix, Prelude.Int);
+Densematrix.showmat :: [Densematrix.Vector] -> [Prelude.Char];
+Densematrix.showmatrix :: Densematrix.Matrix -> [Prelude.Char];
+Densematrix.subscript :: Densematrix.Matrix -> (Prelude.Int, Prelude.Int) -> Prelude.Float;
+Densematrix.svmult :: Prelude.Float -> Densematrix.Vector -> Densematrix.Vector;
+Densematrix.swapcol :: Prelude.Int -> Prelude.Int -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.swapitems :: __forall__ [a] Prelude.Int -> Prelude.Int -> [a] -> [a];
+Densematrix.swaprow :: Prelude.Int -> Prelude.Int -> Densematrix.Matrix -> Densematrix.Matrix;
+Densematrix.update :: Densematrix.Matrix -> (Prelude.Int, Prelude.Int) -> Prelude.Float -> Densematrix.Matrix;
+Densematrix.update2 :: Densematrix.Matrix -> (Prelude.Int, Prelude.Int, Prelude.Int) -> (Prelude.Float, Prelude.Float) -> Densematrix.Matrix;
+Densematrix.vadd :: Densematrix.Vector -> Densematrix.Vector -> Densematrix.Vector;
+Densematrix.vdot :: Densematrix.Vector -> Densematrix.Vector -> Prelude.Float;
+Densematrix.veclist :: Densematrix.Vector -> [Prelude.Float];
+Densematrix.vecpart :: Prelude.Int -> Prelude.Int -> Densematrix.Vector -> Densematrix.Vector;
+Densematrix.vhd :: Densematrix.Vector -> Prelude.Float;
+Densematrix.vmmult :: Densematrix.Vector -> Densematrix.Matrix -> Densematrix.Vector;
+Densematrix.vneg :: Densematrix.Vector -> Densematrix.Vector;
+Densematrix.vouter :: Densematrix.Vector -> Densematrix.Vector -> Densematrix.Matrix;
+Densematrix.vsize :: Densematrix.Vector -> Prelude.Int;
+Densematrix.vsub :: Densematrix.Vector -> Densematrix.Vector -> Densematrix.Vector;
+Densematrix.vsubscript :: Densematrix.Vector -> Prelude.Int -> Prelude.Float;
+Densematrix.vtl :: Densematrix.Vector -> Densematrix.Vector;
+Densematrix.vupdate :: Densematrix.Vector -> Prelude.Int -> Prelude.Float -> Densematrix.Vector;
+__instances__
+instance Prelude.Eval Densematrix.Lu_factor;
index ed5eb6e..3100d29 100644 (file)
@@ -33,7 +33,7 @@
 
 \begin{code}
 
-module Densematrix(Matrix(..),Vector(..),
+module Densematrix(Matrix,Vector,
         mmult, madd, msub, vouter, vdot, norm ,mneg ,mxpose,mident, msize,
         mkmat, mkrmat, mkcmat, mkvec, mkrvec, mkcvec,
         vadd, vsub, vsize, vneg,
@@ -46,6 +46,7 @@ module Densematrix(Matrix(..),Vector(..),
         minverse,
         veclist, matlist ) where
 
+import List (transpose)
 import Utils
 
 type Matrix    =  [[Float]]
index 5fbd015..0fa466e 100644 (file)
-interface Input where {
-{-# IMPORTING Utils #-}
-import AbsDensematrix(Vec);
-import Matrix(Block_list);
-gmat :: Int -> [Block_list]   {-# ARITY gmat = 1 #-}{-# STRICTNESS gmat = "T,F" ST #-};
-rhside :: Int -> [Vec]   {-# ARITY rhside = 1 #-}{-# STRICTNESS rhside = "T,F" ST #-};
-soln_vect :: Int -> [Vec]   {-# ARITY soln_vect = 1 #-}{-# STRICTNESS soln_vect = "T,F" ST #-};
-wells :: Int -> Int   {-# ARITY wells = 1 #-}{-# STRICTNESS wells = "0,0" ST #-};
-split :: (Integral a) => a -> [b] -> [[b]]   {-# ARITY split = 3 #-}{-# STRICTNESS split = "2,F" ST #-};
-blm' :: Int -> [[(Int, Int, [[Float]])]]   {-# ARITY blm' = 1 #-}{-# STRICTNESS blm' = "T,F" ST #-};
-mkbigvec :: [[Float]] -> [Vec]   {-# ARITY mkbigvec = 1 #-}{-# STRICTNESS mkbigvec = "T,F" ST #-};
-mksparse :: [[(Int, Int, [[Float]])]] -> [Block_list]   {-# ARITY mksparse = 1 #-}{-# STRICTNESS mksparse = "T,F" ST #-};
-a_easy :: Int -> [Block_list]   {-# ARITY a_easy = 1 #-}{-# STRICTNESS a_easy = "0,F" ST #-};
-a_hard :: Int -> [Block_list]   {-# ARITY a_hard = 1 #-}{-# STRICTNESS a_hard = "0,F" ST #-};
-x1 :: (Enum a, Num a) => a -> [Vec]   {-# ARITY x1 = 3 #-}{-# STRICTNESS x1 = "T,F" ST #-}
-}
+interface Input 1
+__usages__
+AbsDensematrix 1 :: Block 1 Vec 1 mkblock 1;
+Densematrix 1 :: Matrix 1 Vector 1 mkvec 1;
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+List 15 :: transpose 2;
+Matrix 1 :: Block_list 1 Block_tuple 1 Col_pos 1 Matrix 1 Matrix_type 1 Row_pos 1 Vector 1 Vector_type 1 mkmatrix 1 mkvector 1;
+Prelude 32 :: !! 8 && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 concat 8 drop 8 head 8 init 8 last 8 length 8 lines 2 not 2 read 8 readParen 8 show 8 showParen 2 showString 2 take 8 || 2;
+Ratio 21 :: Ratio 9 Rational 2;
+Utils 1 :: map2 1 rep 1 zip2 1;
+__versions__
+a_easy 1
+a_hard 1
+append_row 1
+blm 1
+blm' 1
+blm_hard 1
+block_ldiagband 1
+block_lowerband 1
+block_mdiagband 1
+block_udiagband 1
+block_upperband 1
+br 1
+collect_by4 1
+convert_ldiagband 1
+convert_lowerband 1
+convert_mdiagband 1
+convert_udiagband 1
+convert_upperband 1
+d_block 1
+directory 1
+file 1
+file1 1
+file2a 1
+file2b 1
+file2c 1
+file3 1
+file4 1
+file5 1
+file6 1
+gmat 1
+gvect 1
+gvect0 1
+hard_d_block 1
+hard_off_block 1
+include_col_well 1
+include_dw 1
+include_row_well 1
+include_well 1
+include_wells 1
+input1 1
+input1' 1
+input2a 1
+input2a' 1
+input2b 1
+input2b' 1
+input2c 1
+input2c' 1
+input3 1
+input3' 1
+input4' 1
+input5' 1
+ldiagband 1
+ldiagband' 1
+lowerband 1
+lowerband' 1
+make_lmat 1
+mdiagband 1
+mdiagband' 1
+mkbigvec 1
+mksparse 1
+myread 1
+myreadmtx 1
+numval 1
+off_block 1
+readmtx 1
+readsoln 1
+readsolnvect 1
+resm 1
+resn 1
+resnm 1
+rhside 1
+soln_vect 1
+split 1
+splitmtx 1
+udiagband 1
+udiagband' 1
+upperband 1
+upperband' 1
+wells 1
+x0 1
+x1 1
+__exports__
+Input a_easy (..)
+Input a_hard (..)
+Input blm' (..)
+Input gmat (..)
+Input mkbigvec (..)
+Input mksparse (..)
+Input rhside (..)
+Input soln_vect (..)
+Input split (..)
+Input wells (..)
+Input x1 (..)
+__declarations__
+Input.a_easy :: Prelude.Int -> Matrix.Matrix;
+Input.a_hard :: Prelude.Int -> Matrix.Matrix;
+Input.append_row :: __forall__ [a] [[(Prelude.Int, Prelude.Int, [[a]])]] -> (Prelude.Int, [a]) -> [[(Prelude.Int, Prelude.Int, [[a]])]];
+Input.blm :: Prelude.Int -> Matrix.Matrix;
+Input.blm' :: Prelude.Int -> [[(Prelude.Int, Prelude.Int, [[Prelude.Float]])]];
+Input.blm_hard :: Prelude.Int -> Matrix.Matrix;
+Input.block_ldiagband :: Prelude.Int -> Matrix.Block_list;
+Input.block_lowerband :: Prelude.Int -> Matrix.Block_list;
+Input.block_mdiagband :: Prelude.Int -> Matrix.Block_list;
+Input.block_udiagband :: Prelude.Int -> Matrix.Block_list;
+Input.block_upperband :: Prelude.Int -> Matrix.Block_list;
+Input.br :: Prelude.Int -> Prelude.Int -> [(Prelude.Int, Prelude.Int, [[Prelude.Float]])];
+Input.collect_by4 :: __forall__ [a] [a] -> [[a]];
+Input.convert_ldiagband :: [[[Prelude.Float]]] -> Matrix.Block_list;
+Input.convert_lowerband :: [[[Prelude.Float]]] -> Matrix.Block_list;
+Input.convert_mdiagband :: [[[Prelude.Float]]] -> Matrix.Block_list;
+Input.convert_udiagband :: [[[Prelude.Float]]] -> Matrix.Block_list;
+Input.convert_upperband :: [[[Prelude.Float]]] -> Matrix.Block_list;
+Input.d_block :: [[Prelude.Float]];
+Input.directory :: [Prelude.Char];
+Input.file :: [Prelude.Char];
+Input.file1 :: Prelude.Int -> Prelude.String;
+Input.file2a :: Prelude.Int -> Prelude.String;
+Input.file2b :: Prelude.Int -> Prelude.String;
+Input.file2c :: Prelude.Int -> Prelude.String;
+Input.file3 :: Prelude.Int -> Prelude.String;
+Input.file4 :: Prelude.Int -> Prelude.String;
+Input.file5 :: Prelude.Int -> Prelude.String;
+Input.file6 :: Prelude.Int -> Prelude.String;
+Input.gmat :: Prelude.Int -> Matrix.Matrix;
+Input.gvect :: [AbsDensematrix.Vec];
+Input.gvect0 :: [AbsDensematrix.Vec];
+Input.hard_d_block :: [[Prelude.Float]];
+Input.hard_off_block :: [[Prelude.Float]];
+Input.include_col_well :: __forall__ [a] [[(Prelude.Int, Prelude.Int, [[a]])]] -> [Prelude.Int] -> [a] -> [[(Prelude.Int, Prelude.Int, [[a]])]];
+Input.include_dw :: __forall__ [a] [[(Prelude.Int, Prelude.Int, [[a]])]] -> [a] -> [[(Prelude.Int, Prelude.Int, [[a]])]];
+Input.include_row_well :: __forall__ [a,b] [[(Prelude.Int, a, [[b]])]] -> [a] -> [b] -> [[(Prelude.Int, a, [[b]])]];
+Input.include_well :: __forall__ [a] [[(Prelude.Int, Prelude.Int, [[a]])]] -> [Prelude.Int] -> [a] -> [a] -> [a] -> [[(Prelude.Int, Prelude.Int, [[a]])]];
+Input.include_wells :: __forall__ [a] [[(Prelude.Int, Prelude.Int, [[a]])]] -> [[Prelude.Int]] -> [[a]] -> [[a]] -> [[a]] -> [[(Prelude.Int, Prelude.Int, [[a]])]];
+Input.input1 :: Prelude.Int -> [[[Prelude.Float]]];
+Input.input1' :: Prelude.Int -> [[Prelude.Float]];
+Input.input2a :: Prelude.Int -> [[[Prelude.Float]]];
+Input.input2a' :: Prelude.Int -> [[Prelude.Float]];
+Input.input2b :: Prelude.Int -> [[[Prelude.Float]]];
+Input.input2b' :: Prelude.Int -> [[Prelude.Float]];
+Input.input2c :: Prelude.Int -> [[[Prelude.Float]]];
+Input.input2c' :: Prelude.Int -> [[Prelude.Float]];
+Input.input3 :: Prelude.Int -> [[[Prelude.Float]]];
+Input.input3' :: Prelude.Int -> [[Prelude.Float]];
+Input.input4' :: Prelude.Int -> [[Prelude.Float]];
+Input.input5' :: Prelude.Int -> [[Prelude.Float]];
+Input.ldiagband :: __forall__ [a,b,c] {{Prelude.Functor c}} => b -> c [[a]];
+Input.ldiagband' :: Prelude.Int -> [[[Prelude.Float]]];
+Input.lowerband :: Prelude.Int -> [[[Prelude.Float]]];
+Input.lowerband' :: Prelude.Int -> [[[Prelude.Float]]];
+Input.make_lmat :: Matrix.Block_list -> Matrix.Block_list -> Matrix.Block_list -> Matrix.Block_list -> Matrix.Block_list -> Matrix.Matrix;
+Input.mdiagband :: Prelude.Int -> [[[Prelude.Float]]];
+Input.mdiagband' :: Prelude.Int -> [[[Prelude.Float]]];
+Input.mkbigvec :: [[Prelude.Float]] -> Matrix.Vector;
+Input.mksparse :: [[(Prelude.Int, Prelude.Int, [[Prelude.Float]])]] -> Matrix.Matrix;
+Input.myread :: __forall__ [a] a -> [Prelude.Char];
+Input.myreadmtx :: __forall__ [a,b] {{Prelude.Num b, Prelude.Eq b}} => b -> a -> [[Prelude.Float]];
+Input.numval :: Prelude.String -> Prelude.Float;
+Input.off_block :: [[Prelude.Float]];
+Input.readmtx :: __forall__ [a,b] {{Prelude.Num a, Prelude.Eq a}} => a -> b -> [[Prelude.Float]];
+Input.readsoln :: __forall__ [a] a -> [[Prelude.Float]];
+Input.readsolnvect :: __forall__ [a] a -> [[Prelude.Float]];
+Input.resm :: Prelude.Int;
+Input.resn :: Prelude.Int;
+Input.resnm :: Prelude.Int;
+Input.rhside :: Prelude.Int -> Matrix.Vector;
+Input.soln_vect :: Prelude.Int -> Matrix.Vector;
+Input.split :: __forall__ [a] Prelude.Int -> [a] -> [[a]];
+Input.splitmtx :: __forall__ [a] Prelude.Int -> Prelude.Int -> [a] -> [[[a]]];
+Input.udiagband :: Prelude.Int -> [[[Prelude.Float]]];
+Input.udiagband' :: Prelude.Int -> [[[Prelude.Float]]];
+Input.upperband :: Prelude.Int -> [[[Prelude.Float]]];
+Input.upperband' :: Prelude.Int -> [[[Prelude.Float]]];
+Input.wells :: Prelude.Int -> Prelude.Int;
+Input.x0 :: __forall__ [a] {{Prelude.Num a, Prelude.Enum a}} => a -> Matrix.Vector;
+Input.x1 :: __forall__ [a] {{Prelude.Num a, Prelude.Enum a}} => a -> Matrix.Vector;
index 9fc3ebf..67bba07 100644 (file)
@@ -34,6 +34,7 @@ module Input
               mksparse,a_easy,a_hard,x1) where
 
 
+import List (transpose)
 import Matrix
 import AbsDensematrix
 import Utils 
diff --git a/real/linear/Jmakefile b/real/linear/Jmakefile
deleted file mode 100644 (file)
index f661e1c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-SRCS_LHS = Main.lhs Utils.lhs AbsDensematrix.lhs Densematrix.lhs Matrix.lhs Misc.lhs Input.lhs Cg.lhs AbsCg.lhs Matlib.lhs  Absmatlib.lhs
-OBJS_O   = Main.o   Utils.o   AbsDensematrix.o   Densematrix.o   Matrix.o   Misc.o   Input.o   Cg.o   AbsCg.o   Matlib.o    Absmatlib.o
-
-NoFibMultiModuleCompileAndRun(linear,-i linear.stdin -o1 linear.stdout)
-
-NoFibHaskellCompile(linear,Main,lhs)
-NoFibHaskellCompile(linear,Utils,lhs)
-NoFibHaskellCompile(linear,AbsDensematrix,lhs)
-NoFibHaskellCompile(linear,Densematrix,lhs)
-NoFibHaskellCompile(linear,Matrix,lhs)
-NoFibHaskellCompile(linear,Misc,lhs)
-NoFibHaskellCompile(linear,Input,lhs)
-NoFibHaskellCompile(linear,Cg,lhs)
-NoFibHaskellCompile(linear,AbsCg,lhs)
-NoFibHaskellCompile(linear,Matlib,lhs)
-NoFibHaskellCompile(linear,Absmatlib,lhs)
-
-NoFibDependTarget(linear, $(SRCS_LHS))
diff --git a/real/linear/LMLTrace.hi b/real/linear/LMLTrace.hi
deleted file mode 100644 (file)
index beeed45..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-interface LMLTrace where
-trace :: String -> a -> a
diff --git a/real/linear/Makefile b/real/linear/Makefile
new file mode 100644 (file)
index 0000000..3f8576a
--- /dev/null
@@ -0,0 +1,5 @@
+TOP = ../../..
+PROG = linear
+SRCS = Utils.lhs Densematrix.lhs AbsDensematrix.lhs Matrix.lhs Misc.lhs \
+       Input.lhs Cg.lhs AbsCg.lhs Matlib.lhs Absmatlib.lhs Main.lhs
+include $(TOP)/nofib/mk/nofib.mk
index f9cc6fd..753aa9c 100644 (file)
@@ -1,7 +1,73 @@
-interface Matlib where {
-{-# IMPORTING AbsDensematrix #-}
-import Matrix(Matrix, Vector);
-scale :: Matrix -> Vector -> (Matrix, Vector)   {-# ARITY scale = 0 #-}{-# STRICTNESS scale = "T,F" ST #-};
-precond :: Int -> Matrix -> Vector -> Vector   {-# ARITY precond = 3 #-}{-# STRICTNESS precond = "T,F" ST #-};
-uncondition :: Matrix -> Vector -> Vector   {-# ARITY uncondition = 2 #-}{-# STRICTNESS uncondition = "1,F" ST #-}
-}
+interface Matlib 1
+__usages__
+AbsDensematrix 1 :: Block 1 Vec 1 badd 1 bident 1 binverse 1 bmult 1 bneg 1 bsize 1 bsub 1 bvecmult 1 vecadd 1 vecsub 1;
+Densematrix 1 :: Matrix 1 Vector 1;
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+List 15 :: genericLength 2;
+Matrix 1 :: Block_list 1 Block_tuple 1 Col_pos 1 Matrix 1 Matrix_type 1 Row_pos 1 Vector 1 Vector_type 1 getrow 1 mkmatrix 1 mkvector 1 msubscript 1 mvmult 1 numrows 1 vsize 1 vsubscript 1;
+Prelude 32 :: !! 8 && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 concat 8 drop 8 filter 8 foldl1 8 fst 8 head 8 last 8 length 8 not 2 readParen 8 show 8 showParen 2 showString 2 take 8;
+Ratio 21 :: Ratio 9 Rational 2;
+__versions__
+Block_tuple 1
+Precond_function 1
+Scale_function 1
+backsubs 1
+backward 1
+bdscl 1
+blocknums 1
+bsum 1
+colsbefore 1
+diag_blocks 1
+diag_matrix 1
+forward 1
+is_diag 1
+merge 1
+mult 1
+okindex 1
+precond 1
+pseudofactor 1
+rowsnumbered 1
+scale 1
+sort 1
+sorted 1
+sub 1
+sumblocks 1
+symmetric 1
+testmat 1
+uncondition 1
+vecsum 1
+__exports__
+Matlib precond (..)
+Matlib scale (..)
+Matlib uncondition (..)
+__declarations__
+type Matlib.Block_tuple  = (Prelude.Int, Prelude.Int, AbsDensematrix.Block);
+type Matlib.Precond_function  = Matrix.Matrix -> Matrix.Vector -> Matrix.Vector;
+type Matlib.Scale_function  = Matrix.Matrix -> Matrix.Vector -> (Matrix.Matrix, Matrix.Vector);
+Matlib.backsubs :: Matrix.Matrix -> Matrix.Vector -> [AbsDensematrix.Vec];
+Matlib.backward :: Matrix.Matrix -> Matrix.Vector -> [AbsDensematrix.Vec];
+Matlib.bdscl :: Matrix.Matrix -> Matrix.Vector -> (Matrix.Matrix, Matrix.Vector);
+Matlib.blocknums :: Matrix.Matrix -> [Prelude.Int];
+Matlib.bsum :: [AbsDensematrix.Block] -> AbsDensematrix.Block;
+Matlib.colsbefore :: __forall__ [a,b,c] {{Prelude.Ord b}} => b -> [(a, b, c)] -> [(a, b, c)];
+Matlib.diag_blocks :: Matrix.Matrix -> [Matlib.Block_tuple];
+Matlib.diag_matrix :: Matrix.Matrix -> Matrix.Matrix;
+Matlib.forward :: Matrix.Matrix -> Matrix.Vector -> Matrix.Vector;
+Matlib.is_diag :: Matlib.Block_tuple -> Prelude.Bool;
+Matlib.merge :: __forall__ [a] {{Prelude.Ord a}} => [a] -> [a] -> [a];
+Matlib.mult :: [Densematrix.Matrix] -> [Densematrix.Matrix] -> [Densematrix.Matrix];
+Matlib.okindex :: __forall__ [a] Prelude.Int -> [a] -> Prelude.Bool;
+Matlib.precond :: Prelude.Int -> Matlib.Precond_function;
+Matlib.pseudofactor :: Prelude.Int -> Matrix.Matrix -> Matrix.Matrix;
+Matlib.rowsnumbered :: Matrix.Matrix -> [Prelude.Char];
+Matlib.scale :: Matrix.Matrix -> Matrix.Vector -> (Matrix.Matrix, Matrix.Vector);
+Matlib.sort :: __forall__ [a] {{Prelude.Ord a}} => [a] -> [a];
+Matlib.sorted :: Matrix.Matrix -> [Prelude.Char];
+Matlib.sub :: [Densematrix.Matrix] -> [Densematrix.Matrix] -> [Densematrix.Matrix];
+Matlib.sumblocks :: [[AbsDensematrix.Block]] -> [AbsDensematrix.Block];
+Matlib.symmetric :: Matrix.Matrix -> [Prelude.Char];
+Matlib.testmat :: Matrix.Matrix -> [Prelude.Char];
+Matlib.uncondition :: Matrix.Matrix -> Matrix.Vector -> Matrix.Vector;
+Matlib.vecsum :: [AbsDensematrix.Vec] -> AbsDensematrix.Vec;
index ff0ad16..b1e0262 100644 (file)
@@ -24,6 +24,7 @@ Notes:
 \begin{code}
 module Matlib (scale, precond, uncondition) where 
 
+import List (genericLength)
 import Matrix
 import AbsDensematrix 
 
index 4d8b36e..eeabe04 100644 (file)
-interface Matrix where {
-{-# IMPORTING AbsDensematrix, Utils #-}
-import AbsDensematrix(Block(..), Vec(..));
-type Matrix = [Block_list];
-type Vector = [Vec];
-type Block = [[Float]];
-type Vec = [Float];
-type Block_list = [(Row_pos, Col_pos, Block)];
-type Row_pos = Int;
-type Col_pos = Int;
-mmult :: Matrix -> Matrix -> Matrix   {-# ARITY mmult = 2 #-}{-# STRICTNESS mmult = "T,F" ST #-};
-mvmult :: Matrix -> Vector -> Vector   {-# ARITY mvmult = 2 #-}{-# STRICTNESS mvmult = "0&1,F" ST #-};
-svmult :: Float -> Vector -> Vector   {-# ARITY svmult = 2 #-}{-# STRICTNESS svmult = "1,F" ST #-};
-madd :: Matrix -> Matrix -> Matrix   {-# ARITY madd = 2 #-}{-# STRICTNESS madd = "T,F" ST #-};
-msub :: Matrix -> Matrix -> Matrix   {-# ARITY msub = 2 #-}{-# STRICTNESS msub = "T,F" ST #-};
-vadd :: Vector -> Vector -> Vector   {-# ARITY vadd = 2 #-}{-# STRICTNESS vadd = "0,F" ST #-};
-vsub :: Vector -> Vector -> Vector   {-# ARITY vsub = 2 #-}{-# STRICTNESS vsub = "0,F" ST #-};
-vdot :: Vector -> Vector -> Float   {-# ARITY vdot = 2 #-}{-# STRICTNESS vdot = "0,F" ST #-};
-vouter :: Vector -> Vector -> Matrix   {-# ARITY vouter = 2 #-}{-# STRICTNESS vouter = "T,F" ST #-};
-mneg :: Matrix -> Matrix   {-# ARITY mneg = 1 #-}{-# STRICTNESS mneg = "0,F" ST #-};
-vneg :: Vector -> Vector   {-# ARITY vneg = 1 #-}{-# STRICTNESS vneg = "0,F" ST #-};
-norm :: Vector -> Float   {-# ARITY norm = 1 #-}{-# STRICTNESS norm = "0,F" ST #-};
-mkmatrix :: [[(Int, Int, Block)]] -> Matrix   {-# ARITY mkmatrix = 0 #-}{-# STRICTNESS mkmatrix = "T,F" ST #-};
-mkvector :: [Vec] -> Vector   {-# ARITY mkvector = 0 #-}{-# STRICTNESS mkvector = "T,F" ST #-};
-mergevectors :: Vector -> Vector -> Vector   {-# ARITY mergevectors = 0 #-}{-# STRICTNESS mergevectors = "T,F" ST #-};
-mupdate :: Matrix -> (Int, Int) -> Block -> Matrix   {-# ARITY mupdate = 3 #-}{-# STRICTNESS mupdate = "1,F" ST #-};
-vupdate :: Vector -> Int -> Vec -> Vector   {-# ARITY vupdate = 3 #-}{-# STRICTNESS vupdate = "T,F" ST #-};
-msubscript :: Int -> Int -> Matrix -> Block   {-# ARITY msubscript = 3 #-}{-# STRICTNESS msubscript = "0,F" ST #-};
-vsubscript :: Int -> Vector -> Vec   {-# ARITY vsubscript = 2 #-}{-# STRICTNESS vsubscript = "0,F" ST #-};
-getrow :: Int -> Matrix -> [(Row_pos, Col_pos, Block)]   {-# ARITY getrow = 2 #-}{-# STRICTNESS getrow = "0,F" ST #-};
-getcol :: Int -> Matrix -> [(Row_pos, Col_pos, Block)]   {-# ARITY getcol = 2 #-}{-# STRICTNESS getcol = "1,F" ST #-};
-numrows :: Matrix -> Int   {-# ARITY numrows = 1 #-}{-# STRICTNESS numrows = "0,F" ST #-};
-msize :: Matrix -> (Int, Int)   {-# ARITY msize = 1 #-}{-# STRICTNESS msize = "T,F" ST #-};
-vsize :: Vector -> Int   {-# ARITY vsize = 1 #-}{-# STRICTNESS vsize = "0,F" ST #-};
-showmatrix :: Matrix -> [Char]   {-# ARITY showmatrix = 1 #-}{-# STRICTNESS showmatrix = "T,F" ST #-};
-showvector :: Vector -> [Char]   {-# ARITY showvector = 1 #-}{-# STRICTNESS showvector = "0,F" ST #-}
-}
+interface Matrix 1
+__usages__
+AbsDensematrix 1 :: Block 1 Vec 1 bneg 1 bsize 1 bvecmult 1 mkblock 1 showvec 1 svecmult 1 vecadd 1 vecdot 1 vecneg 1 vecnorm 1 vecsub 1;
+Densematrix 1 :: Matrix 1 Vector 1;
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+Prelude 32 :: !! 8 && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 concat 8 drop 8 elem 8 filter 8 foldl1 8 head 8 id 8 length 8 not 2 readParen 8 showParen 2 showString 2 take 8;
+Ratio 21 :: Ratio 9 Rational 2;
+Utils 1 :: map2 1 rep 1;
+__versions__
+Block_list 1
+Block_tuple 1
+Col_pos 1
+Matrix 1
+Matrix_type 1
+Row_pos 1
+Scalar 1
+Vector 1
+Vector_type 1
+getcol 1
+getrow 1
+iscol 1
+madd 1
+mergevectors 1
+mkmatrix 1
+mkvector 1
+mmult 1
+mneg 1
+msize 1
+msub 1
+msubscript 1
+msubscript' 1
+mupdate 1
+mvmult 1
+norm 1
+numrows 1
+okindex 1
+rvdot 1
+sadd 1
+showmatrix 1
+showvector 1
+strip_block 1
+svmult 1
+vadd 1
+vdot 1
+vneg 1
+vouter 1
+vsize 1
+vsub 1
+vsubscript 1
+vupdate 1
+zero_block 1
+__exports__
+AbsDensematrix Block 
+Matrix Block_list 
+Matrix Col_pos 
+Matrix Matrix 
+Matrix Row_pos 
+AbsDensematrix Vec 
+Matrix Vector 
+Matrix getcol (..)
+Matrix getrow (..)
+Matrix madd (..)
+Matrix mergevectors (..)
+Matrix mkmatrix (..)
+Matrix mkvector (..)
+Matrix mmult (..)
+Matrix mneg (..)
+Matrix msize (..)
+Matrix msub (..)
+Matrix msubscript (..)
+Matrix mupdate (..)
+Matrix mvmult (..)
+Matrix norm (..)
+Matrix numrows (..)
+Matrix showmatrix (..)
+Matrix showvector (..)
+Matrix svmult (..)
+Matrix vadd (..)
+Matrix vdot (..)
+Matrix vneg (..)
+Matrix vouter (..)
+Matrix vsize (..)
+Matrix vsub (..)
+Matrix vsubscript (..)
+Matrix vupdate (..)
+__declarations__
+type Matrix.Block_list  = [Matrix.Block_tuple];
+type Matrix.Block_tuple  = (Matrix.Row_pos, Matrix.Col_pos, AbsDensematrix.Block);
+type Matrix.Col_pos  = Prelude.Int;
+type Matrix.Matrix  = Matrix.Matrix_type;
+type Matrix.Matrix_type  = [Matrix.Block_list];
+type Matrix.Row_pos  = Prelude.Int;
+type Matrix.Scalar  = Prelude.Float;
+type Matrix.Vector  = Matrix.Vector_type;
+type Matrix.Vector_type  = [AbsDensematrix.Vec];
+Matrix.getcol :: Prelude.Int -> Matrix.Matrix -> [Matrix.Block_tuple];
+Matrix.getrow :: Prelude.Int -> Matrix.Matrix -> [Matrix.Block_tuple];
+Matrix.iscol :: Prelude.Int -> Matrix.Block_tuple -> Prelude.Bool;
+Matrix.madd :: Matrix.Matrix -> Matrix.Matrix -> Matrix.Matrix;
+Matrix.mergevectors :: Matrix.Vector -> Matrix.Vector -> Matrix.Vector;
+Matrix.mkmatrix :: [[(Prelude.Int, Prelude.Int, AbsDensematrix.Block)]] -> Matrix.Matrix;
+Matrix.mkvector :: [AbsDensematrix.Vec] -> Matrix.Vector;
+Matrix.mmult :: Matrix.Matrix -> Matrix.Matrix -> Matrix.Matrix;
+Matrix.mneg :: Matrix.Matrix -> Matrix.Matrix;
+Matrix.msize :: Matrix.Matrix -> (Prelude.Int, Prelude.Int);
+Matrix.msub :: Matrix.Matrix -> Matrix.Matrix -> Matrix.Matrix;
+Matrix.msubscript :: Prelude.Int -> Prelude.Int -> Matrix.Matrix -> AbsDensematrix.Block;
+Matrix.msubscript' :: Prelude.Int -> Prelude.Int -> Matrix.Matrix -> [AbsDensematrix.Block];
+Matrix.mupdate :: Matrix.Matrix -> (Prelude.Int, Prelude.Int) -> AbsDensematrix.Block -> Matrix.Matrix;
+Matrix.mvmult :: Matrix.Matrix -> Matrix.Vector -> Matrix.Vector;
+Matrix.norm :: Matrix.Vector -> Matrix.Scalar;
+Matrix.numrows :: Matrix.Matrix -> Prelude.Int;
+Matrix.okindex :: __forall__ [a] Prelude.Int -> [a] -> Prelude.Bool;
+Matrix.rvdot :: __forall__ [a] [(a, Prelude.Int, Densematrix.Matrix)] -> Matrix.Vector -> Densematrix.Vector;
+Matrix.sadd :: Prelude.Float -> Prelude.Float -> Prelude.Float;
+Matrix.showmatrix :: Matrix.Matrix -> [Prelude.Char];
+Matrix.showvector :: Matrix.Vector -> [Prelude.Char];
+Matrix.strip_block :: Matrix.Block_tuple -> AbsDensematrix.Block;
+Matrix.svmult :: Matrix.Scalar -> Matrix.Vector -> Matrix.Vector;
+Matrix.vadd :: Matrix.Vector -> Matrix.Vector -> Matrix.Vector;
+Matrix.vdot :: Matrix.Vector -> Matrix.Vector -> Matrix.Scalar;
+Matrix.vneg :: Matrix.Vector -> Matrix.Vector;
+Matrix.vouter :: Matrix.Vector -> Matrix.Vector -> Matrix.Matrix;
+Matrix.vsize :: Matrix.Vector -> Prelude.Int;
+Matrix.vsub :: Matrix.Vector -> Matrix.Vector -> Matrix.Vector;
+Matrix.vsubscript :: Prelude.Int -> Matrix.Vector -> AbsDensematrix.Vec;
+Matrix.vupdate :: Matrix.Vector -> Prelude.Int -> AbsDensematrix.Vec -> Matrix.Vector;
+Matrix.zero_block :: Prelude.Int -> Prelude.Int -> Matrix.Matrix -> AbsDensematrix.Block;
index ee6bd95..7db3448 100644 (file)
@@ -10,8 +10,8 @@
 \begin{code}
 
 module Matrix 
-         (Matrix(..), Vector(..), Block (..), Vec (..),
-          Block_list (..), Row_pos(..), Col_pos (..)
+         (Matrix, Vector, Block , Vec ,
+          Block_list , Row_pos, Col_pos
           mmult, mvmult, svmult,
           madd, msub,
           vadd, vsub,
index 4609188..78cd001 100644 (file)
@@ -1,11 +1,37 @@
-interface Misc where {
-takeuntil :: (a -> Bool) -> [a] -> [a]   {-# ARITY takeuntil = 2 #-}{-# STRICTNESS takeuntil = "1,F" ST #-};
-inrange :: Int -> Int -> Int -> Bool   {-# ARITY inrange = 3 #-}{-# STRICTNESS inrange = "0&2,0&1&2" ST #-};
-forceVec :: [Float] -> [Float]   {-# ARITY forceVec = 1 #-}{-# STRICTNESS forceVec = "0,F" ST #-};
-forceInt :: Int -> Bool   {-# ARITY forceInt = 1 #-}{-# STRICTNESS forceInt = "0,0" ST #-};
-forceFloat :: Float -> Bool   {-# ARITY forceFloat = 1 #-}{-# STRICTNESS forceFloat = "0,F" ST #-};
-forceMat :: [[Float]] -> [[Float]]   {-# ARITY forceMat = 1 #-}{-# STRICTNESS forceMat = "0,F" ST #-};
-mkrunitem :: [Char] -> [Char] -> Runitem   {-# ARITY mkrunitem = 2 #-}{-# STRICTNESS mkrunitem = "T,T" ST #-};
-run :: Runitem -> [Char]   {-# ARITY run = 1 #-}{-# STRICTNESS run = "0,F" ST #-};
-type Runitem = ([Char], [Char])
-}
+interface Misc 1
+__usages__
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+Prelude 32 :: && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 not 2 otherwise 2 readParen 8 showParen 2 showString 2;
+Ratio 21 :: Ratio 9 Rational 2;
+__versions__
+Runitem 1
+forceFloat 1
+forceInt 1
+forceMat 1
+forceVec 1
+inrange 1
+mkrunitem 1
+run 1
+takeuntil 1
+__exports__
+Misc Runitem (..)
+Misc forceFloat (..)
+Misc forceInt (..)
+Misc forceMat (..)
+Misc forceVec (..)
+Misc inrange (..)
+Misc mkrunitem (..)
+Misc run (..)
+Misc takeuntil (..)
+__declarations__
+type Misc.Runitem  = ([Prelude.Char], [Prelude.Char]);
+Misc.forceFloat :: Prelude.Float -> Prelude.Bool;
+Misc.forceInt :: Prelude.Int -> Prelude.Bool;
+Misc.forceMat :: [[Prelude.Float]] -> [[Prelude.Float]];
+Misc.forceVec :: [Prelude.Float] -> [Prelude.Float];
+Misc.inrange :: Prelude.Int -> Prelude.Int -> Prelude.Int -> Prelude.Bool;
+Misc.mkrunitem :: [Prelude.Char] -> [Prelude.Char] -> Misc.Runitem;
+Misc.run :: Misc.Runitem -> [Prelude.Char];
+Misc.takeuntil :: __forall__ [a] (a -> Prelude.Bool) -> [a] -> [a];
index 4b60f92..3a11406 100644 (file)
@@ -1,7 +1,25 @@
-interface Utils where {
-map2 :: (a -> b -> c) -> [a] -> [b] -> [c]   {-# ARITY map2 = 3 #-}{-# STRICTNESS map2 = "1,F" ST #-};
-rep :: Int -> a -> [a]   {-# ARITY rep = 2 #-}{-# STRICTNESS rep = "T,F" ST #-};
-rjustify :: Int -> [Char] -> [Char]   {-# ARITY rjustify = 2 #-}{-# STRICTNESS rjustify = "T,F" ST #-};
-spaces :: Int -> [Char]   {-# ARITY spaces = 1 #-}{-# STRICTNESS spaces = "T,F" ST #-};
-zip2 :: [a] -> [b] -> [(a, b)]   {-# ARITY zip2 = 2 #-}{-# STRICTNESS zip2 = "1,F" ST #-}
-}
+interface Utils 1
+__usages__
+GHCbase 47 :: CCallable 8 CReturnable 8 IO 22 lex 14 readList__ 12 showList__ 12 showSpace 2;
+GHCio 27 :: IOError 1;
+Ix 15 :: Ix 1;
+Prelude 32 :: && 2 . 8 Bounded 7 Either 7 Enum 7 Eq 7 Eval 7 Floating 7 Fractional 7 Functor 8 Integral 22 Monad 8 MonadPlus 8 MonadZero 8 Num 7 Ord 7 Ordering 2 Read 8 ReadS 7 Real 7 RealFloat 7 RealFrac 8 Show 7 ShowS 2 String 2 length 8 not 2 readParen 8 repeat 8 showParen 2 showString 2 take 8 zip 8;
+Ratio 21 :: Ratio 9 Rational 2;
+__versions__
+map2 1
+rep 1
+rjustify 1
+spaces 1
+zip2 1
+__exports__
+Utils map2 (..)
+Utils rep (..)
+Utils rjustify (..)
+Utils spaces (..)
+Utils zip2 (..)
+__declarations__
+Utils.map2 :: __forall__ [a,b,c] (a -> b -> c) -> [a] -> [b] -> [c];
+Utils.rep :: __forall__ [a] Prelude.Int -> a -> [a];
+Utils.rjustify :: Prelude.Int -> [Prelude.Char] -> [Prelude.Char];
+Utils.spaces :: Prelude.Int -> [Prelude.Char];
+Utils.zip2 :: __forall__ [a,b] [a] -> [b] -> [(a, b)];
diff --git a/real/maillist/Jmakefile b/real/maillist/Jmakefile
deleted file mode 100644 (file)
index 2201e65..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-SRCS_HS = Main.hs
-OBJS_O  = Main.o
-
-runtests clean ::
-       $(RM) addresses.tex
-
-NoFibMultiModuleCompileAndRun(maillist,-i maillist.stdin -o1 maillist.stdout)
-
-NoFibHaskellCompile(maillist,Main,hs)
diff --git a/real/maillist/Makefile b/real/maillist/Makefile
new file mode 100644 (file)
index 0000000..31134b0
--- /dev/null
@@ -0,0 +1,6 @@
+TOP = ../../..
+PROG = maillist
+include $(TOP)/nofib/mk/nofib.mk
+
+clean ::
+       $(RM) addresses.tex
diff --git a/real/parser/Jmakefile b/real/parser/Jmakefile
deleted file mode 100644 (file)
index f721ade..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-SRCS_HS = Main.hs
-OBJS_O  = Main.o
-
-NoFibMultiModuleCompileAndRun(parser,-i big_big_test.hs -o1 parser.stdout)
-
-NoFibHaskellCompile(parser,Main,hs)
diff --git a/real/parser/Makefile b/real/parser/Makefile
new file mode 100644 (file)
index 0000000..d9ddd5a
--- /dev/null
@@ -0,0 +1,4 @@
+TOP = ../../..
+PROG = parser
+EXTRA_RUNTESTFLAGS = -i big_big_test.hs
+include $(TOP)/nofib/mk/nofib.mk
index bc5cd40..ca9d682 100644 (file)
@@ -1,4 +1,4 @@
 TOP = ../../..
 PROG = prolog
-SRCS = PrologData.hs Parse.hs Interact.hs Subst.hs Engine.hs Version.hs Main.hs
+SRCS = Parse.hs PrologData.hs Interact.hs Subst.hs Engine.hs Version.hs Main.hs
 include $(TOP)/nofib/mk/nofib.mk