- 14 Jan, 1999 1 commit
-
-
sof authored
Assorted minor Haskell 98 changes: * Maximal munch rule for "--" comments * _ as lower-case letter, "_" is a reserved id. Prefixing unused variable names in patterns with '_' causes the renamer not to report such names as being unused. * allow empty decls * comprehensions are now list comprehensions, not monadic. * use Monad.fail to signal pattern matching errors within do expressions. * remove record punning. * empty contexts are now legal (go wild!) * allow records with no fields * allow newtypes with a labelled field * default default is now (Integer, Double) * turn off defaulting mechanism for args & res to a _ccall_. * allow LHSs of the form (a -.- b) x = ... * Main.main can now have type (IO a) * nuked Void (and its use in the compiler sources.) * deriving machinery for Enum now also generate 'succ' and 'pred' method bindings.
-
- 07 Jan, 1999 2 commits
- 05 Jan, 1999 1 commit
-
-
simonpj authored
Fix renamer crash on bootstrap build
-
- 18 Dec, 1998 1 commit
-
-
simonpj authored
Another big commit from Simon. Actually, the last one didn't all go into the main trunk; because of a CVS glitch it ended up in the wrong branch. So this commit includes: * Scoped type variables * Warnings for unused variables should work now (they didn't before) * Simplifier improvements: - Much better treatment of strict arguments - Better treatment of bottoming Ids - No need for w/w split for fns that are merely strict - Fewer iterations needed, I hope * Less gratuitous renaming in interface files and abs C * OccName is a separate module, and is an abstract data type I think the whole Prelude and Exts libraries compile correctly. Something isn't quite right about typechecking existentials though.
-
- 02 Dec, 1998 1 commit
-
-
simonm authored
Move 4.01 onto the main trunk.
-
- 08 Nov, 1998 1 commit
-
-
sof authored
First take at 'foreign label's
-
- 23 Oct, 1998 1 commit
-
-
sof authored
getAllFilesMatching: increase malleability factor by a notch; just warn if an element along the import search path doesn't exist, don't barf.
-
- 04 Sep, 1998 1 commit
-
-
sof authored
In an interface file, don't allow data and newtype decls to have deriving clauses (not needed.)
-
- 14 Aug, 1998 2 commits
- 23 Jul, 1998 1 commit
-
-
sof authored
back out foreign decl change, not supposed to see that just yet
-
- 21 Jul, 1998 1 commit
-
-
sof authored
commas inside SLIT()s have never been a good idea
-
- 20 Jul, 1998 1 commit
-
-
sof authored
importDecl: Improved warning message for (attempted) reflexive import
-
- 01 Jun, 1998 1 commit
-
-
sof authored
Turn off pruning of newtypes, the code generator may need to see constructor
-
- 31 May, 1998 1 commit
-
-
sof authored
Tidied up parsing of expressions
-
- 22 May, 1998 1 commit
-
-
simonm authored
Add NOINLINE pragma. - add new type of inline info: IDontWantToBeINLINEd - hopefully get the interactions between IMustNotBeINLINEd (which is used by the simplifier to ensure termination when simplifying recursive binding groups) and IDontWantToBeINLINEd. - no need to pass NOINLINE across modules, we just make sure that any function marked as NOLINE doesn't get an unfolding in the interface.
-
- 11 May, 1998 1 commit
-
-
simonm authored
Convert floating point literals from interfaces directly to Rationals, rather than go via Doubles.
-
- 04 May, 1998 1 commit
-
-
sof authored
Import lists updated
-
- 01 May, 1998 1 commit
-
-
simonpj authored
Fix two small renamer bugs, and Christophs duplicated-constraint-in-interface files bug
-
- 30 Apr, 1998 1 commit
-
-
sof authored
Prior to renaming, build up a mapping from module names to file path of corresponding interface file.
-
- 09 Apr, 1998 2 commits
- 08 Apr, 1998 1 commit
-
-
simonpj authored
Specialisation works at last
-
- 07 Apr, 1998 2 commits
- 06 Apr, 1998 1 commit
-
-
sof authored
Misc changes by Simon to emit and handle cross-module specialisations
-
- 19 Mar, 1998 1 commit
-
-
simonpj authored
Reorganisation of Id, IdInfo. Remove StdIdInfo, PragmaInfo; add basicTypes/MkId.lhs
-
- 04 Mar, 1998 1 commit
-
-
sof authored
addAvailEnv: restrict previous change to not redo duplicate checks.
-
- 03 Mar, 1998 1 commit
-
-
sof authored
addAvailEnv: special handling of explicit exports of class methods.
-
- 25 Feb, 1998 2 commits
-
-
sof authored
Interface file version checking support. Added a compiler version field to the interface file header. The format is now _interface_ <IfaceName> <ModuleVersion> <CompilerVersion> where the compiler version follow the value of $(ProjectVersionInt). Any mismatch in version numbers causes the renamer to give up. A compiler version number of 0 means turn off version checking (used by PrelGHC.hi to avoid having to update every time we release.) .hi-boot files are treated specially, the absence of a compiler version number in the header is taken to mean that there was a `0'. Need to do this since hsc's .hi-boot files have to also be useable by versions of the compiler that don't grok version info in interface files (e.g., ghc-2.10.)
-
sof authored
Dictionaries are now named as follows: $d<class><tycon><n> where "n" is a positive int, "tycon" is the name of the tyvar/tycon of the first argument to the "class" that the dict represent an instance of. The change should improve the behaviour of the recompilation checker, preventing the recompilation of all the dependents of a module whenever a data type of instance is added to it. (The common behaviour should be no recompilations, but there are cases where the naming scheme fails to prevent a recompile.)
-
- 10 Feb, 1998 2 commits
- 09 Feb, 1998 2 commits
- 03 Feb, 1998 2 commits
-
-
sof authored
Support for assertions: - if `assert' is not a variable name within scope, it is expanded to (GHCerr.assert__ <srcLoc>), GHCerr.assert__ :: String -> Bool -> a -> a where <srcLoc> encodes module name plus line number of the assertion. - enabled with -fglasgow-exts
-
simonm authored
- Fixes for bootstrapping with 3.01. - Use 'official' extension interfaces rather than internal prelude modules (such as ArrBase) where possible. - Remove some cruft. - Delete some unused imports found by '-fwarn-unused-imports'.
-
- 02 Feb, 1998 1 commit
-
-
simonm authored
Split -fwarn-unused-names into -fwarn-unused-imports Warn about unused explicit imports. (in -W) -fwarn-unused-binds Warn about unused bindings (in -W) -fwarn-unused-matches Warn about unused names in pattern matches (not as useful, relegated to -Wall)
-
- 29 Jan, 1998 1 commit
-
-
simonpj authored
Fix interaction of "hiding" on import with "module M" on export
-