Introduction to the Theory of Programming Languages by Gilles Dowek & Jean-Jacques Lévy
Author:Gilles Dowek & Jean-Jacques Lévy
Language: eng
Format: epub
Publisher: Springer London, London
4.3.4 Using de Bruijn Indices
To simplify the machine we can use De Bruijn indices—see Sect. 3.3. Recall that the instruction Searchx is generated by the compilation of variables, and we have already seen that it is possible to determine the index of each variable occurrence statically. We could then compile a variable x using the instruction Searchn, where n is a number, instead of earchx.
De Bruijn indices can be computed at the same time as the compilation is performed, it suffices to compile a term in a variable environment, and compile the variable x in the environment e by the instruction Searchn, where n is the position of the variable x in the environment e, starting by the end.
This mechanism allows us to dispose of variables in environments, closures, and instructions Mkclos and Extend. Our abstract machine includes the instructions Ldin, Push, Extend, Searchn, Pushenv, Popenv, Mkclosi, Apply, Test(i,j), Add, Sub, Mult and Div.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(8315)
Test-Driven Development with Java by Alan Mellor(6855)
Data Augmentation with Python by Duc Haba(6775)
Principles of Data Fabric by Sonia Mezzetta(6517)
Learn Blender Simulations the Right Way by Stephen Pearson(6422)
Microservices with Spring Boot 3 and Spring Cloud by Magnus Larsson(6283)
Hadoop in Practice by Alex Holmes(5967)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(5817)
RPA Solution Architect's Handbook by Sachin Sahgal(5684)
Big Data Analysis with Python by Ivan Marin(5425)
The Infinite Retina by Robert Scoble Irena Cronin(5378)
Life 3.0: Being Human in the Age of Artificial Intelligence by Tegmark Max(5164)
Pretrain Vision and Large Language Models in Python by Emily Webber(4392)
Infrastructure as Code for Beginners by Russ McKendrick(4161)
Functional Programming in JavaScript by Mantyla Dan(4048)
The Age of Surveillance Capitalism by Shoshana Zuboff(3965)
WordPress Plugin Development Cookbook by Yannick Lefebvre(3874)
Embracing Microservices Design by Ovais Mehboob Ahmed Khan Nabil Siddiqui and Timothy Oleson(3673)
Applied Machine Learning for Healthcare and Life Sciences Using AWS by Ujjwal Ratan(3652)
