AST ADT chicken egg problem: Difference between revisions

From apm
Jump to navigation Jump to search
basic page but still missing the essence
 
m added * Lambda calculus encodings of algebraic data types & {{Category:Programming}}
Line 25: Line 25:


* [[Edit time immutability]]
* [[Edit time immutability]]
* [[Lambda calculus encodings of algebraic data types]]


== External links ==
== External links ==
Line 30: Line 31:
* https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form
* https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form
* https://mathoverflow.net/questions/151240/why-is-there-no-product-type-in-simply-typed-lambda-calculus
* https://mathoverflow.net/questions/151240/why-is-there-no-product-type-in-simply-typed-lambda-calculus
{{Category:Programming}}

Revision as of 20:20, 27 December 2024

This article is a stub. It needs to be expanded.
  • AST algebraic syntax tree
  • ADT algebraic data type

ADT modeling AST

Lambda calculus, it's variants, and
in general formal systems (core of many programming languages)
are usually specified in Bakus Naur form.
This is basically a specific algebraic data type (ADT) with both sum types and product types.
– sum type for the various options a term can take
– product types for the components a term must have

AST modeling ADT

Better programming languages need algebraic datatypes.
Even in basic untyped lambda calculus there are simple embeddings for sum types and product types.

The chicken egg problem

(wiki-TODO: Main point of the topic is still missing here)

Related

External links

What links the main topic of this wiki
(atomically precise manufacturing targeted at gemstone metamaterial technology)
to the programming language part of the wiki is outlined on this page:
Relations of APM to purely functional programming

Related