[Agda] agda slow
Nils Anders Danielsson
nad at cse.gu.se
Tue Jun 2 20:53:40 CEST 2015
On 2015-06-02 18:44, Andrea Vezzosi wrote:
> One hacky way would be to declare them coinductive, that would disable
> eta but also pattern matching.
>
> record Foo .. : Set where
> coinductive
> field
> bar : ...
Another hack:
record Σ (A : Set) (B : A → Set) : Set where
inductive
field
fst : A
snd : B fst
dummy : ⊥ → Σ A B
And another one:
Make-Agda-believe-that-the-type-is-recursive : Set → Bool → Set
Make-Agda-believe-that-the-type-is-recursive _ true = ⊤
Make-Agda-believe-that-the-type-is-recursive A false = A
record Σ (A : Set) (B : A → Set) : Set where
inductive
constructor internal-Σ-constructor
field
fst : A
snd : B fst
dummy₁ : Bool
dummy₂ : dummy₁ ≡ true
dummy₃ : Make-Agda-believe-that-the-type-is-recursive
(Σ A B) dummy₁
pattern _,_ x y = internal-Σ-constructor x y true refl _
More seriously, I think there used to be an undocumented pragma that
turned off η-equality, but it seems to have been removed.
> On Tue, Jun 2, 2015 at 6:03 PM, Thorsten Altenkirch
> <Thorsten.Altenkirch at nottingham.ac.uk> wrote:
>> I was just starting to use some records to restructure some code we
>> are working on and the memory goes through the roof.
Can you report this on the bug tracker? Please include the two versions
of the code (one with lower memory consumption, and one with higher).
--
/NAD
More information about the Agda
mailing list