garbage collection for a calculus with indices
play

Garbage Collection for a calculus with indices Luis Francisco - PowerPoint PPT Presentation

Motivation Different approachs for implementing -calculus Adding garbage collection to Summary Garbage Collection for a calculus with indices Luis Francisco Ziliani Departamento de Computacin Facultad de Ciencias Exactas y Naturales


  1. Motivation Different approachs for implementing λ -calculus Adding garbage collection to λσ Summary Garbage Collection for a calculus with indices Luis Francisco Ziliani Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Licenciatura’s Thesis, 2009 L.F. Ziliani Garbage Collection for a calculus with indices

  2. Motivation Different approachs for implementing λ -calculus Adding garbage collection to λσ Summary Outline Motivation 1 Different approachs for implementing λ -calculus 2 A short introduction on λ -calculus . Making the substitution explicit Avoiding the α -congruence: indexing variables Indices and explicit substitution Adding garbage collection to λσ 3 L.F. Ziliani Garbage Collection for a calculus with indices

  3. Motivation Different approachs for implementing λ -calculus Adding garbage collection to λσ Summary Why study λ -calculus related theories Invented by A. Church in the ’30. Why study it? λ -calculus is the base of functional programming and theorem provers. Simple and yet powerful. But its naïve implementation is not useful in all cases, and there might be no obvious extension for what is needed. For the Automath theorem prover, de Bruijn created a way to unique identify variables by the use of indices . Also, the need for performance lead to explicit substitutions . L.F. Ziliani Garbage Collection for a calculus with indices

  4. Motivation Different approachs for implementing λ -calculus Adding garbage collection to λσ Summary Why study λ -calculus related theories Invented by A. Church in the ’30. Why study it? λ -calculus is the base of functional programming and theorem provers. Simple and yet powerful. But its naïve implementation is not useful in all cases, and there might be no obvious extension for what is needed. For the Automath theorem prover, de Bruijn created a way to unique identify variables by the use of indices . Also, the need for performance lead to explicit substitutions . L.F. Ziliani Garbage Collection for a calculus with indices

  5. Motivation Different approachs for implementing λ -calculus Adding garbage collection to λσ Summary Why study λ -calculus related theories Invented by A. Church in the ’30. Why study it? λ -calculus is the base of functional programming and theorem provers. Simple and yet powerful. But its naïve implementation is not useful in all cases, and there might be no obvious extension for what is needed. For the Automath theorem prover, de Bruijn created a way to unique identify variables by the use of indices . Also, the need for performance lead to explicit substitutions . L.F. Ziliani Garbage Collection for a calculus with indices

  6. Motivation Different approachs for implementing λ -calculus Adding garbage collection to λσ Summary Why study λ -calculus related theories Invented by A. Church in the ’30. Why study it? λ -calculus is the base of functional programming and theorem provers. Simple and yet powerful. But its naïve implementation is not useful in all cases, and there might be no obvious extension for what is needed. For the Automath theorem prover, de Bruijn created a way to unique identify variables by the use of indices . Also, the need for performance lead to explicit substitutions . L.F. Ziliani Garbage Collection for a calculus with indices

  7. Motivation Different approachs for implementing λ -calculus Adding garbage collection to λσ Summary Why study λ -calculus related theories Invented by A. Church in the ’30. Why study it? λ -calculus is the base of functional programming and theorem provers. Simple and yet powerful. But its naïve implementation is not useful in all cases, and there might be no obvious extension for what is needed. For the Automath theorem prover, de Bruijn created a way to unique identify variables by the use of indices . Also, the need for performance lead to explicit substitutions . L.F. Ziliani Garbage Collection for a calculus with indices

  8. Motivation A short introduction on λ -calculus . Different approachs for implementing λ -calculus Making the substitution explicit Adding garbage collection to λσ Avoiding the α -congruence: indexing variables Summary Indices and explicit substitution Part of the λ -calculus hierarchy What we are going to see indices λ -calculus λ DB exp. subst. exp. subst. λ x λσ λσ gc λ es L.F. Ziliani Garbage Collection for a calculus with indices

  9. Motivation A short introduction on λ -calculus . Different approachs for implementing λ -calculus Making the substitution explicit Adding garbage collection to λσ Avoiding the α -congruence: indexing variables Summary Indices and explicit substitution Part of the λ -calculus hierarchy What we are going to see λ -calculus L.F. Ziliani Garbage Collection for a calculus with indices

  10. Motivation A short introduction on λ -calculus . Different approachs for implementing λ -calculus Making the substitution explicit Adding garbage collection to λσ Avoiding the α -congruence: indexing variables Summary Indices and explicit substitution The F programming language The terms of F are constructed by Naturals (0 , 1 , . . . ) with built-in operations + , × , . . . , >, <, = , . . . Booleans ( true , false ) with built-in operations if · then · else · , ∧ , ∨ , . . . Variables x , y , . . . Functions (for instance, f ( x ) = x + 1). In this case x is the abstracted variable of f and x + 1 is the body. Application of terms to terms (for instance, f 3). Here, 3 is the argument of f . Application is left-associative: f 2 1 is ( f 2 ) 1. One computation step ( → ) is defined to an application f T as the act to replace each occurrence of the abstracted variable in the body with the argument. For example, f 3 → 3 + 1 = 4 L.F. Ziliani Garbage Collection for a calculus with indices

  11. Motivation A short introduction on λ -calculus . Different approachs for implementing λ -calculus Making the substitution explicit Adding garbage collection to λσ Avoiding the α -congruence: indexing variables Summary Indices and explicit substitution The F programming language The terms of F are constructed by Naturals (0 , 1 , . . . ) with built-in operations + , × , . . . , >, <, = , . . . Booleans ( true , false ) with built-in operations if · then · else · , ∧ , ∨ , . . . Variables x , y , . . . Functions (for instance, f ( x ) = x + 1). In this case x is the abstracted variable of f and x + 1 is the body. Application of terms to terms (for instance, f 3). Here, 3 is the argument of f . Application is left-associative: f 2 1 is ( f 2 ) 1. One computation step ( → ) is defined to an application f T as the act to replace each occurrence of the abstracted variable in the body with the argument. For example, f 3 → 3 + 1 = 4 L.F. Ziliani Garbage Collection for a calculus with indices

  12. Motivation A short introduction on λ -calculus . Different approachs for implementing λ -calculus Making the substitution explicit Adding garbage collection to λσ Avoiding the α -congruence: indexing variables Summary Indices and explicit substitution The F programming language The terms of F are constructed by Naturals (0 , 1 , . . . ) with built-in operations + , × , . . . , >, <, = , . . . Booleans ( true , false ) with built-in operations if · then · else · , ∧ , ∨ , . . . Variables x , y , . . . Functions (for instance, f ( x ) = x + 1). In this case x is the abstracted variable of f and x + 1 is the body. Application of terms to terms (for instance, f 3). Here, 3 is the argument of f . Application is left-associative: f 2 1 is ( f 2 ) 1. One computation step ( → ) is defined to an application f T as the act to replace each occurrence of the abstracted variable in the body with the argument. For example, f 3 → 3 + 1 = 4 L.F. Ziliani Garbage Collection for a calculus with indices

  13. Motivation A short introduction on λ -calculus . Different approachs for implementing λ -calculus Making the substitution explicit Adding garbage collection to λσ Avoiding the α -congruence: indexing variables Summary Indices and explicit substitution The F programming language The terms of F are constructed by Naturals (0 , 1 , . . . ) with built-in operations + , × , . . . , >, <, = , . . . Booleans ( true , false ) with built-in operations if · then · else · , ∧ , ∨ , . . . Variables x , y , . . . Functions (for instance, f ( x ) = x + 1). In this case x is the abstracted variable of f and x + 1 is the body. Application of terms to terms (for instance, f 3). Here, 3 is the argument of f . Application is left-associative: f 2 1 is ( f 2 ) 1. One computation step ( → ) is defined to an application f T as the act to replace each occurrence of the abstracted variable in the body with the argument. For example, f 3 → 3 + 1 = 4 L.F. Ziliani Garbage Collection for a calculus with indices

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend