summaryrefslogtreecommitdiff
path: root/compiler/vectorise/VectMonad.hs
Commit message (Collapse)AuthorAgeFilesLines
* Remove two old junk filessimonpj@microsoft.com2010-09-131-651/+0
|
* Super-monster patch implementing the new typechecker -- at lastsimonpj@microsoft.com2010-09-131-0/+651
| | | | | | | | | 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.
* Finish breaking up VectBuiltIn and VectMonad, and add commentsbenl@ouroborus.net2010-08-311-499/+0
|
* Fix warningsbenl@ouroborus.net2010-08-301-1/+0
|
* Move VectCore to Vectorise treebenl@ouroborus.net2010-08-301-0/+1
|
* Split out vectoriser environments into own modulebenl@ouroborus.net2010-08-301-152/+1
|
* Comments and formatting to vectoriser, and split out varish stuff into own ↵benl@ouroborus.net2010-08-301-0/+2
| | | | module
* Fix warningsbenl@ouroborus.net2010-08-301-1/+1
|
* Vectorisation of method typesbenl@ouroborus.net2010-08-301-1/+18
|
* Comments and formatting to vectoriserbenl@ouroborus.net2010-08-301-2/+6
|
* Comments onlybenl@ouroborus.net2010-03-111-18/+74
|
* Use packByTag instead of pack in the vectoriserRoman Leshchinskiy2009-10-301-1/+1
|
* Don't hardwire PA and PR dfuns in the vectoriserRoman Leshchinskiy2009-10-151-2/+3
| | | | | Instead, we simply find all available PA and PR instances and get our dfuns from those.
* Separate length from data in DPH arraysRoman Leshchinskiy2009-07-131-3/+7
|
* Remove unused importsIan Lynagh2009-07-071-1/+0
|
* Fix warningRoman Leshchinskiy2009-03-061-1/+1
|
* Try not to avoid vectorising purely scalar functionsRoman Leshchinskiy2009-03-061-9/+34
|
* Clean up vectorisation error messagesRoman Leshchinskiy2008-09-161-3/+22
|
* Fix vectoriser bugRoman Leshchinskiy2008-09-151-1/+1
| | | | We were using mkWildId in situations where it cause disastrous shadowing
* Don't panic on non-vectorisable expressionsRoman Leshchinskiy2008-09-111-1/+2
|
* Reflect changes of desugarer error reporting in VectMonad.Thomas Schilling2008-09-141-1/+3
|
* Fix VectMonad after introduction of MonadThingsMax Bolingbroke2008-07-311-1/+1
|
* Command-line options for selecting DPH backendRoman Leshchinskiy2008-07-021-4/+4
| | | | It's -fdph-seq and -fdph-par at the moment, I'll think of a nicer setup later.
* Parametrise vectoriser with DPH packageRoman Leshchinskiy2008-07-011-3/+7
|
* Don't use DPH backend directly in vectoriserRoman Leshchinskiy2008-07-011-1/+1
|
* (F)SLIT -> (f)sLit in VectMonadIan Lynagh2008-04-121-2/+2
|
* Fix vectorisation monadRoman Leshchinskiy2008-03-071-4/+6
|
* Fixed warnings in vectorise/VectMonadTwan van Laarhoven2008-02-031-22/+12
|
* Replace remaining uses of ioToIOEnv by liftIO, remove ioToIOEnvTwan van Laarhoven2008-01-171-2/+2
|
* Use (UArr Int) instead of PArray_Int# in vectorisationRoman Leshchinskiy2007-12-151-1/+2
|
* Teach vectorisation about tuple dataconsRoman Leshchinskiy2007-12-051-1/+3
|
* Extend built-in vectorisation environmentsRoman Leshchinskiy2007-11-181-3/+3
|
* Add builtin var->var mapping to vectorisationRoman Leshchinskiy2007-11-181-2/+8
|
* Extend vectorisation built-in mappings with dataconsRoman Leshchinskiy2007-11-181-1/+7
|
* Incomplete support for boxing during vectorisationRoman Leshchinskiy2007-11-171-0/+15
|
* More vectorisation-related built-insRoman Leshchinskiy2007-11-161-1/+1
|
* Vectorisation utilitiesRoman Leshchinskiy2007-11-161-1/+4
|
* View patterns, record wildcards, and record punsDan Licata2007-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements three new features: * view patterns (syntax: expression -> pat in a pattern) * working versions of record wildcards and record puns See the manual for detailed descriptions. Other minor observable changes: * There is a check prohibiting local fixity declarations when the variable being fixed is not defined in the same let * The warn-unused-binds option now reports warnings for do and mdo stmts Implementation notes: * The pattern renamer is now in its own module, RnPat, and the implementation is now in a CPS style so that the correct context is delivered to pattern expressions. * These features required a fairly major upheaval to the renamer. Whereas the old version used to collect up all the bindings from a let (or top-level, or recursive do statement, ...) and put them into scope before renaming anything, the new version does the collection as it renames. This allows us to do the right thing with record wildcard patterns (which need to be expanded to see what names should be collected), and it allows us to implement the desired semantics for view patterns in lets. This change had a bunch of domino effects brought on by fiddling with the top-level renaming. * Prior to this patch, there was a tricky bug in mkRecordSelId in HEAD, which did not maintain the invariant necessary for loadDecl. See note [Tricky iface loop] for details.
* Fix CodingStyle#Warnings URLsIan Lynagh2007-09-041-1/+1
|
* Use OPTIONS rather than OPTIONS_GHC for pragmasIan Lynagh2007-09-031-2/+2
| | | | | | | Older GHCs can't parse OPTIONS_GHC. This also changes the URL referenced for the -w options from WorkingConventions#Warnings to CodingStyle#Warnings for the compiler modules.
* Add {-# OPTIONS_GHC -w #-} and some blurb to all compiler modulesIan Lynagh2007-09-011-0/+7
|
* Remove NDP-related stuff from PrelNamesRoman Leshchinskiy2007-08-311-1/+1
| | | | | We don't need fixed Names for NDP built-ins. Instead, we can look them up ourselves during VM initialisation.
* Fix vectorisation of nullary data constructorsRoman Leshchinskiy2007-08-311-1/+1
|
* Find the correct array type for primitive tyconsRoman Leshchinskiy2007-08-301-2/+5
|
* Add code for looking up PA methods of primitive TyConsRoman Leshchinskiy2007-08-301-0/+4
|
* Use n-ary sums and products for NDP's generic representationRoman Leshchinskiy2007-08-231-3/+6
| | | | | | | | | | Originally, we wanted to only use binary ones, at least initially. But this would a lot of fiddling with selectors when converting to/from generic array representations. This is both inefficient and hard to implement. Instead, we will limit the arity of our sums/product representation to, say, 16 (it's 3 at the moment) and initially refuse to vectorise programs for which this is not sufficient. This allows us to implement everything in the library. Later, we can implement the necessary splitting.
* Initialise PR dictionaries in vectorisation monadRoman Leshchinskiy2007-08-231-0/+2
|
* Add PR dictionaries to vectorisation monadRoman Leshchinskiy2007-08-231-1/+13
|
* Read the package state after pulling in all built-ins during vectorisationRoman Leshchinskiy2007-08-231-7/+8
|
* Move all vectorisation built-ins to VectBuiltInRoman Leshchinskiy2007-08-231-28/+20
|