- Mar 04, 2013
-
-
Simon Peyton Jones authored
The typechecking of arrow forms (in GHC 7.6) is known to be bogus, as described in Trac #5609, because it marches down tuple types that may not yet be fully worked out, depending on when constraint solving happens. Moreover, coercions are generated and simply discarded. The fact that it works at all is a miracle. This refactoring is based on a conversation with Ross, where we rearranged the typing of the argument stack, so that the arrows have the form a (env, (arg1, (arg2, ...(argn, ())))) res rather than a (arg1, (arg2, ...(argn, env))) res as it was before. This is vastly simpler to typecheck; just look at the beautiful, simple type checking of arrow forms now! We need a new HsCmdCast to capture the coercions generated from the argument stack. This leaves us in a better position to tackle the open arrow tickets * Trac #5777 still fails. (I was hoping this patch would cure it.) * Trac #5609 is too complicated for me to grok. Ross? * Trac #344 * Trac #5333
-
- Mar 01, 2013
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- Feb 28, 2013
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
[ ] is m4 syntax, so we need to use 'test foo' rather than '[ foo ]'.
-
Ian Lynagh authored
-
Ian Lynagh authored
It's now only used once
-
Ian Lynagh authored
pipeLoop now returns the final dflags, rather than having runPipeline' extract it from the end state.
-
Gabor Greif authored
-
- Feb 27, 2013
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
- Feb 26, 2013
-
-
Gabor Greif authored
-
Gabor Greif authored
-
Ian Lynagh authored
AnnProvenance now has Functor, Foldable, Traversable instances.
-
Ian Lynagh authored
-
Gabor Greif authored
-
- Feb 25, 2013
-
-
Ian Lynagh authored
(# is now always a lexeme, even if followed by a symbol.
-
Gabor Greif authored
This fixes certain older GCCs which do not accept link options when assembling or compiling: ppc_85xx-gcc: --hash-size=31: linker input file unused because linking not done ppc_85xx-gcc: --reduce-memory-overheads: linker input file unused because linking not done and diagnose this to stderr.
-
Geoffrey Mainland authored
The loop exit condition was testing ${LLC} instead of $1, which was incorrect. While I'm here, quote the path being tested since it may contain spaces (e.g. on Windows), and don't search paths that don't exist, which eliminates un-useful error messages from find.
-
- Feb 24, 2013
-
-
Ian Lynagh authored
-
Ian Lynagh authored
We only use the unicode characters if the locale supports them.
-
- Feb 23, 2013
-
-
I don't think the x86-64 version is quite right, but this ought to be enough to pass cgrun071. This code is terrible and needs a complete refactor. There's a lot of duplication, and we ought to be specifying the ABI in a much more abstract way (like LLVM).
-
Ian Lynagh authored
-
Ian Lynagh authored
Using { } with sed on OS X requires using newlines rather than semicolons. I've rewritten the sed so that no { } are necessary.
-
- Feb 22, 2013
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
If a file is created by a %.hi rule, and the actual filename isn't mentioned in the makefiles, then make will treat it as an 'intermediate file' and delete it when it is finished. We'd been lucky so far that .hi files weren't actually being built due to our rules (but rather, as side-effects of the .o rules). However, when using -dynamic-too to build, we had a rule $1/$2/build/%.$$(dyn_osuf): $1/$2/build/%.$$(v_hisuf) which meant that building a .dyn_o could cause the rule for the corresponding .hi to be used, and the .hi may then be deleted later on. This was exacerbated by a bug in GNU make 3.81 which caused make to enter an infinite loop if running in parallel mode: http://lists.gnu.org/archive/html/bug-make/2013-02/msg00020.html Adding .SECONDARY: would stop make from deleting the intermediate files. However, this caused make to take a pathologically long time (it appeared to be live-locked for 2 hours before I killed it) with our build system. This patch instead creates lines like $(eval $(call hi-rule,libraries/base/dist-install/build/Unsafe/Coerce.dyn_hi libraries/base/dist-install/build/Unsafe/Coerce.hi : %hi: %o libraries/base/Unsafe/Coerce.hs)) in the .depend files, which results in a rule like libraries/base/dist-install/build/Unsafe/Coerce.dyn_hi libraries/base/dist-install/build/Unsafe/Coerce.hi : %hi: %o libraries/base/Unsafe/Coerce.hs ; which, as the files are now all named in the makefiles, means they are no longer intermediate files so do not get deleted.
-
Gabor Greif authored
-
Geoffrey Mainland authored
Thanks to Daniel Pratt <colorblinddad@gmail.com> for pointing out the failure and fix.
-
- Feb 21, 2013
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
This means we don't define them multiple times
-
Ian Lynagh authored
The hsc2hs, alex and happy options variables are now also non-way-specific, as the files are shared between all ways.
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
jpm@cs.ox.ac.uk authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-