Opa is a programming language for building scalable web applications. A whole application, client and server together, is written in Opa, and the compiler produces Node.js code for the server and JavaScript for the browser while handling all communication between the two itself. The core language is functional with a static type system and type inference, and it adds sessions that hold imperative state and communicate by message passing, in the manner of Erlang processes. Its designers argue that treating HTML and parsers as first-class values, together with strong static typing, helps avoid security flaws such as SQL injection and cross-site scripting. Opa was first presented at an OWASP conference in 2010 and its source code was released on GitHub in June 2011 under the GNU Affero General Public License, with the library later moved to the MIT License. Release 0.9.0 in 2012 added MongoDB support and release 1.1.0 in 2013 added PostgreSQL.
Facts
Primary Use Domain Execution Model Connections
Follows Typing Discipline
Source Opa (programming language) (Wikipedia)
Licensed Under
Source Opa (programming language) (Wikipedia)
Sources
1. Opa (programming language) (Wikipedia)
Lead
complete programs are written in Opa and subsequently compiled to Node.js on a server and JavaScript on a client
Design and features
The core language is functional and has a static type system with type inference.
Lead, primary use
Opa is a programming language for developing scalable web applications.
Follows Typing Discipline: Static Typing, Design and features, static typing
The core language is functional and has a static type system with type inference.
Licensed Under: MIT License, Lead, library licence
Later, the license changed to the MIT License for the software framework part (the library) and AGPL for the compiler
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.