> On Feb 6, 2019, at 3:19 PM, George Neuner <gneun...@comcast.net> wrote:
> 
> On Wed, 6 Feb 2019 12:50:21 -0500, Matthias Felleisen
> <matth...@felleisen.org <mailto:matth...@felleisen.org>> wrote:
> 
>>> On Feb 6, 2019, at 12:30 PM, 'Paulo Matos' via Racket Users 
>>> <racket-users@googlegroups.com> wrote:
>>> 
>>> I was quite surprised to read these nanopass ideas have been around for
>>> so long.
>> 
>> 
>> 1. The educational idea came first: 
>> 
>> A Nanopass framework for compiler education. • Volume 15, Issue 5 • 
>> September 2005 , pp. 653-667
>> 
>> https://www.cambridge.org/core/journals/journal-of-functional-programming/article/educational-pearl-a-nanopass-framework-for-compiler-education/1E378B9B451270AF6A155FA0C21C04A3
>> 
>> 2. The experience report of applying the idea to a commercial compiler came 
>> about 10 years later: 
>> 
>> A Nanopass framework for commercial compiler development. ICFP ’13 , pp 
>> 343-350
>> 
>> https://dl.acm.org/citation.cfm?id=2500618 
>> <https://dl.acm.org/citation.cfm?id=2500618> 
>> <https://dl.acm.org/citation.cfm?id=2500618 
>> <https://dl.acm.org/citation.cfm?id=2500618>>
>> 
>> — Matthias
> 
> 
> The idea that a compiler should be structured as multiple passes each
> doing just one clearly defined thing is quite old.  I don't have
> references, but I recall some of these ideas being floated in the late
> 80's, early 90's [when I was in school].
> 
> Interestingly, LLVM began (circa ~2000) with similar notions that the
> compiler should be highly modular and composed of many (relatively
> simple) passes.  Unfortunately, they quickly discovered that, for a C
> compiler at least, having too many passes makes the compiler very slow
> - even on fast machines.  Relatively quickly they started combining
> the simple passes to reduce the running time.
> 


I strongly recommend that you read the article(s) to find out how different 
nanopasses are from the multiple-pass compilers, which probably date back to 
the late 60s at least. — Matthias

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to