20th International Workshop on
|
![]()
![]() |
FOOL is adopting a non-standard schedule to play nice with the other events.
Because our keynote talk finishes well before noon, you can either attend some other event from 11:30 to 12:00, or still take 1h30m for lunch—but shifted half an hour earlier.Either way, please be back—this is the non-standard part—by 1pm! We will then go straight through to 3pm. By finishing then, we leave you free to attend the coffee break, followed by the last session of other events.
Nikhil Swamy will talk about the secure embedding of gradual typing for JavaScript. See details below.
This is the twentieth anniversary of FOOL! Looking back, Kim Bruce will talk about FOOL over the years.
Looking forward, Shriram Krishnamurthi will lead a discussion about objects and scripting languages. This isn't a panel; it's an open discussion with all participants welcome to participate (the more the merrier)! Come armed with objects, scripts, opinions, or caffeine.
Enabling the mixture of dynamically and statically type-safe code, gradual type systems have gained prominence in the past decade, both through research languages like Racket and industrial languages like C#. Now, with the advent of TypeScript and Closure, gradual typing has come to JavaScript. However, JavaScript's unusually flexible semantics makes it hard to provide gradual type-safety. Indeed, both Closure and TypeScript's type systems are intentionally unsound.
In this talk, I will present ongoing work at Microsoft Research on TS*, a gradually typed surface language on top of JavaScript. Its type system has the distinctive feature of providing safety guarantees even when TS* programs are composed with arbitrary, untrusted JavaScript. To achieve this, TS* provides a new gradual typing discipline that includes not one but two types to classify dynamically typed code: the type Any is for dynamically type-safe TS* expressions, while the type Un is for dynamically typed, but potentially adversarial, JavaScript expressions.
So far, we have programmed several small security-critical libraries in TS* and deployed them after compilation to JavaScript. Our experience suggests that web-security idioms that developers currently program in JavaScript (with much difficulty and still with dubious results) can instead be coded naturally in TS*, retaining a flavor of idiomatic JavaScript, while providing, by virtue of our type system, strong safety guarantees.
Nikhil Swamy is a Researcher in the RiSE group at Microsoft Research, Redmond. Nik's research covers various topics including type systems, program logics, functional programming, program verification, interactive theorem proving and the foundations of computer security. He is the lead designer and implementer of the F* programming language and the current chair of PL(X), the RiSE working group on programming languages.
The search for sound principles for object-oriented languages has given rise to much work during the past two decades, leading to a better understanding of the key concepts of object-oriented languages and to important developments in type theory, semantics, program verification, and program development. FOOL 2013 will be held in Indianapolis, IN, USA as part of SPLASH 2013.
Submissions for this event are invited in the general area of foundations of object-oriented languages. Topics of interest include language semantics, type systems, memory models, program verification, formal calculi, concurrent and distributed languages, database languages, and language-based security issues.
Papers are welcome to include formal descriptions and proofs, but these are not required; the key consideration is that papers should present novel and valuable ideas or experiences. The main focus in selecting workshop contributions will be the intrinsic interest and timeliness of the work, so authors are encouraged to submit polished descriptions of work in progress as well as papers describing completed projects.
We solicit submissions on original research not previously published or currently submitted for consideration elsewhere. The program chair should be informed of any related submissions; see the ACM SIGPLAN Re-Publication Policy.
Submissions should be in PDF and follow the
SIGPLAN conference format for a US-letter size
page. Please include page numbers (use the preprint
option in the LaTeX style).
Papers can be up to 12 pages at 9pt or
15 pages at 10pt; for readability, we prefer that you
use 10pt text (the SIGPLAN default is 9pt, so you will need to set the
10pt
option).
Shorter papers describing
promising preliminary work are encouraged and welcome.
Papers must be submitted electronically via EasyChair.
A PC member, other than the chair, may be an author or co-author on any paper under consideration but will be excluded from any evaluation or discussion of the paper, and will get access to reviews of the paper(s) only in the same manner and time as other authors.
An informal proceedings will be made publicly available on this web page. However, presentation at FOOL does not count as prior publication, and many of the results presented at FOOL have later been published at ECOOP, OOPSLA, POPL, and other main conferences.
FOOL: International Workshops on Foundations of Object-Oriented Languages