- 17 Dec, 1999 1 commit
-
-
simonmar authored
Add netbsd to the list of platforms supported. ToDo: add info to the User's Guide once the Shiny New Documentation is committed.
-
- 16 Dec, 1999 2 commits
-
-
sewardj authored
Add extended version of previous commit message as a comment.
-
sewardj authored
Further major improvements in interface processing, mostly in the handling of types. Interfaces can contain references to unboxed types, and these need to be handled carefully. The following is a summary of how the interface loader now works. It is applied to groups of interfaces simultaneously, viz, the entire Prelude at once: 1. Throw away any entity not mentioned in the export lists. 2. Delete type (not data or newtype) definitions which refer to unknown types in their right hand sides. Because Hugs doesn't know of any unboxed types, this has the side effect of removing all type defns referring to unboxed types. Repeat step 2 until a fixed point is reached. 3. Make abstract all data/newtype defns which refer to an unknown type. eg, data Word = MkW Word# becomes data Word, because Word# is unknown. Hugs is happy to know about abstract boxed Words, but not about Word#s. 4. Step 2 could delete types referred to by values, instances and classes. So filter all entities, and delete those referring to unknown types _or_ classes. This could cause other entities to become invalid, so iterate step 4 to a fixed point. After step 4, the interfaces no longer contain anything unpalatable to Hugs. 5. Steps 1-4 operate purely on the iface syntax trees. We now start creating symbol table entries. First, create a module table entry for each interface, and locate and read in the corresponding object file. 6. Traverse all interfaces. For each entity, create an entry in the name, tycon, class or instance table, and fill in relevant fields, but do not attempt to link tycon/class/instance/name uses to their symbol table entries. 7. Revisit all symbol table entries created in step 6. We should now be able to replace all references to tycons/classes/instances/ names with the relevant symbol table entries. 8. Traverse all interfaces. For each iface, examine the export lists and use it to build export lists in the module table. Do the implicit 'import Prelude' thing if necessary. Finally, resolve references in the object code for this module. I'm sure the number of passes could be reduced. For the moment, understandability is of much higher priority. Hugs can now complete stages 1 through 8 for the whole GHC Prelude, excepting doing the object linking, which needs further work.
-
- 15 Dec, 1999 2 commits
- 14 Dec, 1999 1 commit
-
-
simonmar authored
Don't set O_NONBLOCK on stdout and stderr. This is a workaround for a combination of bizarre Unix semantics and shells which don't reset the nonblocking flag after running a program.
-
- 13 Dec, 1999 4 commits
-
-
simonmar authored
Include hslibs in a binary-dist.
-
simonmar authored
Add a few minBound::Int tests.
-
simonmar authored
Fix bug in abs::Integer->Integer: result was wrong for minBound::Int.
-
simonmar authored
Correct off-by-one error in bounds checking when converting NoRepIntegers into the real thing. Not a bug, just a cleanup.
-
- 10 Dec, 1999 4 commits
-
-
simonmar authored
bump version to 4.06
-
sewardj authored
Major improvements in interface processing, and minor supporting improvements to CT-storage management. * Make the iface parser return the complete interface as a single tree, which is processed later. Added abs syntax tags I_INTERFACE .. I_VALUE to support this. * Add tagged ("z") 2,3,4,5 tuples. Because they are tagged, they can't be confused with lists, etc. Selectors zfst, zsnd ... zsel45, zsel55 check tags first. Iface processing uses z-tuples wherever it can. * Add unap as a safe "inverse" of ap; it checks tags. So unap(TAG1, ap(TAG2,cell)) == cell but only if TAG1==TAG2, else assertion failure. * In interface.c, clean up the startGHC*/endGHC* functions. processInterfaces() is the top-level driver; it makes 4 passes over the supplied iface trees. * Throw away iface symbols not mentioned in export lists. * Use iface export lists to construct both the export and eval environments for a module. * Don't use Texts to refer to things. Instead use ConId and VarId. Added ConId and VarId as synonyms for Cell in storage.h. * Add findSimpleInstance in storage.c.
-
simonmar authored
Unbreak finalization.
-
simonpj authored
I was too enthusiastic about removing empty usage entries from interface files. This commit fixes my errors of yesterday. Simon
-
- 09 Dec, 1999 8 commits
-
-
simonmar authored
allow certain keywords as scc labels.
-
simonmar authored
eliminate recursive defn: HC <--> WithGhcHc
-
simonpj authored
A bunch of small changes in the way that usage information is generated to stuff into interface files. I'm not certain anything was really wrong before, but it's tidier now, and there are slightly fewer dependencies generated. Main differences are in RnIfaces.getImportVersions I also made the check for orphan rules a bit cleverer (Rename.isOrphanDecl) so that we get fewer spurious orphan modules. Simon
-
simonmar authored
Remove bogus #! lines. Obtained-from: Michael Weber <michael.weber@post.rwth-aachen.de>
-
simonmar authored
cleanups & fixes Obtained-from: Michael Weber <michael.weber@post.rwth-aachen.de>
-
simonmar authored
clean sgmlverb.c Obtained-from: Michael Weber <michael.weber@post.rwth-aachen.de>
-
simonmar authored
recurse into libraries. Obtained-from: Michael Weber <michael.weber@post.rwth-aachen.de>
-
simonmar authored
clean PrelGHC.hi in its various flavours. Obtained-from: Michael Weber <michael.weber@post.rwth-aachen.de>
-
- 08 Dec, 1999 7 commits
-
-
simonmar authored
misc ansification and -Wall cleanup
-
simonmar authored
Add Marc Van Dongen's Integer improvements. Specifically: - new primops: gcdInt#, gcdIntegerInt#, divExact#, quotInteger#, remInteger#. - new definitions of quot and rem for Integer in PrelNum (using the new quotInteger# and remInteger# primops instead of quotRemInteger#). Should be slightly faster than before. div & mod aren't likewise optimised (yet). - specialisations of gcd for Int and Integer, and lcm for Integer in PrelNum.
-
simonmar authored
- add test cases for my URI library - add George Russell's tests for the TimeExts library
-
simonmar authored
oops, forgot to initialize bufStart in openStdFile.
-
simonmar authored
Fix bogon in rule for parser/hschooks.c
-
simonmar authored
New make variable: $(WithNofibHc) which defines the Haskell compiler used to build nofib. Define $(GHC_INPLACE) in fptools/mk/config.mk.in. $(WithNofibHc) is set to $(GHC_INPLACE) by default. Fix $(MKDEPENDHS) in ghc/lib/std/Makefile.
-
simonmar authored
remove cut-n-pasteo
-
- 07 Dec, 1999 11 commits
-
-
simonmar authored
Now that $(GHC) refers to an installed haskell compiler, use $(GHC_INPLACE) to refer to the ghc in the build tree.
-
simonpj authored
Remove long-outdated AnalFBWW
-
simonmar authored
Now that $(GHC) means an installed copy of ghc, use $(GHC_INPLACE) to refer to the ghc in the build tree.
-
simonpj authored
Add drvrun008
-
simonmar authored
Automatically detect installed copies of ghc, nhc and hbc and plug them into the Makefile variables $(GHC), $(NHC) and $(HBC) respectively. $(HC) is now supposed to be a generic installed haskell compiler, which defaults to $(GHC) and can be changed via ./configure --with-hc=<blah>. Reorganise and tidy up a few things in config.mk.in.
-
simonpj authored
Derived instances should use *source* types not *representation* types when doing their deriving stuff. This bug prevented data F = F !Int deriving (Eq) from working when -funbox-strict-fields was on Simon
-
chak authored
Package local configuration scripts allow to modularise the configuration (we start by having one for ghc): * Modularised configuration avoids unnecessary dependencies for individual packages. * Furthermore, package local configuration (such as entering version information into rpm .spec files) is possible.
-
chak authored
Of course, I had to get the name wrong - this has to be mangled by configure (eg, to set the version number). Also added dependency on gmp-devel (see discussion on glasgow-haskell-bugs).
-
panne authored
OK, don't say you haven't been warned: Sven "Larry W." Panne waved his Perl-wand and changed a / / into /\s+/. This fixes the problem with multiple spaces between {-# OPTIONS ... -#}, but still fails miserably when quotes are used, e.g. {-# OPTIONS -#include "My Own Header.h" #-}.
-
chak authored
rpm build specifications in CVS are a first step to building packages automatically from CVS (I test this with ghc, but support for the other fptools components will follow)
-
sewardj authored
Increase default c-t heap from 300000 to 350000 cells for nofib/real/anna.
-