Programming Language

A topic for programming languages, a term for computational languages that are at least as expressive as the lambda calculus.

Actually, a proper definition would require Turing machine equivalence, but lambda calculus suffices for non-interacting machines and computations that should halt (but what good are those?). However, not all languages listed here, like C, are sufficiently expressive, but a good enough approximation in practice, once supplemented with proper libraries.

Lambda calculus is turing complete. Here is an example of a program that will run forever in lamba calculus:

(λx. x x) (λx. x x)

When the term on the right is substituted into the term on the left it yields the original program.

A turing machine is a non-interacting machine. A Turing machine program can either halt or run forever - it cannot interact with the outside world.

Pages in this topic: Whitespace   3d-visulan   4dl   `c   A+   Aardappel   ABCL   Ada   Agora   AKL   AL   Alan   Aldor   Aleph   ALF   Algae   Algol   Alice   Alma   Amiga E   AML   APL   Argh!   ASF+SDF   AspectJ   Awk   Axiom   BASIC   Befreak   Beta   Better Scheme   bigwig   Bla   BOBJ   Boo   Brain   C language   C#   C++   C--   CafeOBJ   CAL   Cayenne   Cecil   Cedar   Cel   Charity   Claire   Clarity   Clean   CLIPS   CLOS   Cobol   Coconut   Common Lisp   Confluence   Coq   CRML   Cryptol   Curry   Cw   Cyclone   D   Demeter   DHARMI   DML   Domain-Specific Language   Dreme   Dylan   Dynamo   E   Eden   Eidola   Eiffel   Elegant   Ellie   Epigram   Erlang   Escher   EuLisp   Euphoria   Factor   FALCON   False   FDScript   Felix   FISh   Flua   Forth   Fortran   FreshML   fx   fxm   GDL   Gema   Glee   Godiva   Goedel   Gont   Goo   Groovy   Guile   Hardware description language   Haskell   Hermes   Heron   Hobbit   Hume   Icon   Io   J   Janus   Java   JoCaml   Jolt   Joy   K   Kaleidoscope   Kevo   kew   Kiev   Kipple   Kogut   Lambda Prolog   Lava   Lemon   LENS   Libra   LIFE   Limbo   Linda   Lisp   LOGO   LoI   LUA   M4   Mathematica   Maude   Mercury   MetaML   Mica   Mila   ML   Moby   Modula-2   Modula-3   Moostrap   Morphe   Mozart/Oz   MultiJava   MUMPS   Napier88   NCL   Needle   NESL   NetCLOS   NeXeme   NIAL   O'Haskell   Oberon   Obix   OBJ Family   OBJ3   Objective-C   Obliq   OCAML   Opal   OpenC++   OpenJava   Orca   Otto   Pascal   Path   Perfect   Perl   Phantom   PHP   Piccola   Pike   Pilot   Pizza   PJ   PL/I   Pliant   Pluk   Plurix   POP   POP-11   Poplog   PostScript   Prolog   Prothon   Python   Q   Q shell   Qi   R   Ravi   RbCl   Real-Time Maude   REBOL   REFAL   RELFUN   REXX   RPG   RPL   RPL/2   Ruby   SAC   Salsa   Sather   Scala   Scheme   Screamer   Sebyla   SED   Self   SETL   Sheep   Sigil   Simkin   Simula   Sina   Sisal   Slate   Small C   Smalltalk   SNUSP   Socrates   SPARCL   SR   Stacker   Stella language   Stratego   TCL   TOM   Tps   TRAC   TXL   Unicon   Universal Binary Format   Unlambda   Upper/Mute   Vault   Visual BASIC   Visula   Xanadu language   XL   XY   Zpl   {log}  

Also linked from: Abstraction   Aspect-Oriented Programming   AspectS   Benjamin C. Pierce   Blue   Caper   Concurrency-Oriented   Concurrent   Dispatch   Duality   Efficient   Equality   Language   Language Implementation   Language-Based Security   Luca Cardelli   Lunacy   Macro   MACSYMA   Mozart   OpenHW   Parsing   PL 101   Plan9   PoLITe project   Programming Language Semantics 101   Programming Languages   Rewrite   Static   Supercompilation   Type System   Unity Project