[Agda] Identifying experimental Agda features for Cabal support
Nils Anders Danielsson
nad at Cs.Nott.AC.UK
Tue Sep 22 22:19:04 CEST 2009
On 2009-09-22 13:26, Darin Morrison wrote:
> I'd like to revive the discussion started at AIM 10 about which
> features should be enabled by default in Agda and which should be
> marked as experimental or as language extensions.
> To get the discussion started, a quick proposal of language extensions
> might look like the following:
>
> Coinduction
> InductiveFamilies
> InductionRecursion
> SizedTypes
> UniversePolymorphism
Some questions/observations:
* For the benefit of those of us who missed AIM 10, can you explain what
the rationale for classifying a feature as a language "extension" is?
* How should features be enabled? Using LANGUAGE pragmas, like in
Haskell?
* If a user does not trust a given feature, then I suppose (s)he would
want to ensure that the feature is never used in a given development.
In Haskell there is no easy way to enforce this. Do we want
project-wide disabling of features to be easy? In that case I think it
should also be easy to ensure that code does not use postulates, does
not turn off the termination checker, etc.
* Inductive families are so integral to Agda 2 that it would seem quite
strange to label them as an extension.
* You may want to add some features to your list: FFI, records, with,
optimised constraint solving for constructor-headed functions…
--
/NAD
This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.
More information about the Agda
mailing list