Re: G-Expressions and Scope Preservation

2020-01-22 Thread Chris Marusich
Hi Ludo, Ludovic Courtès writes: > Hello! > > Chris Marusich skribis: > >> In your paper "Code Staging in GNU Guix" [1], you use the following >> example to illustrate how G-Expressions are hygienic ("they preserve >> lexical scope across stages"): >> >> (let ((gen-body (lambda (x) >>

Re: G-Expressions and Scope Preservation

2020-01-22 Thread Ludovic Courtès
Hello! Chris Marusich skribis: > In your paper "Code Staging in GNU Guix" [1], you use the following > example to illustrate how G-Expressions are hygienic ("they preserve > lexical scope across stages"): > > (let ((gen-body (lambda (x) > #~(let ((x 40)) >

Re: G-Expressions and Scope Preservation

2020-01-21 Thread Chris Marusich
zimoun writes: > the Unison language Thank you for sharing the link! I only read the overview, but I can see why this makes you think of G-Expressions. It's always interesting to read about how content addressability can make some problems easier. > I cannot wait for your presentation at

Re: G-Expressions and Scope Preservation

2020-01-21 Thread zimoun
Hi Chris, My comment is not related at all, just for reference and/or curiosity. :-) Yesterday night, I "discovered" the Unison language [1] which seems presenting similar ideas than G-expression. Well, even I am not sure to understand the both. And Nix guys seems floating around [2]. ;-) [1]

G-Expressions and Scope Preservation

2020-01-20 Thread Chris Marusich
Hi Ludo, In your paper "Code Staging in GNU Guix" [1], you use the following example to illustrate how G-Expressions are hygienic ("they preserve lexical scope across stages"): (let ((gen-body (lambda (x) #~(let ((x 40)) (+ x #$x) #~(let ((x 2))