[Agda] [PATCH] Agda evaluation challenge -- Sieve of Eratosthenes
James Deikun
james at place.org
Wed Apr 18 22:48:29 CEST 2012
I've been playing around with an (unproven; even un-termination-checked
in places) implementation of the Sieve of Eratosthenes to see how well
Agda's compile-time evaluator can stack up in the best cases. The
call-by-name evaluation model and the fundamentally unary nature of
builtin Naturals present substantial difficulties, but it seems
eminently practical to determine primes as high as the 400th (2741) if
not higher. The code is located at http://github.com/xplat/potpourri/
under the Primes directory.
In order to achieve reasonable performance for operations on Nats I
created a small library, FastNat.agda, which binds a couple of unbound
builtins and redefines basic auxiliary datatypes, like _≤_, as well as
many of the functions and proofs. It aims at allowing small, fast
representations by using naturals and their equalities to represent all
induction and indexing in the datatypes (since naturals can be
represented as literals and equalities are constant size; see also
below). _≤_ is represented as follows:
> record _≤_ (m n : Nat) : Set where
> constructor le
> field
> k : Nat
> m+k≡n : m + k ≡ n
Needless recursion when building or verifying equalities is prevented
using the following function, which throws away its argument while
requiring a suitable proof of said argument's existence:
> hideProof : {a : Level} {A : Set a} {x y : A} -> x ≡ y -> x ≡ y
> hideProof eq = trustMe
By careful use of this primitive and builtins such as NATEQUALS and
NATLESS it should be possible to build, say, a DecTotalOrder with all
operations executing on literals in time logarithmic in the magnitude of
the numbers; this has been verified for all operations but total (which
still uses a raw trustMe) and no serious difficulties are anticipated.
FastNat does, however, require a small patch (attached) to Agda to
achieve its advertised speed.
The pairing heap (Heap.agda) and sieve (Sieve.agda) implementations use
pattern-matching as a sequentialization measure to control duplication
of unevaluated thunks, which can cause an exponential slowdown. Aside
from that they are largely straightforward implementations of the
respective data structure and algorithm, the latter following "The
Genuine Sieve of Eratosthenes" by M.E. O'Neill.
Comments and improvements gratefully accepted.
-------------- next part --------------
1 patch for repository http://code.haskell.org/Agda:
Wed Apr 18 16:02:53 EDT 2012 james at place.org
* compareAtom literal speedup.
compareAtom would reduce a pair of LitInts to constructor form a level at a
time and compare them recursively; this patch only reduces to constructor
form when one side of the comparison is a nonliteral. Speeds up things like
'million : 1000 * 1000 a 1000000 ; million = refl' by orders of magnitude.
New patches:
[compareAtom literal speedup.
james at place.org**20120418200253
Ignore-this: 934a8f73056211e8cccefb2e64416ed9
compareAtom would reduce a pair of LitInts to constructor form a level at a
time and compare them recursively; this patch only reduces to constructor
form when one side of the comparison is a nonliteral. Speeds up things like
'million : 1000 * 1000 ≡ 1000000 ; million = refl' by orders of magnitude.
] hunk ./src/full/Agda/TypeChecking/Conversion.hs 245
, text ":" <+> prettyTCM t ]
let unLevel (Level l) = reallyUnLevelView l
unLevel v = return v
- -- constructorForm changes literal to constructors
-- Andreas: what happens if I cut out the eta expansion here?
-- Answer: Triggers issue 245, does not resolve 348
hunk ./src/full/Agda/TypeChecking/Conversion.hs 247
- mb <- traverse unLevel =<< traverse constructorForm =<< etaExpandBlocked =<< reduceB m
- nb <- traverse unLevel =<< traverse constructorForm =<< etaExpandBlocked =<< reduceB n
+ mb' <- etaExpandBlocked =<< reduceB m
+ nb' <- etaExpandBlocked =<< reduceB n
+
+ -- constructorForm changes literal to constructors
+ -- only needed if the other side is not a literal
+ (mb'', nb'') <- case (ignoreBlocking mb', ignoreBlocking nb') of
+ (Lit _, Lit _) -> return (mb', nb')
+ _ -> (,) <$> traverse constructorForm mb'
+ <*> traverse constructorForm nb'
+
+ mb <- traverse unLevel mb''
+ nb <- traverse unLevel nb''
let m = ignoreBlocking mb
n = ignoreBlocking nb
Context:
[Added agda2-comment-dwim-rest-of-buffer.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120418150211
Ignore-this: d45759a5f1477d53b7f49c19481dee13
]
[Test case for with in irrelevant declarations.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120418130519
Ignore-this: e93ad25c8fb119515b8d0184ba5dffd2
]
[When checking a DontCare term, keep DontCare. (Fixes Issue 610-4).
Andreas Abel <andreas.abel at ifi.lmu.de>**20120418125852
Ignore-this: bb6cfbfeeeecf063559ae580d73df6e9
]
[Declaration in irrelevant context (e.g. where modules) must be irrelevant as well.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120418123748
Ignore-this: e1476e4992ded03ce0a2e073868e1925
Fixes part of issue 610.
]
[Added agda2-queue.el.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120416152620
Ignore-this: 766dbd311606a6811f9d31b711b0f064
]
[finish "replace HighlightingOutput by InteractionOutputCallback"
divipp at gmail.com**20120408053849
Ignore-this: b58ea6d45ee835225bcda2860320280a
(I didn't take into account that 'darcs replace' supports --token-chars.)
]
[improve comments
divipp at gmail.com**20120408052252
Ignore-this: 1bcef3c05efa77e5e38734ad63c19f5d
]
[add more structure to give results
divipp at gmail.com**20120407170948
Ignore-this: 377119bbfd8d4d3736f74b22f56dc6c4
Previously the give result was a String
with some inner structure. Now it is
a proper ADT with three constructors.
]
[make the Response data type more informative
divipp at gmail.com**20120322163633
Ignore-this: d5f102506e4161f46a302c924d460957
]
[Fixed compilation with GHC 7.2.2.
Andrés Sicard-Ramírez <andres.sicard.ramirez at gmail.com>**20120408155607
Ignore-this: 88bdbebfae6156237e7d6b15ae0603fa
]
[A translation of copatterns into nested record expressions.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407155131
Ignore-this: f4ce65b1cc3ca718163f09d91fd5e74e
This translation handles only the simplest cases of copattern lhs yet.
No with, rewrite, where, absurd clauses.
fst f = e1
snd f = e2
is rewritten to
f = record { fst = e1; snd = e2 }
Deep destructor patterns are supported.
See test/succeed/Copatterns.agda for a simple example.
The highlighting does not fully work yet, maybe some corrupt range info!?
]
[Conflict resolution for the copattern patches after Ulf's qualified mixfix ops.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407154549
Ignore-this: 3b2b2c298231732dafebe07f166ca21
]
[Monadic mapping over pairs (utilities).
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407154318
Ignore-this: c266fe72e5931ef9e0581b996396394d
]
[Updating the reorganization of Internal (conflict resolution).
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407154142
Ignore-this: b684153250b9aeac0fd47479cf0eab7d
]
[Naming the components of Clause.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407154038
Ignore-this: 42850fbbf7b451216c247f24eb6d75bf
]
[Add a comment for QuoteGoal constructor.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407154013
Ignore-this: 6ae30214094d02e9c304eab58cb0db1e
]
[Internal refactoring: notSoNiceDeclaration takes only one declaration, not a list.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407153902
Ignore-this: 2130f7f46c406c5f77ee66ef56be3e1b
]
[Reorganization of Syntax.Internal: put functions in proper sections.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120402062734
Ignore-this: c32df08b962579cf9146cad083870a48
]
[Merged copattern patches with pattern synonym patch.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120309211035]
[Resolved conflicts with new-highlighting patches.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120130212340]
[Towards flexible arity in defined functions. Refactoring step: ProblemRest.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111125174342
Introduced a new component to Problem data type which stores overhanging user patterns and the type they eliminate.
]
[Added test for a possible new feature: functions with flexible arity.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111124173200]
[Scope checking definitions by copatterns implemented.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111124163042]
[Refactoring step: Added LHSCore to abstract syntax.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111124151403]
[Parsing copatterns.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111123155247
Seems to recognize them, but then abstract syntax does not support them yet.
]
[Introduced LHSCore data type.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111123123846
Refactoring step.
No observable change of Agda functionality.
Test suite runs.
]
[Start of copattern parsing implementation.
james at cs.ioc.ee**20111122122008
Ignore-this: bd84a357f87c6c76544cca0bd8d63d8d
Incomplete! Breaks compilation of Agda!
]
[New option --copatterns.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111122094816
Example file for definition by copatterns in test/features.
]
[Interaction test to ensure refine does not add extra parentheses.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120407082824
Ignore-this: e6a44ec6fb1efb755945d037f098628f
See (invalid) issue 606.
]
[benchmark run
ulfn at chalmers.se**20120406082221
Ignore-this: 26a3f69e3b8827ce049f9bb1195fe866
]
[fixed issue 597: allowing qualified mixfix operators
ulfn at chalmers.se**20120406081708
Ignore-this: 96087f8ef5ed9134eb0dd19e70b09d90
To use an operator qualified you qualify the first token. For instance
import Data.Bool as Bool
z = Bool.if true then 0 else 1
]
[Added --reinstall to the install-lib and install-prof-lib targets.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120405092037
Ignore-this: b60de3df860eb8885f530345badca126
]
[Rollback cabal flag --force-reinstall in Makefile.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120404154238
Ignore-this: 55d47617f4a3e146a117b7934a3a2802
cabal-install 0.10.x does not know this flag.
(I am not willing to upgrade only for this flag.)
Also, I cannot reproduce the behavior; make install-bin always installs new binaries.
rolling back:
Wed Apr 4 14:18:54 CEST 2012 ulfn at chalmers.se
* use --force-reinstall in the Makefile to make cabal actually do something when recompiling Agda
M ./Makefile -1 +1
]
[fixed issue 580 by disallowing private record fields
ulfn at chalmers.se**20120404141335
Ignore-this: 9d98417d0366f855fdbcf7fa5b17ea8f
]
[Refine, emacs: C-u C-c C-r will insert a pattern matching lambda instead of a standard lambda.
wjedynak at gmail.com**20120403184011
Ignore-this: 7126043ae8a42fde7c9e54ce1e799f7f
]
[whitespace
ulfn at chalmers.se**20120404134850
Ignore-this: 76a70cb5dea86693ee897f8447382691
]
[fixed issue 561: MAlonzo not adding imports for Data.Char primitives
ulfn at chalmers.se**20120404134757
Ignore-this: 61a6946f673d424224705c13d27fba54
]
[use --force-reinstall in the Makefile to make cabal actually do something when recompiling Agda
ulfn at chalmers.se**20120404121854
Ignore-this: 5b7f663233eadd4fbef2b92a1b60da03
]
[patch-for-issue-600
makoto.takeyama at aist.go.jp**20120404060936
Ignore-this: 7734ee3c678568036461669a1b20d801
]
[emacs-mode: fixes an edge case in the goal annotation procedure.
wjedynak at gmail.com**20120403233247
Ignore-this: 6a83bc298c61259dd382808477232942
]
[emacs-mode: fixes a problem with nested comments - see issue 601.
wjedynak at gmail.com**20120403233114
Ignore-this: f2099dade38db20f4585f316162bfa0b
]
[removed -v from some test cases in test/succeed
ulfn at chalmers.se**20120404120552
Ignore-this: 7dcb8e511f1045659e4b7e7cab49809d
]
[cosmetic change
ulfn at chalmers.se**20120404120447
Ignore-this: eb72e8d81b71d3a75f5c84be33d70da7
]
[fixed issue 602: record projections are positive in their argument
ulfn at chalmers.se**20120404120405
Ignore-this: 27d98a28c0e4991c6c59f7be1b3c7a5b
]
[benchmark run
ulfn at chalmers.se**20120329102116
Ignore-this: d39c2992c560b3de75ab8925f8f34c6b
]
[Big overhaul of internal representation of irrelevant subterms.
andreas.abel at ifi.lmu.de**20120403141629
Ignore-this: 2c41af95e243dd3969f1b6a4a7b29940
DontCare is not longer inserted everywhere.
Irrelevant subterms are distinguished by the Relevance field in Arg.
DontCare has been rededicated to an internal represent of the
irrelevance axiom: .DontCare : .A -> A
It is used to guard the content of irrelevant projections.
The previous solution, to use a user-postulated builtin irrelevance
axiom, does not work since we cannot supply the type A; it is
gone due to the erasure of parameters in projections.
The dummy (sort Prop) solution failed in the presence of 'with'.
This was raised in issue 596 which is now fixed.
Since Arg is now used to distinguish irrelevant subterms, it has
been split into Arg and Dom. Dom is used in Pi-types, contexts and
telescopes where the relevance flag does not apply to the subterm
(function domain) itself, but is an information about the function
type variance. Arg is used whenever the relevance flag applies to
the term under Arg itself.
Since Arg has been used for many things, there are cases where both
Dom and Arg can be used. In case of doubt, use Arg.
]
[Added an example: , x , , , y.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120402163303
Ignore-this: dca011516795c7cc7e7a396f75205cef
]
[Moved some old mixfix parser prototype files.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120402161918
Ignore-this: 33e3da4ae6f676a12e3e871a4315b1f2
]
[Removed some potentially confusing comments.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120402081912
Ignore-this: ce07062eb2a35878c8e5aa2088603ef3
]
[Type signatures and comments explaining what is considered projection-like.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120402074141
Ignore-this: 44fa673bc2d40dd4fc3103bd4caedf24
]
[Move stripDontCare from Tc.MetaVars to S.Internal.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120331112550
Ignore-this: fbbbfc142426d1856a1d63e01dba7b23
]
[Other half of renaming checkAllVars to inverseSubst.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120331104704
Ignore-this: bcfe1e4ba550206db4c45e6c2ae1da51
Ended up in wrong patch. Should fix issue 594 (broken build).
]
[Tc.MetaVars: The linearity check now skips variables of a singleton type.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330201323
Ignore-this: bbfb467c482e35c92fbb7c02caa431b5
This fixes issue 593 part 2.
]
[Tc.MetaVars: Rename rename to substitute, which is more appropriate now.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330201041
Ignore-this: e80cd47aeff0234e7a4bcfb3f8574aae
]
[When eta-expanding a level meta in --type-in-type, skip occurs check.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330200753
Ignore-this: 5780b0b19187ee6ce23dd163863c94
Small optimization.
]
[A failed test case to make sure we do not solve all non-linear constraints.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330200305
Ignore-this: e815aa1404582aa76706fe58367585d0
]
[Records library: generalized an interface, using new Either map functions.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330200214
Ignore-this: b2811f407514c945931ca56d2d710350
]
[Comment on some stale comment.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330200042
Ignore-this: 6a7b915f2146e369ae6c2f3b2e5ac5f9
]
[Map functions for the Either type.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330200009
Ignore-this: f9733acd32299e2a896203ca006f3a8e
]
[Removed map'.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120330164951
Ignore-this: eec967549f1bad0637eaa5cb7bed007f
]
[Fixed bug.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120330141722
Ignore-this: 6b3d8c09d8f9e6787583de7f891882dd
]
[Tried to simplify the lexer's grammar.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120330135250
Ignore-this: 97b80a47b61d44af7cb0f38fc5189cdd
]
[Fixed bug.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120330135209
Ignore-this: 228336db3f2ed23caacc331e11b284f
]
[Changed the parser interface.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120330130818
Ignore-this: 6674ebbc92ea649791e3f69d2085d4b4
]
[Added combinators based on Johnson's "Memoization in Top-Down Parsing".
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120330130801
Ignore-this: 844235cde839326f7d4c16cbb8a304e2
]
[Removed a comment.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329214436
Ignore-this: 41829bfd12902b9446729350344b6691
]
[Support for cyclic precedence graphs.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329205432
Ignore-this: 9d2e2deb1e6b4f5a106c06eff027892e
+ Made the expression grammar left recursive.
+ Switched from Memoised to MemoisedCPS as the parser backend. This
backend is quite a bit slower, but Memoised cannot handle left
recursion.
]
[Disabled a slow assertion (a test of acyclicity).
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329205344
Ignore-this: 33f764a17bc663013c6f1874c1b989b7
]
[Added simpleGraph, improved acyclicGraph, optimised prop_list.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329161633
Ignore-this: fc6283e7de394985e76678347ef72063
]
[Renamed memoParse to parse.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329153249
Ignore-this: a972182697e73feee68a3b0bd6c5cf89
]
[Brought code up to date, removed some superfluous import statements.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329153133
Ignore-this: a08ebd332d88a5766fe314028080f40c
]
[Added adjust.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329153050
Ignore-this: 9a3940c02348936f7c72c30a1bdfb920
]
[Implemented Wrapped and Paired as GADTs.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329152926
Ignore-this: fbd40394e59f3817b43bf3bd9bef2204
]
[Minor change to the Parser class.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120328222248
Ignore-this: 69665de026395c3034bae25d056e18b9
]
[Eta expand variables of singleton types that would fail occurs check.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120330144609
Ignore-this: fea071f28c6eb7ca9316bc00be35adf9
Fixing issue 593.
]
[Optimization: skip occurs check when eta-expanding a meta-variable.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120329153334
Ignore-this: 8ee1f9bc972c0f088ea2ff74051816e7
]
[Clean-up in TypeChecking.Monad.Context.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120329152103
Ignore-this: 6d171fd7c493b79aa3580dfdfc989d08
]
[Rolled back '[rolled back fix to 473]' and made the code compile.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120329093908
Ignore-this: ff2f5cbd4b0c0c3c5a5f75e7f3a1e07
]
[Release notes for solving with record patterns. (Issue 456.)
Andreas Abel <andreas.abel at ifi.lmu.de>**20120329082328
Ignore-this: f1e525033a4b685d6e8fa55b6e788779
]
[Update FindInScope constraint's list of remaining candidates after resolution attempt (for better performance).
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120328120925
Ignore-this: 43f416e7059795d2844adfb9a5717870
]
[Fixed a syntax error...
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120328181309
Ignore-this: 57d758fe508e3e1840db995a3802a212
]
[Included another string in the benchmark.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120328180720
Ignore-this: 40717194f3acf02c2f4aa4aab61f2db7
]
[Support for base 4.5 and incremental 0.2.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120328180418
Ignore-this: b7008af16c5c2632b53a9fe7ec942bf6
]
[Added support for haskell-src-exts 1.12 and 1.13.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120328151154
Ignore-this: 6db2ecfc03daeb3b8bdd7bffe765dbc2
]
[Completed Andreas' fix for issue 479.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120327174328
Ignore-this: 4e3c5da2f18e6d872c3388116c7dd62c
]
[Removed unnecessary use of fromIntegral.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120327173421
Ignore-this: 4dc33aef16367b4c7096f1889bba8c2c
]
[Record pattern unification for irrelevant arguments.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120327163110
Ignore-this: 433ebf8bc472f5046527ad30e30b53a2
This completes the fix for 456.
]
[Interface version bump for new UnsolvedConstraint highlighting info (unused so far).
andreas.abel at ifi.lmu.de**20120327111037
Ignore-this: 6c2b079ccd78cdcab1f7e49dfa9ff4c4
]
[Added highlighting for unsolved emptyness constraints.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120327092041
Ignore-this: 5d1ef5f83836c8ae8d08c08fa8cf8ff6
Added range info to emptyness constraints.
Unsolved e.c.s are highlighted as unsolved metas.
TODO: distinguish these two causes of unsolvedness properly in the highlighting mechanisms.
]
[Extending Miller patterns to record patterns.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120327001237
Ignore-this: 248b1604599cd8b4bb92ccfc869943b
We can now solve metas _1 (x , y) applied to record patterns.
This fixes issues 376 and 456.
TODO: irrelevant record patterns.
]
[Refactorings for Internal syntax variables and variable lists.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120326213014
Ignore-this: 80a3edf47ae00dad1ce8a6736abf41
Added a smart constructor @var i@ for @Var i []@.
Added an utility downFrom which helps generate variable lists without double reversing.
]
[Refactoring the Miller pattern check: now returns a partial substitution.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120326164421
Ignore-this: 8c7f16f4255c800d69e07c7294d101c
Changes nothing.
]
[Internal change: new function TypeChecking.Context.escapeContextToTopLevel.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120326153022
Ignore-this: 5ef313d2d1253185bfcd4d6b05e9e03b
Clarifies code a bit. Tiny change.
]
[Added missing call to $(setup_$*).
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120326175851
Ignore-this: 558127e7fbe4334ad7149ec7cf4f957b
]
[Fixed issue 591.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120326175822
Ignore-this: 7a0b4da564fcd9c3ee457eeacabe90d3
+ I think that Agda's handling of options is too complicated. This fix
makes it even more complicated.
]
[Interaction test cases must now reside in test/interaction.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120326174202
Ignore-this: e71b98f6fffd343fb35fa90ab46ee7f7
+ Not in its subdirectories.
]
[Minor simplification.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120326173451
Ignore-this: 29861c1936fe213bf8a8e7d6d523a40c
]
[Removed comments.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120326171209
Ignore-this: d90470b42c593e58adb1d205dd0acd55
]
[Added missing CPP pragma.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120326165811
Ignore-this: 50f6266ff31a4b12e96add6a562a997
]
[split GhciTop.hs into InteractionTop.hs and GhciTop.hs
divipp at gmail.com**20120321143214
Ignore-this: 52cead4f40030b508f33b2d7d2e3b164
The motivation is that InteractionTop.hs is a pure module
which contains most of the information, and the new GhciTop.hs
is a relatively small module which imports InteractionTop.hs
and which contains the impure part (the global 'theState'
mutable variable created by unsafePerformIO).
A proper interactive frontend can import the pure InteractionTop.hs
only so it will have a global state, so it could serve
multiple Agda source file editing at the same time.
]
[fix newtype deriving in InteractionTop.hs (previously GhciTop.hs)
divipp at gmail.com**20120321140227
Ignore-this: 26b67b06def1597d50f9bdcd57f90baf
]
[use __IMPOSSIBLE__ instead of a dummy default of HighlightingOutput
divipp at gmail.com**20120321132434
Ignore-this: 223ff3875c44a714cc703560cfeef87
]
[replace HighlightingOutput by InteractionOutputCallback
divipp at gmail.com**20120321131423
Ignore-this: 93705e01e4cab8026082425938d3f229
]
[replace voidHighlightingOutput to defaultHighlightingOutput
divipp at gmail.com**20120321131055
Ignore-this: 663212fd91e3d7e691baeb4ef3fc2a97
]
[documentation of GhciTop.hs refacftorings
divipp at gmail.com**20120321130312
Ignore-this: 94bab57e1ddc8d9e84818299a2abc39a
Documentation added for top level functions
and record fields introduced in the two recent
GhciTop.hs refactoring patches.
]
[Do not generate constraints when instance search for irrelevant metas.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120321105739
Ignore-this: 5dae562fedd4f5b8f83f28dee4b7b90c
This fixes a bug when trying to give interactively a term to an irrelevant goal in some situations.
]
[Do not run new meta occurs check on interaction metas.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120321095611
Ignore-this: 3952a30c02752426827367b5bbe505bf
Fixes issue 589.
]
[Added one (deep) strictness annotation.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120320160326
Ignore-this: 7d180af73d0c8c37f779b6b7917d53d4
+ This change seems to have a noticeable, positive effect on the time
required to check the standard library.
+ The patch adds a dependency on deepseq, which is in the Haskell
Platform.
]
[Fixed issue 588.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120319132405
Ignore-this: 6f2487053aaa94e5b70da44232aea66c
]
[Added KillRange instances for concrete declarations, expressions etc.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120319131830
Ignore-this: 914e95e91537066aa397858ce9928d0b
]
[improve GhciTop.hs
divipp at gmail.com**20120319054633
Ignore-this: fd5e678dff63fcee1bc86ffb887cc5d8
major changes:
- get rid of the redundant outputFunction field in CommandState
cosmetic changes:
- rename State to InteractionState
- define InteractionState as a record instead of a tuple
- use Rank2Types in the type of liftCommandMT
- remove trailing whitespaces
]
[Main refactoring of GhciTop.hs
divipp at gmail.com**20120316131140
Ignore-this: 1d3e76977eee439e67d35ac670235819
Changes:
- Use the global state 'theState' as less as possible.
- Add a callback functions which is called
instead of sending the interactive output to stdout.
In this way the output sending can be much cheaper if the
Agda libraries are statically linked to an application.
- Emit the interactive output as ADT values instead of
an elisp string.
This helps to port Agda interaction to other editors.
]
[fixed issue 546: type signatures should not see through abstract!
ulfn at chalmers.se**20120316152519
Ignore-this: 2da7e8997e7241ed2abd8ffd7713afd5
]
[fixed issue 564: display forms interacting badly with levels
ulfn at chalmers.se**20120316142833
Ignore-this: fdadd7ea6d58a92db464a62d33ec5b8a
]
[benchmark run
ulfn at chalmers.se**20120216120159
Ignore-this: 1c2963dadd471888fa0342282cd06425
]
[Removed shift/reduce conflict introduced by record update syntax.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120316140311
This fixes issue 549.
]
[Release notes and more examples for fix 585.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120315173606]
[Issue 533 is fixed.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120315151514]
[Do not run metaOccurs check for metas coming from postponed type checking problems.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120315150257
This improves the fix for issue 585.
]
[Try to solve left-over constraints after each mutual block.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120315133403
Fixed the 479 fix (postponed emptyness constraints).
]
[Don't instantiate metas during emptyness check. Postpone emptyness check.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120315105343
This fixes issue 479.
]
[Rolled back "Don't include..." and "Refactored...".
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120314161452
Ignore-this: 6e325d4605aa4f3f8c3a34073baabd45
+ These patches made the code slightly more complicated (I'm not 100%
certain that the first one did not introduce any inconsistencies)
and did not seem to have a major effect on performance.
]
[Don't include definitions from other mutual blocks in positivity graph.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120313151337
Ignore-this: df2e9ff210666fbd74b4dbbb65c92c4d
+ Not as ADef nodes.
]
[Refactored occurrences to use a reader monad.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120313145504
Ignore-this: f16f574990505c1b2cb5318d8762503e
]
[Occurs check now also goes into definitions of current mutual block.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120313165614
Ignore-this: 95edc6896d9147e532d7b73f661faf74
This fixes issue 585. (Which is probably as old as Agda 2.)
]
[Fixed broken test.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120313152341
Ignore-this: db2474d5cd9b7582ca86a08786e8bb88
]
[Forgotten .flags file for test fail Issue586.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120313150157
Ignore-this: 6abfef192ca8e50ea1a06a941992d2
]
[remove TMPDIR and run cleanup after choosing to keep old error message in interaction test
james at cs.ioc.ee**20120308210846
Ignore-this: 546877fa3f02b86aab020fa90fc1f1c2
]
[Release notes on NO_TERMINATION_CHECK updated to --safe mode.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120312161806
Ignore-this: 4b959bab753a6aed6ab8de9884e4ffa7
]
[NO_TERMINATION_CHECK not allowed in --safe mode.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120312161403
Ignore-this: 3cb79b34d266547ce8494bcc63402851
]
[Fixed a problem about --safe flag complaining about type signatures.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120312161214
Ignore-this: f5f4844fee9d9ba63a8ff1e618c02a80
It thought they were postulates.
]
[Add support for pattern synonyms, version 2
adam.gundry at strath.ac.uk**20120309153730
Ignore-this: d724422c285022f30b9a9fff0100337d
]
[Use instance search to solve irrelevant metas.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120309145344
Ignore-this: dcca667a5859f8c695edea401af8439e
This is another part of the fix of Issue 351.
]
[Distinguish between relevant and irrelevant metas.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120309133218
Ignore-this: 8be76f5e773c5c77704c41c3cae061c8
Greedily grab solution for irrelevant metas if stumbling over it.
This partially fixes issue 351.
]
[Test cases for NO_TERMINATION_CHECK.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120308180310
Ignore-this: 2653a4412a236ff223bc63f9c9f619d7
]
[Internal change: Renamed variable rec to something else.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120308180245
Ignore-this: f07883e0f759f43630019e3a3bb247a3
rec is a keyword in some Haskell extensions.
]
[New pragma {-# NO_TERMINATION_CHECK #-} for individual definitions.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120308180057
Ignore-this: f6b06ddc0e001ce52c272175a825997d
Turns off termination checker for mutual blocks or single functions.
Fixes historical issue 16 (feature request).
]
[fix lib-succeed Makefile to correctly delete agdai files
james at cs.ioc.ee**20120308095731
Ignore-this: 66e1e659b9bc41a92266c4a8eda290dc
]
[Now we generate the name x instead of y (in certain cases).
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120307105654
Ignore-this: 84dd230371edad683d4db83927f52e08
]
[Support for subscript suffices. Now x₁ is generated rather than x1.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120307105632
Ignore-this: 702ce630dc1c18fad4dbde00778e433a
]
[Fixed read -n issue in test suite makefiles.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120307084738]
[Missing boot file Errors.hs-boot.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120306173440]
[Capture errors when printing debug messages.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120306145823
Ignore-this: 5129be2294fa1664b569e8fb6cea5238
This fixes issue 578.
]
["Fixed" issue 563.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120227154100
Ignore-this: d6d572d7acb1e04ef8202d35c2cc24e8
]
[fixed Level import in test/succeed/Issue574.agda
ulfn at chalmers.se**20120227115413
Ignore-this: eb429e321e8d20868d24a0e4d04de597
]
[[js backend] fixed definition order bug
ulfn at chalmers.se**20120218225735
Ignore-this: 8c40716924e3cda37f87cc7e6b6785f4
]
[Fixed issue 574.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120225170205
From a level maximum [i1, i2, ..., x1 + j1, x2 + j2, ...] with natural numbers
i.. j.. we can remove all number i.. that are less than the maximum of the js
(not minimum).
]
[Added forgotten Makefile for test/lib-succeed.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120225150446]
[Undo some accidental changes to Makefile.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120225150035]
[Interaction test suite now also interactive.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120225134823
Prompts for whether you want to keep the old error or
accept the new error, just like test/fail.
Sorry, Nisse, still uses read -n.
]
[Better names in case splits.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120225134645
When splitting a variable x of data type d, all the recursive occurrences
in the generated constructor pattern get name variants of x instead of the
default.
Also changed the suffix scheme from y y' y0 y1 to y y1 y2 y3 etc.
Joint work with Andres Loeh. ;-)
]
[Enable debug messages also for interactive commands.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120225103749
Default verbosity for interaction is 0, for batch 1.
But now, commands are no longer executed silently if the
user wanted debug messages as specified by OPTIONS pragma.
]
[Significant speed-up for instance argument resolution: keep list of candidates that is successively refined, prevent recursive resolution which was unintentionally being done in some cases.
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120224141722
Ignore-this: b7d748afc93cae975b5e2851e3548e9f
]
[Added a suite of successful tests that depend on the standard library.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120224210726
Ignore-this: 64054d29f0e6f6988a57d54a1d72706
These tests are run after the standard library test.
Put your test case in test/lib-succeed.
Add sparingly, only if shrinking is totally unreasonable!
]
[Fixed a bug in size constraint solving (example by Ramana Kumar).
Andreas Abel <andreas.abel at ifi.lmu.de>**20120224205833
Prettier printing of unsolvable size constraints.
]
[Added a new GenericDocError for preformatted error messages.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120224205652]
[Rolled back most of "Failed attempt to exclude private things...".
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120223165907
Ignore-this: 93a0f5238f5ccccacb221745f37f2291
]
[Failed attempt to exclude private things when applying modules.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120223165715
Ignore-this: 72d72433ef318dafcb457434519a647a
+ When the user writes
open M e <import directive>
or
module X = M e <import directive>
there is little point in including private things in the generated
modules, with some exceptions. However, the exceptions are quite
important. For instance, consider
module X = M A using (c),
where c is a constructor of the datatype D. If we do not include
"D A" as a private member of X, then we cannot (in general, with the
current setup) fill in all the "Defn" fields for X.c. This could
perhaps be fixed, but there may be other exceptions which I have not
thought of, so I will roll back (most of) this patch.
]
[Fixed improper printing of bound variable in sort checking of data.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120222214425]
[take into account constraints again during instance argument resolution
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120222203103
Ignore-this: 9d13d61aee9e4d6bd87e4e4844ea6d09
]
[Show candidates for unresolved instance arguments constraints.
steven.keuchel at gmail.com**20120221164719
Ignore-this: 6625291edf4f1d3c2de79be5d6683c40
]
[Make instance argument resolution consider candidates which still require implicit arguments.
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120221154302
Ignore-this: 67115c3a8291715c3c15732f743355ad
Instance arguments resolution will now consider candidates which
still need expect arguments. For example:
record Eq (A : Set) : Set where
field eq : A → A → Bool
open Eq {{...}}
eqFin : {n : ℕ} → Eq (Fin n)
eqFin = record { eq = primEqFin }
testFin : Bool
testFin = eq fin1 fin2
The type-checker will now resolve the instance argument of the eq
function to eqFin {_}. This is only done for implicit arguments, not
instance arguments, so that the instance search stays non-recursive.
]
[Correct expected error message for failing test case Issue551a.agda
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120221152835
Ignore-this: 788298954184d8978439e8f87d83cc39
]
[New menu entry: Information about the character at point.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120221195352
Ignore-this: 11c06beae4b277b6221df6e29b9bf32a
]
[Added a header.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120221195335
Ignore-this: 2427f985d396c545b2e0078c0c98e7bb
]
[Record declarations are no longer seen as mutual blocks.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120221193604
Ignore-this: 40495282d373a980c174c804bc93df12
]
[The positivity checker (and more) is now only run once per mutual block.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120221164108
Ignore-this: c02d62bd07614ac05df950300ff308e7
]
[Generalized newArgsMeta.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120221150813]
[Fixed issue 569.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120221141503
Ignore-this: 9dfdfa6903793d3a648609ab28542aa1
]
[Simplify projection-like function treatment in solution of FindInScope cocnstraints
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120220172557
Ignore-this: 5a261bb900794e6f74b8b19a90bcde5a
]
[Optimised transitiveClosure. Fixed bug (?) in nodes.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120220230742
Ignore-this: 909958a9b0ca58742ac22e5d452a761
+ The transitiveClosure function now operates on one strongly
connected component at a time.
+ Modified some uses of Map.union, which is claimed to be more
efficient if the first argument is larger than the second.
+ The standard library type-checks with roughly 15% less memory now.
+ Previously the nodes function only returned nodes with at least one
incoming or outgoing edge.
]
[Removed trailing whitespace.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120220223328
Ignore-this: 31362c89590280e48391dd36d82a8e12
]
[Added elementsUnlessEmpty.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120220215052
Ignore-this: af2c7ea42332e3a3fc673ccf7eec61a9
]
[Added sccs, sccs', acyclic.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120220061455
Ignore-this: cf4b41d0e69be0b805eff4924fa34658
]
[Use -vtc.pos.graph:50 to see the positivity graphs' transitive closures.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120219203957
Ignore-this: 7fabc9a24919c6e40a0435ea564d6236
]
[Added some comments.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120219203728
Ignore-this: e0d067cf0c5ea950ded60fccd662057d
]
[Removed unused error file.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120218114148
Ignore-this: de156661c885ae56d1b22e2b1f2485c1
]
[Prettier output for FindInScope constraints.
steven.keuchel at gmail.com**20120220171518
Ignore-this: d6a6ad59e5872bbe58d426b9d9ccf54e
]
[Restored behavior of OPTION --no-irrelevant-projections.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120220172250
It now actually does not generate projections for irrelevant record fields.
]
[Use -vtc.decl.mutual:20 to see which mutual blocks are checked.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120217150659
Ignore-this: 8aa9b1bd8aa4c4355a29c10e23da0ba0
]
[Renamed currentMutualBlock to currentOrFreshMutualBlock.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120217143837
Ignore-this: 839a1fa4136a05dbc9a633add675e0c3
+ The previous name led me to believe that currentMutualBlock did not
modify the state.
]
[Use the native Hashable instance for TypeRep introduced in hashable 1.1.2.3
patrick at parcs.ath.cx**20120215162257
Ignore-this: 41a6dee6d9705db4224c73379716a2cb
Loading IO.agda now takes 31 seconds down from 38 seconds, a ~%20
improvement.
]
[Fixed bug: Emacs jumped to errors after highlighting had been aborted.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120215191056
Ignore-this: a828f16b2ca16bc704b40630f5cb0c72
]
[Fixed bug: No highlighting after go-to-definition to new file.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120203231032
Ignore-this: c184ca10e274c1f7fdbd837be51441c6
]
[Reset local variable scope when checking with-clauses.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120214223212
This fixes issue 562.
]
[Fixed issue 298b. No quick instantiations of size metas!
Andreas Abel <andreas.abel at ifi.lmu.de>**20120214132343
Ignore-this: 49bc48e3acd072b285c9785a090ca716
]
[Internal change: Lazy monadic conjunction.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120214092022
Ignore-this: b00e020faab31a8a11a2cf716f286423
Added andM :: Monad m => [m Bool] -> m Bool to Agda.Utils.Monad.
Typical uses:
andM l (lazy) vs. and $ sequence l (strict)
andM $ map f l (lazy) vs. and <$> mapM f l (strict)
]
[Removed implicit args. from SizedBTree test case.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120213171149
Ignore-this: af35d93eac7f85832b8590345055c48
]
[A successful test for the combination of sized types and termination depth.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120213170941
Ignore-this: 2da1bd5bcfefa7b2b4dd46d0f466773c
]
[Fixed polarity computation. Must be done after positivity check.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120213142233
Ignore-this: e1dd626b0a43014c0378107d890516ca
Now, e.g., List is correctly recognized as covariant.
This should fix some problems with sized types.
]
[fixed issue 566: equal levels not comparing equal
ulfn at chalmers.se**20120213120739
Ignore-this: 1f709f3f75d1e7a360286a1b15de601c
]
[Workaround for the "Marker does not point anywhere" message.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120204165455
Ignore-this: de98819d9440b98014fd9985664c019c
]
[Made an error message more informative.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120204165410
Ignore-this: a15171f8ad4de6d5d75354744d32ce6f
]
[Info buffer: Point is now (again) moved to the top when APPEND is nil.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120203231229
Ignore-this: 4256db26b9fbc572898315432f315626
]
[Removed unnecessary calls to makeSilent.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120203225945
Ignore-this: a0bdc74b00a04e0f9fe572b54d7068de
]
[fixed issue 552: new unifications weren't applied to the current substitution
ulfn at chalmers.se**20120203155425
Ignore-this: 14998e1aa8a7044ac8a5d228c85d3c60
]
[fixed issue 530
ulfn at chalmers.se**20120203150756
Ignore-this: 585717373cecacbb1f21e4ea05b65a43
]
[Fixed bug: Highlighting was sometimes updated when it shouldn't.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120203092948
Ignore-this: 6e2431bfeff5a1f65e7714f86c126a0c
]
[Fixed bug: Highlighting info files were written when they shouldn't be.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120131194046
Ignore-this: a076165f9e88fd825cb653d0d09aa1ae
]
[Support for .lagda files in test/interaction.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120202092447
Ignore-this: f55c09ccdcfac2e80ae3a2a951f6848f
]
[Agda info buffer: Unmapped 'g', switched to compilation major mode.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120131152211
Ignore-this: 9f372c9f86ae36e06f9915bf97ab021
]
[Fixed bug: Killed Agda info buffers were not recreated automatically.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120131145255
Ignore-this: 90165b92bab1468ba0bf65f6873f4b5c
]
[Debug messages are now printed in a buffer called *Agda debug*.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120131134257
Ignore-this: de4371f4cdf2a8184de1fbcbe268a3b2
]
[Support for Emacs 24.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120131122342
Ignore-this: cac6376c917c6a55ccb23f5bba177af7
]
[Fixed issue 557.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120130212222
Function "absurd" generated for absurd lambda now applied to contextTelescope.
]
[Made Agda build under GHC 7.4.1 rc2.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120129170850
Ignore-this: c0579fc14a0b53a4f3aa76874f427b4
]
[Changed the default for agda2-highlight-typechecks-face.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120129002733
Ignore-this: 6f46d1af86a3a87c473255d3b1ffe776
+ I hope that the new face makes it a bit easier to locate the
expression which is currently being type-checked.
]
[Extended interactive highlighting to patterns.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120129000812
Ignore-this: 945e6d556dec2b5f2039f11bb7964
]
[Fixed bug: Highlighting of errors was sometimes overwritten.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128233715
Ignore-this: 562f2afd5e79fa2b8884025616a71e4d
]
[If text is appended to the info buffer, then point is placed at the end.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128225944
Ignore-this: ef802c033b2334cfe9e8eb0bbc76c55a
+ This patch also makes the append functionality more
smooth/efficient: previously the buffer was initialised every time
something was written to it.
]
[Fixed problem: Some commands were not echoed in the *ghci* buffer.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128225944
Ignore-this: fbf348c5841a221a56967eb6c9dc2e3b
]
[Fixed bug: Interactive highlighting aborted when ? turned into {!!}.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128225944
Ignore-this: 5e247712ec2fef964d924d5805eb2b59
+ Identified another problem (see TODO note in agda2-mode.el).
]
[Emacs mode: Info about which module is currently being type-checked.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128225944
Ignore-this: 41ff45ece8809d0a66d8c585ff920545
]
[Various changes related to interactive highlighting.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128174349
Ignore-this: 1ee14a750688c55329497b327c7548c4
+ This feature is not quite ready for deployment yet.
]
[Modified a comment.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128155553
Ignore-this: 7c19f557321dd427ff5122aab59f2232
]
[Removed writeFileAndSync.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128125109
Ignore-this: 32518ea90bb33940babb1cd0509f28cf
]
[Added writeFileAndSync.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120128125025
Ignore-this: 1a0d46065f66d7f1c30a6ac334e7edfa
]
[Incremental Syntax Highlighting
Guilhem Moulin <guilhem.moulin at chalmers.se>**20120127153714
Ignore-this: 546a016b3aa0ee145f6b355ded67ecb4
]
[Experimental, incomplete, unfinished support for incremental highlighting.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20110913040410
Ignore-this: cedff32884fd6e04ee8cdc808166c737
]
[Updated a test case.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120125145308
Ignore-this: 4e14d7f9cd8367185cfb9f60990fc0df
]
[Reactivated a test case.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120125144754
Ignore-this: abf42e8fe4f8236b229aff6c016461dd
]
[Modified the way in which test/fail/Makefile searches for test cases.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120125144159
Ignore-this: 4c1d8f73dc1dc70eb183179ba27222ec
]
[Minor simplification.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120125142647
Ignore-this: b39aeb318dea402fbe2ff4c1e1bf2cf8
]
[Fixed bug related to module nesting levels.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120125141850
Ignore-this: 7421a8ddd7e573fe981a350c4233f53d
]
[Improve fix for Issue 558, to also take into account projection like functions working on Axiom arguments.
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120124102743
Ignore-this: 7174970a44054be41b196dfbe3a57d6e
]
[Fix issue #558: correctly handle projection functions in instance argument resolution: drop parameter arguments.
Dominique Devriese <dominique.devriese at cs.kuleuven.be>**20120123210438
Ignore-this: 3d6c04f228a2bd75a160e6f332bfd110
]
[The "Checking..." messages are now indented (based on nesting level).
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120123164621
Ignore-this: a299ad5f94fafb43fa7c41c267ab5936
]
[Made debug printouts more well-behaved.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120123152713
Ignore-this: 49f202125f5c82d2020eb88bf998ca1a
+ Tried to establish the invariant that debug printouts use the
reportS/reportSLn/reportSDoc functions. This makes it easier to
control them.
+ Added forkTCM, which is used by the new function
Agda.Compiler.CallCompiler.callCompiler to feed compiler progress
info to reportSLn.
]
[Emacs mode: Commands are no longer broken over several lines.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120123152628
Ignore-this: 3d33860b94bafe5db4ae832dddab823d
+ The quote function now replaces newline characters with \n.
+ Remaining newline characters, if any, are replaced by spaces.
]
[The Emacs mode now uses -v0 (by default).
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120123145350
Ignore-this: 326b9c4427743268695513ca985e3dba
+ {-# OPTIONS -v... #-} is still supported.
]
[Emacs mode: Debug messages are no longer printed out as plain text.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120123142727
Ignore-this: 22ff08daf85b580eda987d6b10d051e5
+ Debug messages are wrapped in (agda2-verbose ...).
]
[Updated expected outputs for interaction tests.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120123142657
Ignore-this: 473e471d85244e2495305f8d6b66ed8a
]
[Replaced a call to putStrLn with a call to LocIO.putStrLn.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120123135020
Ignore-this: 8eb94b8a2011bf287ca69a9fff396332
]
[Another test case for issue 553.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120118110153
Ignore-this: 257208219298d1eb5e76daae7567b226
]
[Projection-like functions may not deeply match.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120117192929
This fixes issue 553.
]
[Again fixing .err file (issue 554).
andreas.abel at ifi.lmu.de**20120117154036
Ignore-this: 7301ca635af7989cb5068142c537fb6
]
[Fixed a comment.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120117135026
Ignore-this: ad8fe5119c0e9b25313d7efa7f068aa4
]
[Made envModuleNestingLevel work also when modules are skipped.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120117133627
Ignore-this: 67acced61c7f98f7a7fdca05505326a7
]
[Fixed a comment annotation.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120117131806
Ignore-this: 376e49d4fe7bffd9afe446984082d772
]
[Added envEmacs and envModuleNestingLevel.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120117124601
Ignore-this: 7a3b9a795264afdc828cd0f94b850c60
]
[Added the optional argument "append" to agda2-info-action.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120117122617
Ignore-this: 75f477f26eb738f6bf9afb2b3af7e472
+ Modified display_info' in a similar way.
]
[Checking the parameters of data and record definitions in new mutual style.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120117110921
This fixes issue 555.
]
[Tried to fix issue 556.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120116191401
Ignore-this: e9a5fb513b1a9a1974a73c6924944a37
]
[Proper error message if data declaration gives more parameters than the type of the data type allows.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120113130640
Ignore-this: e71e11943f6302a00c73a15b565900e8
Fixes issue 555.
Question: Do we want to also catch when less parameters than declared are given?
See test/succeed/Issue555{a,b}.agda
]
[Corrected error message of Issue551a.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120113122738
Ignore-this: fd66d01c09478f65520e74f70f305f94
]
[Release notes for builtin IRRAXIOM.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120112160315
Ignore-this: 4a42a8020b043715482174f3b67725
]
[Irrelevant record projections now use irrelevance axiom.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120112124600
Ignore-this: c4a75afae44e1b3e96b70404690e56a
Added {-# BUILTIN IRRAXIOM irrAxiom #-} for
postulate .irrAxiom : {a : Level}{A : Set a} -> .A -> A
Irrelevant projections will produce something guarded
by irrAxiom.
This fixes issue 543.
]
[Renamed primRelvance to primRelevance.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120112100217
Ignore-this: 395e97734c89b7a353b509a43065b95a
Internal change, has no effect on Agda's behavior.
]
[Instance search now ignores irrelevant stuff.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120111171803
Ignore-this: 394d3da2c140e3cc3f4a7b5701694807
This fixes Issue 551.
]
[Regard let-bindings in instance search.
Andreas Abel <andreas.abel at ifi.lmu.de>**20120111141805
Ignore-this: fbf562ccb127ed8e42824dc7b99e39aa
This fixes issue 550.
]
[Fixed issue 544.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120107231745
Ignore-this: 6e54d96a6d857cb8ea3052820fc5104a
]
[Fix for issue 545.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120107225948
Ignore-this: 46a952ea24ef39dacf06b6811218e7be
]
[In -v0 mode MAlonzo now throws away GHC progress info printed to stdout.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120103204002
Ignore-this: ff507a71e426f19bdb6a64fb6988dda5
]
[Fixed issue 539.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20120103195041
Ignore-this: 90dd5a1e39ce59988cd05ff31fd011b7
+ The range for "A" in "A.B.x" now includes the first dot (and
similarly for "B").
]
[Updated benchmark code (the standard library has been changed).
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20111228213350
Ignore-this: 6581e7f9cc7cd548fbb9d67c8a1b5a3
]
[Epic 0.9 seems to work.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20111228210605
Ignore-this: 5a752667f2329ddc26a118b7adb38b70
+ Thanks to Dirk Ullrich for suggesting this change.
]
[Support for GHC 7.4.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20111228201856
Ignore-this: b068ade9c7200e72f199115ba1149680
+ Thanks to Dirk Ullrich and Andrés Sicard-Ramírez for suggesting some
of the changes.
]
[Initial outline of the release notes for Agda 2.3.2.
Nils Anders Danielsson <nils.anders.danielsson at gmail.com>**20111206182928
Ignore-this: 83be566340141a1e2250b8cad0b83ed8
]
[Comment on concrete pattern syntax.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111123155127]
[Some comments on concrete and abstract syntax data types.
Andreas Abel <andreas.abel at ifi.lmu.de>**20111123123714]
[bumped version to 2.3.1 and put back -Werror
ulfn at chalmers.se**20111123092520
Ignore-this: aeed0e31846af3905ca1b0739d098614
]
[TAG 2.3.0
ulfn at chalmers.se**20111123082405
Ignore-this: 4c903b4c3c6d853d95df4032f2efe090
]
Patch bundle hash:
5e24df111ae61b99ab359762814538641a397d84
More information about the Agda
mailing list