FP trivia
- Appeared in:
- 2019
- Influenced by:
- Paradigm:
- Typing discipline:
- File extensions:
- .fp
- Versions and implementations (Collapse all | Expand all):
is a point-free programming language with instance variables
FP trivia is a pure functional programming language inspired by the FP-Systems of John Backus, APL, Smalltalk and Lisp. It is intended to remedy the problematic fact that FP[1] is viewed as free of variables, which is also true in terms of lambda variables, but not in terms of the instance variables that are used by FP trivia. The main data type is therefore a table that the instance variables can access and also allowes the infix notation which is mostly right-associative.
Elements of syntax:
Inline comments | // text |
---|---|
Case-sensitivity | yes |
Variable identifier regexp | #name |
Function identifier regexp | abc or +-*/ |
Variable assignment | name := term |
Variable declaration with assignment | func <- name1 ; name2 ; ... ; namen ; |
Grouping expressions | ( ... ... ) |
Block | ( ... ... ) |
Physical (shallow) equality | = |
Physical (shallow) inequality | <> or != |
Comparison | < > <= >= |
Function definition | ident == term |
Function call | func o arg1 , arg2 , ... , argn , |
Function call with no parameters | func |
Sequence | func1 o func2 o ... o funcn |
If - then - else | test -> then | else |
While condition do | test ->* body |
Do until condition | body loopif not o test |
For each value in a numeric range, 1 increment | (func do) o num1 , num2 , |
For each value in a numeric range, 1 decrement | (func do) o num2 , num1 , _1 , |
FP trivia idents dump
Example with instance variables
Examples:
Factorial:
Example for versions FP trivia 20210108This example provides a list of factorials from 0 up to 16. Factorial for a non-recursive / recursive version.
Factorial non-recursive
Factorial recursive
Factorial with Y combinator
Factorial with while- and for-do-loop
Comments
]]>blog comments powered by Disqus
]]>