Logo

    lamping's abstract algorithm

    Explore " lamping's abstract algorithm" with insightful episodes like "Lamping's abstract algorithm" and "Lambda graphs with duplicators and start of Lamping's abstract algorithm" from podcasts like ""Iowa Type Theory Commute" and "Iowa Type Theory Commute"" and more!

    Episodes (2)

    Lamping's abstract algorithm

    Lamping's abstract algorithm

    The simplified version of Lamping's algorithm for optimal beta-reduction is discussed.  We have duplicators which eat their way through lambda graphs.  When copying a lambda abstraction, we send one duplicator down the variable port, and another down the body port.  When they meet, they cancel each other and the duplication is done.  But duplication can get paused waiting for a value to come in on a wire from outside the lambda abstraction.  This can lead to a situation where some other duplication needs to duplicate a lambda graph containing frozen duplicators.  Then we have to decide, when two duplicators meet, should they cancel each other (signalling the end of a duplication on one level), or should one duplicate the duplicators (for an outer duplication of some lambda graph containing frozen duplicators).  The abstract algorithm leaves this choice undetermined.  The hairy versions of the algorithm add complex additional machinery to keep track of these levels of duplication to resolve that nondeterminism.

    Lambda graphs with duplicators and start of Lamping's abstract algorithm

    Lambda graphs with duplicators and start of Lamping's abstract algorithm

    In this episode I talk about how to represent lambda terms as graphs with duplicator nodes for splitting edges corresponding to bound variables.  I also start discussing the beginning of Lampings' abstract algorithm for optimal beta-reduction, in particular how we need to push duplicators inside lambda abstractions to initiate a lazy duplication.

    Logo

    © 2024 Podcastworld. All rights reserved

    Stay up to date

    For any inquiries, please email us at hello@podcastworld.io