[Agda] [REQUEST] Help with transition from 2.5.1/2 (std-lib 0.12) to 2.5.3 (std-lib 0.14)
Andreas Abel
andreas.abel at ifi.lmu.de
Wed Nov 1 22:16:58 CET 2017
Dear James,
> Apologies in adavance for not being able to follow the list's customary
> request for a minimal failing example, but it's far from obvious (to us,
> at least) how to construct one.
You also send a link to e.g. a github commit to one of us developers so
that we can investigate the failure further...
--Andreas
On 01.11.2017 20:09, James McKinna wrote:
> Dear List,
>
> Many thanks to Andrea Vezzosi and Andrés Sicard-Ramírez, for their
> speedy replies addressing points 0) and 1). That just leaves 2), which
> is still giving us problems, effectively limiting our development to
> v2.5.2.
>
> Apologies in adavance for not being able to follow the list's customary
> request for a minimal failing example, but it's far from obvious (to us,
> at least) how to construct one. It remains the case that the unfolding
> behaviour of definitions in one module, both in interactive proof
> construction, and in subsequent typechecking/reloading, appears to have
> changed, such that agda2.5.3 rejects terms which previously typechecked,
> having failed to validate equations/coercions between types.
>
> AFAICT, this is due to unfolding behaviour which is less strict in 2.5.3
> than previously in 2.5.1/2 (Andrea's suggestion concerning the {-
> TERMINATING -} pragma wrt point 2) does not seem relevant here; all our
> definitions are terminating). Is it possible to describe how Agda's
> reduction behaviour has changed, and how it might be to force evaluation
> in the relevant places to allow checking to proceed?
>
> Thanks in advance,
>
> James
>
>
> Previously, I wrote:
>> Dear List,
>>
>> in response to a reviewer's request for the upcoming CPP, we are
>> attempting to migrate proofs which previously typechecked under
>> 2.5.1/2, with stdlib 0.12 to 2.5.3 with stdlib 0.14.
>>
>> This has revealed some (very!) unpleasant backwards incompatibilities,
>> so this is a request for assistance/insight into how to deal with them.
>>
>> Hoping to hear from experts on some or all of the following points!
>>
>> Cheers,
>>
>> James McKinna
>> =====================================================================
>> 0) dependency on ghc
>>
>> Previously, and for institutional reasons, we've been building/running
>> Agda under ghc-7.10.2/3
>>
>> What is the most recent agda version which builds under ghc-7.x.y?
>>
>> 1) stdlib 0.14 dependency on agda
>>
>> Many things in stdlib 0.14 appear to depend on having agda version
>> 2.5.3 or above. In particular, the language pragmas FOREIGN and
>> COMPILE in Data.Empty seem to make 2.5.1/2 fall over. Is there a
>> sensible way to disable such pragmas without editing the stdlib, for
>> developments which make *no use* of compilation to haskell?
>>
>> 2) reduction behaviour of functions/compile-time conversion checking
>>
>> Lots of things we rely on in our proofs seem now no longer to typecheck.
>>
>> Agda seems no longer to be unfolding definitions, or at least not in
>> the ways we expect, during proof construction or re-checking, as
>> previously in 2.5.1/2. There's no easy way to phrase this question,
>> but how are we supposed to understand the change, and rework our
>> codebase so that old proofs still check? For the time being, no
>> minimal failing example is easy to provide. Is it possible to explain
>> at least what has changed, and better still, to restore the old
>> reduction/unification behaviour? The CHANGELOG gives no clues (at
>> least that I could understand)
>>
>>
>>
>
--
Andreas Abel <>< Du bist der geliebte Mensch.
Department of Computer Science and Engineering
Chalmers and Gothenburg University, Sweden
andreas.abel at gu.se
http://www.cse.chalmers.se/~abela/
More information about the Agda
mailing list