InfoQ Homepage Language Design Content on InfoQ
-
The Reemergence of Datalog
Michael Fogus overviews Datalog and provides examples of how it is implemented and used in Datomic, Cascalog, and the Bacwn Clojure library.
-
Grace: An Open-source Educational OO Language
Michael Homer introduces Grace, an educational OO language used to teach programming to students.
-
Static vs. Dynamic Languages
Stuart Williams discusses the merits of dynamic languages, definitions, stereotypes, myths, suggesting when and how to introduce such a language in production.
-
Socio-PLT: Principles for Programming Language Adoption
Leo A. Meyerovich explains how social adoption patterns can help language designers make new languages that are inherently attractive and desirable by developers.
-
Liberating the Programmer with Prorogued Programming
Mehrdad Afshari introduces prorogued programming, a new programming paradigm based on 3 principles: proroguing concerns, hybrid computation and executable refinement.
-
Elixir: Modern Programming for the Erlang VM
José Valim introduces Elixir, a programming language for the Erlang VM – an attempt to provide better abstractions and productivity tools like protocols and macros usually required for web development
-
Symbiotic Languages: Transpiling into JavaScript
Jeremy Ashkenas discusses symbiotic languages and transpilers in general, then focuses on a particular case: CoffeeScript vs. JavaScript.
-
Staged Program Development
K. Rustan M. Leino advocates developing in stages by using languages that offer both design level abstractions – types, contracts, higher-level constructs, ghost constructs- and implementation ones.
-
Information Rich Programming with F# 3.0
Donna Malayeri speaks on information rich programming with F# 3.0’s type providers and query expressions, explaining how type providers work under the hood.
-
Rust
Dave Herman talks about Mozilla Rust and some of the features that make it safe, concurrent, and fast.
-
Computer Architecture of the 1960’s
Carlton Mills reviews Algol 60, PL/360, BLISS, Algol W, PL/1, C and C++, considering that rediscovering Algol could solve many of today’s Internet virus attacks and common programming errors.
-
Roy
Brian McKenna introduces Roy, a functional JavaScript variant implementing type inference, structural typing, sum types, meta-programming, whitespace-aware syntax, monads and pattern matching.