SPLASH 2011

Table of Contents

1. Background

http://splashcon.org/2011/

SPLASH stands for Systems, Programming, Languages and Applications: Software for Humanity. SPLASH is an annual conference that embraces all aspects of software construction and delivery, and that joins all factions of programming technologies.

https://twitter.com/#!/splashcon

2. Sessions

2.1. FOOL 2011

2.1.1. A Program Logic for JavaScript (Philippa Gardner)

Looks at how we reason about JavaScript memory store.

Covers variable assignment and how to reason about scope in ECMAScript 3.

  • reasoning about the emulated variable store
  • Maffeis operational semantics
  • abstraction layers and exampes
2.1.1.2. function: lambda paramerters and body

{code} / Q: what are the values of x, y, and z / show reasoning about javascript variable lookup

x = null; y = null; z = null;

f = function(w) { x = v; v = 4; var v; // hoist y = v; };

v = 5; f(null); z = v;

// console.log(x, y, z); {code}

2.1.1.3. with: parsing and scope

{code} / Q: when is with applied? / {store_LS(a, f|)*l = LS} // Scenario: parsing with included external libraris a = { x: 1};

with(a) { f = function(y) { return x; }; };

a = {x: 2}; f(); // console.log(f()); {code}

Adapting Scheme-Like Macros to a C-Like Language, by Kevin Atkinson

2.2. Scheme 2011

2.2.2. cKanren: miniKanren with Constraints, (Claire E. Alvis)

http://scheme2011.ucombinator.org/papers/Alvis2011.pdf

Prolog type system. Could be used for defining problem sets that return solution sets based on

2.2.5. Computational Contracts (Christophe Scholliers)

http://scheme2011.ucombinator.org/papers/Scholliers2011.pdf

provides/contract

What are the transitions fro the state when in a comptation event

2.2.5.2. LAScheme
2.2.5.3. Implementation

contacts in javascript