Category:Bruijn: Difference between revisions

Clarify primitivity
(Add bruijn)
 
(Clarify primitivity)
 
Line 5:
 
Bruijn is a [[functional_programming|functional]] programming language based on pure [[wp:lambda_calculus|lambda calculus]]. It uses De Bruijn indices instead of named variables and square brackets for abstractions. Like pure lambda calculus, bruijn can be compiled to [https://tromp.github.io/cl/Binary_lambda_calculus.html Binary Lambda Calculus]. Unlike pure lambda calculus, you can define named substitution rules. Bruijn has a large standard library of such definitions.
 
Bruijn does not have primitive functions or data types. Every function (including add, map, mul, etc.) is implemented in bruijn itself. Numbers, strings, or chars are syntactic sugar for data encoded as closed terms/abstractions.
 
Documentation can be found at https://bruijn.marvinborner.de/wiki/.
55

edits