FP (programming language)

This product was added to computer science because of the content, defects on the quality assurance side of the editor. This is done to bring the quality of the articles from the computer science subject area to an acceptable level. Help us to eliminate the substantive shortcomings of this article and take part you in the discussion! ( ) Reason: Item consists mainly of unexplained examples and links. The few paragraphs of text can detect no concept. - Raphael Kirchner 15:31, November 20, 2010 (UTC)

The term Functional Programming System (abbreviated FP ) system refers to a system developed by John W. Backus concept of functional programming languages ​​.

In a speech at the award ceremony of the Turing Award to Backus in 1977 that introduced the idea of FP systems. The presentation title was: Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. In another essay to Backus put firmly on the notion Function - Level Programming.

Numbers as selectors

The vector programming language APL had a decisive influence on the Combinator based functional programming system by John Backus, which does not require lambda variable list; selectors are instead (numbers) for the picking out of a sequence of values ​​used.

1: → x1 i: → xi Fixed number of combiners / functional forms

Application f: x = f ( x) Composition ( f o g): x = f ( g ( x)) Construction [ f1, f2, ..., fn ]: x = Condition (p → f, g): x = if p: x = T then f: x else if p: x = F then g: x else ⊥ Constant ~ x: = y if y = ⊥ then ⊥ else x Insert ( / f): = f: < x1, f: < x2, ... f: >> Apply to All ( α f): = Binary to Unary bu f x While loop (while pf): x = if p: x = T then (while pf): ( f: x)                                        else if p: x = F then x else ⊥ and the definition of monadic functions:

Def name = Term With ⊥ Backus said the value " Bottom", a value like " undefined" or "exception". T and F are the values ​​for " true" and "false".

Functional program for the interior product with combinators

Def IP = ( / ) o ( α × ) o Trans IP: << 1,2,3 >, < 6,5,4 >> = ( / ) O ( α × ) o trans: << 1,2,3 >, < 6,5,4 >> = ( / ) O ( α × ): ( trans: << 1,2,3 >, < 6,5,4 >> ) = ( / ): (( Α x ): << 1.6 >, < 2,5 >, < 3,4 >> ) = ( / ) < × < 1,6 > × < 2,5 > × < 3,4 >> = ( / ): < 6,10,12 > = < 6, : < 10.12 >> = 28 Development of FP systems

A team of John Backus, John Williams and Edward Wimmers developed in 1989 at the IBM Almaden Research Center, the successor FL (Function - Level Programming). This concept should be able to change programs as comfortable as you can switch equations in mathematics, this had to be a referential transparency be ensured. This is a new dimension of program optimization are used (EFL ). Backus wanted to do with FL from the " former computer science " an engineering discipline. Again, some further developments of FL are J ( application as APL) and plasm, a programming language for geometry.

FP implementations

  • INTERACTIVE FP Help page to
  • FP compiler that compiles itself to C
  • Fp interpreter in Lisp
  • FPr Lite
  • Plasm ( Programming Language for Solid Modeling), a functional programming language for use in CAD, which is developed at the Roma Tre University.
344234
de