Content deleted Content added
remove bogus doi |
|||
Line 32:
The core language is [[functional programming|functional]] and has a static [[type system]] with [[type inference]]. Opa also provides sessions which encapsulate an [[imperative programming|imperative]] state and communicate using [[message passing]], similar to [[Erlang (programming language)|Erlang]] processes. Opa provides many structures or functions that are common in web development, as [[first-class object]]s,
for instance [[HTML]]<ref>{{cite web|url=http://www.i-programmer.info/news/98-languages/2961-opa-a-unified-approach-to-web-programming.html
|title=Opa - a unified approach to web programming |publisher=i-Programmer |date=28 August 2011}}</ref> and [[parser]]s, based on [[Parsing Expression Grammar]]s.<ref>{{cite web |author=Koprowski, Binsztok |year=2011|url=http://www.lmcs-online.org/ojs/viewarticle.php?id=708&layout=abstract|title=TRX: A Formally Verified Parser Interpreter|publisher=Logical Methods in Computer Science |
Because of this adhesion between the language and web-related concepts, Opa is not intended for non-web applications (for instance [[desktop application]]s).<ref>{{cite web |url=http://linuxfr.org/news/opa-un-nouveau-langage-pour-le-d%C3%A9veloppement-d%E2%80%99applications-web |title=Opa, un nouveau langage pour le développement d’applications Web|publisher=LinuxFr |language=French|date=22 June 2011}}</ref>
|