InfoQ Homepage Language Design Content on InfoQ
-
Gershwin: Stack-based, Concatenative Clojure
Daniel Gregoire introduces Gershwin, a stack-based, concatenative programming language with a Clojure runtime that targets the JVM.
-
C++14 Early Thoughts
Bjarne Stroustrup discusses features that might appear in C++14: braces for copy initialization, return type deduction in functions, generic (polymorphic) lambdas, user-defined literals, etc.
-
Protocols, Functors and Type Classes
Creighton Kirkendall discusses how polymorphism is implemented in Clojure, Ocaml, Haskell and Scala.
-
Racket: Metaprogramming Time!
Matthew Flatt introduces Racket, an extensible programming language useful to create new syntactic forms and construct entirely new programming languages.
-
Go at Google
Rob Pike explains how Google designed Go to address major development issues they encounter while using other languages: long build times, poor dependency management, lack of robustness, etc.
-
Dependent Types for JavaScript
Ravi Chugh introduces Dependent JavaScript (DJS), a statically-typed system for the imperative, object-oriented, dynamic language.
-
The Bandicoot Language: Code Reuse for the Relational Model
Ostap Cherkashin and Julius Chrobak present writing readable and extendable rich data manipulation code with Bandicoot.
-
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.