20th International Workshop on
Foundations of Object-Oriented Languages
FOOL 2013

Indianapolis, IN, USA; Sunday, October 27, 2013

A satellite workshop of SPLASH 2013



Important Dates (all are Firm)

July 19, 2013
Full paper submission
August 25, 2013
September 25, 2013
Paper due for informal proceedings
October 27 (Sunday), 2013

Program Committee

  • Stephen Chong, Harvard University
  • Ravi Chugh, University of California, San Diego
  • Robby Findler, Northwestern University
  • Cormac Flanagan, University of California, Santa Cruz
  • Nate Foster, Cornell University
  • Arjun Guha, University of Massachusetts Amherst
  • David Herman, Mozilla Research
  • Shriram Krishnamurthi, Brown University (PC chair)
  • Hidehiko Masuhara, Tokyo Tech
  • Ana Milanova, Rensselaer Polytechnic Institute
  • Klaus Ostermann, University of Marburg, Germany
  • Éric Tanter, University of Chile
  • Jan Vitek, Purdue University
  • Organizers

    Steering Committee

    Schedule (Regency A)

    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.

    8:30am - 10:00am: Technical Papers (30 minutes each)

    10:30am - 11:30am: Keynote Talk

    Nikhil Swamy will talk about the secure embedding of gradual typing for JavaScript. See details below.

    1:00pm - 2:00pm: Invited Talk: FOOL@20

    This is the twentieth anniversary of FOOL! Looking back, Kim Bruce will talk about FOOL over the years.

    2:00pm - 3:00pm: Discussion: Objects vs. Scripting

    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.

    Keynote Talk

    TS*: Gradual Typing Embedded Securely in JavaScript

    Nikhil Swamy

    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.

    Submission Instructions

    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