- 02 Oct, 2004 1 commit
-
-
dons authored
When linking against libpthreads, raise(3) can behave strangely on some platforms (OpenBSD at least, maybe other BSDs, not Linux). So use pthread_kill() to generate signals when running the threaded rts, instead of raise(), when System.Posix.Signals.raiseSignal is called. raiseSignal will call genericRaise, in the rts, which knows which function to use.
-
- 01 Oct, 2004 11 commits
-
-
panne authored
Layout rule again...
-
simonpj authored
Allow kind signatures in GADT data type declarations
-
simonpj authored
First-cut documentation for GADTs
-
simonpj authored
A bit more about hi-boot
-
simonpj authored
Comments only
-
ross authored
fix dummy ASSERTM2 macro
-
simonpj authored
------------------------------------ Simplify the treatment of newtypes Complete hi-boot file consistency checking ------------------------------------ In the representation of types, newtypes used to have a special constructor all to themselves, very like TyConApp, called NewTcApp. The trouble is that means we have to *know* when a newtype is a newtype, and in an hi-boot context we may not -- the data type might be declared as data T in the hi-boot file, but as newtype T = ... in the source file. In GHCi, which accumulates stuff from multiple compiles, this makes a difference. So I've nuked NewTcApp. Newtypes are represented using TyConApps again. This turned out to reduce the total amount of code, and simplify the Type data type, which is all to the good. This commit also fixes a few things in the hi-boot consistency checking stuff.
-
simonpj authored
Remove bogus defn in hi-boot
-
simonpj authored
----------------------------------- Do simple checking on hi-boot files ----------------------------------- This commit arranges that, when compiling A.hs, we compare the types we infer with those in A.hi-boot, if the latter exists. (Or, more accurately, if anything A.hs imports in turn imports A.hi-boot, directly or indirectly.) This has been on the to-do list forever.
-
simonpj authored
Generate in the @size suffix for a stdcall symbol properly.
-
wolfgang authored
Replace \? by \{0,1\} in the sed regular expressions, as the former does not work with Mac OS X's (= BSD's) sed. I'm a bit confused by the situation here: According to Mac OS X man pages, the latter syntax is part of the POSIX 1003.2 standard for basic regular expressions, while the former is not. According to the manpage installed with my Gentoo linux, neither is in the POSIX standard. However, GNU sed accepts both \? and \{0,1\}, while Mac OS X's sed accepts only \{0,1\}.
-
- 30 Sep, 2004 8 commits
-
-
panne authored
Stylistic changes
-
panne authored
Get all project info from configure.ac
-
panne authored
Make it compile with a GHC 6.x. The layout rule seems to be a mystery even for one of the "fathers" of Haskell... :-}
-
simonpj authored
Add HsPat.hi-boot
-
simonpj authored
------------------------------------ Add Generalised Algebraic Data Types ------------------------------------ This rather big commit adds support for GADTs. For example, data Term a where Lit :: Int -> Term Int App :: Term (a->b) -> Term a -> Term b If :: Term Bool -> Term a -> Term a ..etc.. eval :: Term a -> a eval (Lit i) = i eval (App a b) = eval a (eval b) eval (If p q r) | eval p = eval q | otherwise = eval r Lots and lots of of related changes throughout the compiler to make this fit nicely. One important change, only loosely related to GADTs, is that skolem constants in the typechecker are genuinely immutable and constant, so we often get better error messages from the type checker. See TcType.TcTyVarDetails. There's a new module types/Unify.lhs, which has purely-functional unification and matching for Type. This is used both in the typechecker (for type refinement of GADTs) and in Core Lint (also for type refinement).
-
simonmar authored
Add -I- after the include paths when running gcc. This prevents accidental shadowing of system includes by putting a file called eg. stdint.h in the current directory.
-
krasimir authored
absCSyn directory doesn't exists in the HEAD
-
dons authored
Look for getpwnam, getpwuid.
-
- 29 Sep, 2004 3 commits
- 28 Sep, 2004 4 commits
-
-
simonmar authored
rts_evalStableIO: set rtsApiCapability to NULL *before* calling scheduleWaitThread, matching the way the other eval_* functions do this. The previous way lead to a suble race condition: - thread A calls rts_evalIO, enters scheduleWaitThread() (rtsApiCapability == NULL). - thread B calls rts_evalStableIO, creates a main thread and enters scheduleWaitThread() (rtsApiCapability == &MainCapability) - thread A exits scheduleWaitThread, sees that rtsApiCapability is non-NULL, and calls releaseCapability() on it. This is bogus, because thread A doesn't actually hold the capability, and we've done a double-release. This scenario leads to assertion failures in a debug threaded RTS, and probably crashes in a non-debug threaded RTS. MERGE TO STABLE
-
simonmar authored
Avoid some warnings from gcc by appending an 'LL' suffix to 64-bit integers on a 32-bit platform. Suggested by: Sven Panne <Sven.Panne@aedion.de>
-
simonmar authored
oops, revert version number to 6.3 again
-
simonmar authored
Ignore RULES pragmas unless we're in -fglasgow-exts mode.
-
- 27 Sep, 2004 5 commits
-
-
wolfgang authored
Mac OS X: Fix an incorrect ASSERT Merge to STABLE
-
wolfgang authored
GHCi support for PowerPC Linux, courtesy of Ryan Lortie <desrt@desrt.ca>. MERGE TO STABLE
-
simonmar authored
A few updates to the local Emacs variables in these files. For some reason, I can't get Emacs' PSGML mode to work with the new XML files (although I thought I had it working before... strange).
-
simonmar authored
sed-magic for ProjectVersionInt: make it work for version numbers with patchlevel components (ToDo: ProjectPatchLevel still isn't set properly in version.mk, this has to be updated by hand).
-
simonmar authored
export errMsgContext
-
- 24 Sep, 2004 1 commit
-
-
wolfgang authored
PowerPC/Mac OS X: Improve epilogue mangling. This became necesssary because the new CG may "fall through" for cases in a switch that are known to never happen, so GCC generates the epilogue code again. With the previous CG, GCC never generated any epilog code, because every function ended with an unconditional tail jump.
-
- 22 Sep, 2004 2 commits
- 21 Sep, 2004 3 commits
- 20 Sep, 2004 2 commits
-
-
panne authored
Removed dependency of $(TOP)/mk/config.mk on $(TOP)/config.status, resurrecting "make distclean". I'm not 100% sure that the autoconf-related rules are correct, "./config.status --recheck" in conjunction with make is a real brain-twister...
-
panne authored
Ooops, forgot to rename version.mk in my previous committ...
-