coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Adam Chlipala <adamc AT csail.mit.edu>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Why no unfolding on left in match?
- Date: Wed, 08 Oct 2014 14:07:58 -0400
Just like in ML and Haskell, those positions don't make sense with
arbitrary expressions. You need patterns there, and
it would add nontrivial complexity to the Gallina design to
introduce more first-class treatment of patterns. [Definition]
introduces new _expression_ constructs. On 10/08/2014 02:05 PM, Kevin Sullivan
wrote:
I'm wondering what's the
technical reason that Coq doesn't unfold expressions in
pattern position?
(* THIS WORKS *)
Definition bar (n:nat):
nat := match n with 1 => 1 | _ => 0 end.
(* THIS DOESN'T *)
Definition foo: nat := 1.
Definition bar (n:nat):
nat := match n with foo => 1 | _ => 0 end.
(*
The only difference is the
use of a symbol rather than a "manifest constant" in the
second case.
When using nats to
represent objects of another kind, I'd prefer to match on
symbolic names rather than on their concrete representations
as nats -- for abstraction, information hiding,
readability. Of course the question generalizes beyond nats.
*)
Kevin
|
- [Coq-Club] Why no unfolding on left in match?, Kevin Sullivan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Adam Chlipala, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Kevin Sullivan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Greg Morrisett, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Jonathan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Jonathan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Greg Morrisett, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Jonathan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Kevin Sullivan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Enrico Tassi, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Jonathan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Greg Morrisett, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Kevin Sullivan, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Abhishek Anand, 10/08/2014
- Re: [Coq-Club] Why no unfolding on left in match?, Adam Chlipala, 10/08/2014
Archive powered by MHonArc 2.6.18.