[Agda] Small Kernel
Peter Hancock
hancock at fastmail.fm
Thu Dec 5 15:52:10 CET 2019
On 05/12/2019 13:48, Jesper Cockx wrote:
> It seems that there is something like ex-falso-quodlibet
>> lurking in the corners of full pattern matching.
>
>
> It makes use of the conflict rule from Conor's "constructions on
> constructors" to eliminate impossible cases, is this what you meant?
Something like that, though I don't know Conor's stuff.
I'm just speculating about the mechanics of case splitting
in a state of ignorance and senescence.
vaguely:
I think of the eliminated case clauses as being replaced by
efq terms mapping into the type required where they occur.
I probably think that a comparison between constructor
tags generates a boolean value c=c'. On a clash, this
gets mapped by T : bool -> Set to N0, to be the source
of a typeable efq (N0-eliminator) term. On a match, it
gates the correct case clause.
Perhaps I'm wondering why checking for unhandled cases can't be automated,
and disturbed by coverage/nakedness checking being in bed with termination checking.
However, I've never really understood full-blooded pattern-matching.
-- Peter
More information about the Agda
mailing list