Category:Bruijn: Difference between revisions

From Rosetta Code
Content added Content deleted
(Add bruijn)
 
(Clarify primitivity)
 
Line 5: 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 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/.
Documentation can be found at https://bruijn.marvinborner.de/wiki/.

Latest revision as of 12:07, 3 March 2024

Language
Bruijn
This programming language may be used to instruct a computer to perform a task.
Official website
Execution method: Interpreted
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using Bruijn.


Bruijn is a functional programming language based on pure 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 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/.