Faculty Advisor or Committee Member

Kathi Fisler, Advisor

Faculty Advisor or Committee Member

Joshua Guttman, Committee Member

Faculty Advisor or Committee Member

Charles Rich, Committee Member

Co-advisor

Shriram Krishnamurthi

Identifier

etd-042612-104736

Abstract

Functional programming offers an accessible and powerful algebraic model for computing. JavaScript is the language of the ubiquitous Web, but it does not support functional programs well due to its single-threaded, asynchronous nature and lack of rich control flow operators. The purpose of this work is to extend JavaScript to a language environment that satisfies the needs of functional programs on the Web. This extended language environment uses sophisticated control operators to provide an event-driven functional programming model that cooperates with the browser's DOM, along with synchronous access to JavaScript's asynchronous APIs. The results of this work are used toward two projects: (1) a programming environment called WeScheme that runs in the web browser and supports a functional programming curriculum, and (2) a tool-chain called Moby that compiles event-driven functional programs to smartphones, with access to phone-specific features.

Publisher

Worcester Polytechnic Institute

Degree Name

PhD

Department

Computer Science

Project Type

Dissertation

Date Accepted

2012-04-26

Accessibility

Unrestricted

Subjects

web, education, javascript, programming environments, compilation

Share

COinS