[Agda] Positive but not strictly positive types
Aaron Stump
aaron-stump at uiowa.edu
Sat Apr 11 16:21:17 CEST 2015
This encoding is due to Michel Parigot, in "Programming with Proofs: A
second order type theory":
http://link.springer.com/chapter/10.1007%2F3-540-19027-9_10
For a freely available and probably more accessible presentation, see
Herman Geuvers's "The Church-Scott representation of inductive and
coinductive data"
http://www.cs.ru.nl/~herman/PUBS/ChurchScottDataTypes.pdf
Geuvers extends the encoding, which he calls the Church-Scott encoding
(I prefer the term Parigot encoding, in honor of the inventor in the
case of natural numbers), to coinductive types, which is quite interesting.
Cheers,
Aaron
On 04/10/2015 09:48 PM, Dan Doel wrote:
> On Fri, Apr 10, 2015 at 10:03 PM, effectfully <effectfully at gmail.com
> <mailto:effectfully at gmail.com>> wrote:
>
> > But with non-strict positive types you can eliminate the zip
> penalty.
> I've been thinking for quite a long time, that it's not even possible.
> Is your technique described somewhere?
>
> [1] http://okmij.org/ftp/Haskell/LC_Pnum.lhs
>
>
> It's not described anywhere that I know of. It was shown to me by
> someone else---a person who goes as ski in #haskell (and other
> channels) on freenode, whose real name I don't know off hand, and who
> I assume came up with the idea in the first place.
>
> I haven't done much investigation of what else you can do with this
> sort of thing. I doubt it gets you O(1) tail, for instance. The key
> seems to be that zip has to tear down and build everything anyway,
> this just ensures you build only the output, instead of rebuilding
> one of the inputs many times. Mostly I keep it in the back of my mind
> for when someone asks why you might want non-strict positive types. :)
>
> -- Dan
>
>
>
> _______________________________________________
> Agda mailing list
> Agda at lists.chalmers.se
> https://lists.chalmers.se/mailman/listinfo/agda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.chalmers.se/pipermail/agda/attachments/20150411/9c227ef6/attachment.html
More information about the Agda
mailing list