From: Jurgen Vinju To: Multiple recipients of list PEM <> Date: Mon, 4 Dec 2000 17:55:19 +0100 Subject: PEM - David Hanson - Microsoft Research - 7.12.00 Dear colleagues, This week we welcome David Hanson from Microsoft Research. He is perhaps best known for his work on the lcc compiler and ASDL. His talk on Thursday will address compilation techniques of dynamic scoping. He also brings some material on C#, which might be presented if circumstances allow. This announcement can be found with links at Dynamic Variables Date: 7.12.00 Time: 10:00 Venue: M2.80 CWI Speaker: David Hanson - Microsoft Research Title: Dynamic Variables Most programming languages use static scope rules for associating uses of identifiers with their declarations. Static scope helps catch errors at compile time, and it can be implemented efficiently. Some popular languages--Perl, Tcl, TeX, and Postscript--use dynamic scope, because dynamic scope works well for variables that "customize" the execution environment, for example. Programmers must simulate dynamic scope to implement this kind of usage in statically scoped languages. This paper describes the design and implementation of imperative language constructs for introducing and referencing dynamically scoped variables-dynamic variables for short. The design is a minimalist one, because dynamic variables are best used sparingly, much like exceptions. The facility does, however, cater to the typical uses for dynamic scope, and it provides a cleaner mechanism for so-called thread-local variables. A particularly simple implementation suffices for languages without exception handling. For languages with exception handling, a more efficient implementation builds on existing compiler infrastructure. Exception handling can be viewed as a control construct with dynamic scope. Likewise, dynamic variables are a data construct with dynamic scope. [Joint work with Todd Proebsting] Have a nice day. _________________________________________________________________ The programming environment meetings are a forum for the presentation and discussion of new ideas, ongoing and finished work. A typical meeting addresses a subject in the area of programming environments, program generation, algebraic specification, term rewriting, parsing, etc. A presentation ideally takes between 45 and 90 minutes. Meetings taking longer than 45 minutes are interrupted by a coffeebreak. Most Thursdays, a meeting is held which starts at 10:00 am. in one of the rooms at CWI/WINS. Exceptionally, dates or times may change. The program of the meetings is available on WWW: http://www.cwi.nl/~jurgenv/pem/index.html _________________________________________________________________