Flapjax
Encyclopedia
Flapjax is a programming language built atop JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

. It provides a spreadsheet
Spreadsheet
A spreadsheet is a computer application that simulates a paper accounting worksheet. It displays multiple cells usually in a two-dimensional matrix or grid consisting of rows and columns. Each cell contains alphanumeric text, numeric values or formulas...

-like dataflow computation
Reactive programming
In computing, reactive programming is a programming paradigm oriented around data flows and the propagation of change. This means that it should be possible to express static or dynamic data flows with ease in the programming languages used, and that the underlying execution model will...

 style, making it easy to create reactive
Reactive programming
In computing, reactive programming is a programming paradigm oriented around data flows and the propagation of change. This means that it should be possible to express static or dynamic data flows with ease in the programming languages used, and that the underlying execution model will...

 Web pages without the burden of callbacks
Callback (computer science)
In computer programming, a callback is a reference to executable code, or a piece of executable code, that is passed as an argument to other code. This allows a lower-level software layer to call a subroutine defined in a higher-level layer....

 and potentially inconsistent mutation. Flapjax can be thought of in two ways: either as a library, for use in regular JavaScript programs, or as a new language that the compiler converts into generic JavaScript. In either case, the resulting programs can be run in a regular Web browser. In addition, Flapjax comes with persistent storage and a simple API that masks the complexity of using AJAX
Ajax
- Mythology :* Ajax , son of Telamon, ruler of Salamis and a hero in the Trojan War, also known as "Ajax the Great"* Ajax the Lesser, son of Oileus, ruler of Locris and the leader of the Locrian contingent during the Trojan War.- People :...

, along with sharing and access-control
Access control
Access control refers to exerting control over who can interact with a resource. Often but not always, this involves an authority, who does the controlling. The resource can be a given building, group of buildings, or computer-based information system...

 for server data.

The Flapjax compiler is written in Haskell
Haskell (programming language)
Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...

.

Further reading

  • Leo Meyerovich, Arjun Guha, Jacob Baskin, Greg Cooper, Michael Greenberg, Aleks Bromfield, Shriram Krishnamurthi. "Flapjax: A Programming Language for Ajax Applications". OOPSLA
    OOPSLA
    OOPSLA is an annual ACM research conference. OOPSLA mainly takes place in the United States, while the sister conference of OOPSLA, ECOOP, is typically held in Europe...

    2009.
  • Leo Meyerovich, Arjun Guha, Jacob Baskin, Greg Cooper, Michael Greenberg, Aleks Bromfield, Shriram Krishnamurthi. "Flapjax: A Programming Language for Ajax Applications". Brown University Tech Report CS-09-04.
  • Arjun Guha, Shriram Krishnamurthi, Trevor Jim. "Using Static Analysis for Ajax intrusion Detection". WWW 2009.
  • Arjun Guha, Jacob Matthews, Robert Bruce Findler, Shriram Krishnamurthi. "Relationally-Parametric Polymorphic Contracts". DLS 2007.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK