| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | | |
Fixed conflicts:
compiler/prelude/PrelNames.lhs
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | | |
Conflicts:
compiler/main/HscMain.lhs
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
This is the work of Nils Schweinsberg <mail@n-sch.de>
It adds the language extension -XMonadComprehensions, which
generalises list comprehension syntax [ e | x <- xs] to work over
arbitrary monads.
|
| | |
| | |
| | |
| | | |
They belonged to the old generic deriving mechanism, so they can go. Adapted a lot of code as a consequence.
|
| | |
| | |
| | |
| | | |
default methods. Redefine the behavior of XGenerics to mean enable XDefaultSignatures and XDeriveRepresentable.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also get rid of the old {| |} brackets in the lexer.
Fewer keywords!
|
|\ \ \
| | |/
| |/| |
|
| |/ |
|
| |
| |
| |
| | |
plus a false ASSERT failure
|
|/
|
|
|
| |
(See his Haskell Symposium 2010 paper
"A generic deriving mechaism for Haskell")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added a pragma {-# VECTORISE var = exp #-} that prevents
the vectoriser from vectorising the definition of 'var'.
Instead it uses the binding '$v_var = exp' to vectorise
'var'. The vectoriser checks that the Core type of 'exp'
matches the vectorised Core type of 'var'. (It would be
quite complicated to perform that check in the type checker
as the vectorisation of a type needs the state of the VM
monad.)
- Added parts of a related VECTORISE SCALAR pragma
- Documented -ddump-vect
- Added -ddump-vt-trace
- Some clean up
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for multiline commands in GHCi.
The first line of input is lexed. If there is an active
layout context once the lexer reaches the end of file, the
user is prompted for more input.
Multiline input is exited by an empty line and can be escaped
with a user interrupt.
Multiline mode is toggled with `:set +m`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For a long time an 'mdo' expression has had a SyntaxTable
attached to it. However, we're busy deprecating SyntaxTables
in favour of rebindable syntax attached to individual Stmts,
and MDoExpr was totally inconsistent with DoExpr in this
regard.
This patch tidies it all up. Now there's no SyntaxTable on
MDoExpr, and 'modo' is generally handled much more like 'do'.
There is resulting small change in behaviour: now MonadFix is
required only if you actually *use* recursion in mdo. This
seems consistent with the implicit dependency analysis that
is done for mdo.
Still to do:
* Deal with #4148 (this patch is on the way)
* Get rid of the last remaining SyntaxTable on HsCmdTop
|
| |
|
| |
|
| |
|
|
|
|
| |
The extension was rejected by Haskell', and deprecated in 7.0.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
They are no longer right, as we have Haskell' generating new Haskell
standards.
|
|
|
|
|
| |
Still TODO: Add the other relaxation (#1060) and update the alternative
layout rule to use the extension.
|
|
|
|
|
| |
This was apparently needed at some point during the new typechecker
development, but does not seem to be required now.
|
| |
|
| |
|
|
|
|
| |
A simple refactoring in the parser
|
|
|
|
|
| |
This is just a backward-compatibility thing, to be removed
eventually.
|
|
|
|
|
|
|
|
|
|
|
| |
There are two main changes
* New LANGUAGE option RebindableSyntax, which implies NoImplicitPrelude
* if-the-else becomes rebindable, with function name "ifThenElse"
(but case expressions are unaffected)
Thanks to Sam Anklesaria for doing most of the work here
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is patch that adds support for interruptible FFI calls in the form
of a new foreign import keyword 'interruptible', which can be used
instead of 'safe' or 'unsafe'. Interruptible FFI calls act like safe
FFI calls, except that the worker thread they run on may be interrupted.
Internally, it replaces BlockedOnCCall_NoUnblockEx with
BlockedOnCCall_Interruptible, and changes the behavior of the RTS
to not modify the TSO_ flags on the event of an FFI call from
a thread that was interruptible. It also modifies the bytecode
format for foreign call, adding an extra Word16 to indicate
interruptibility.
The semantics of interruption vary from platform to platform, but the
intent is that any blocking system calls are aborted with an error code.
This is most useful for making function calls to system library
functions that support interrupting. There is no support for pre-Vista
Windows.
There is a partner testsuite patch which adds several tests for this
functionality.
|
| |
|
|
|
|
| |
and remove the temporary DOpt class workaround.
|
| |
|
|
|
|
| |
Implements Trac #4299. Documentation to come.
|
|
|
|
|
|
|
|
|
| |
This major patch implements the new OutsideIn constraint solving
algorithm in the typecheker, following our JFP paper "Modular type
inference with local assumptions".
Done with major help from Dimitrios Vytiniotis and Brent Yorgey.
|
|
|
|
|
| |
The main thing here is to allow us to provide type
signatures for 'deriving' bindings without pain.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Happy generates
notHappyAtAll = error "Blah"
without a type signature, and currently the new
typechecker doesn't generalise it. This patch
says "no monomorphism restriction" which makes it
generalise again.
Better would be to add a type sig to Happy's template
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This fixes trac bug #1344
|
| |
|
| |
|
|
|
|
|
| |
This also means that extsBitmap gets set, whereas is was just being set
to 0 before.
|
| |
|
| |
|
| |
|