>Let C2 be the following claim: "the most important part of FP is function composition".
C9 = functional programming is better designed than OOP and procedural programming.
I claim C1 to be true (you agree.)
I claim C2 to be true.
I claim C9 to be true.
I do not claim C1 => C2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reasoning for C2:C3 = The primary task of High level programming languages is to simplify assembly instructions.
C4 = The simplification of assembly instructions is done through Composition.
C5 = Different High level programming languages/paradigms simplify assembly primitives in different ways.
C6 = High level programming languages/paradigms are, in essence just different ways of composing assembly primitives.
(C3, C4, C5) => C6
C7 = If programming languages are all just different ways of composing assembly primitives than how they compose assembly primitives is the most important part of the language and the main differentiator between one high level language and another high level language.
C8 = function composition is the primary form of composition for functional programming.
(C6, C7, C8) => C2
---------------------------------------
In short:- High level programming languages/paradigms are, in essence just different ways of composing assembly primitives.
- If programming languages are all just different ways of composing assembly primitives than how they compose assembly primitives is the most important part of the language and the main differentiator between one high level language and another high level language.
- function composition is the primary form of composition for functional programming.
Therefore: the most important part of FP is function composition.
-------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reasoning for C9:C8 = "A Design for a programming language" is just another phrase for "a method of composition for a programming language".
(C1, C8) => C9
-----------------------------------------------
In short:- function composition is better behaved than object composition and procedure composition
- "A Design for a programming language" is just another word for "a method of composition for a programming language"
Therefore: functional programming is better designed than OOP and procedural programming.
------------------------------------------------
I like this format, thanks for introducing it. I think it allows us to clearly see which axioms we disagree with and need to think about.