[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.7.9.1 Recur

A generalization of the form denoted by meta in silly is recognized by the virtual machine and allows a slightly more efficient encoding of recursive applications. An expression recur p has the representation indicated by this theorem,

T15

[[recur]] p = (((nil,p),nil),nil)

which implies that [[meta]] = [[recur]] (nil,nil).

If p is non-nil, a tree of the form [[recur]] p is interpreted as follows. Note that P4 is equivalent to the special case of this property for which p is (nil,nil).

P14

([[recur]] p) x = [[meta]] ([[field]] p) x

The rationale is that meta would very frequently be composed with a deconstruction field p, so the virtual machine saves some time and space by allowing the two of them to be encoded in a smaller tree with the combined meaning.


This document was generated on November 8, 2012 using texi2html 1.82.