Xah Talk Show 2019-09-27 programing language syntax. ad hoc vs uniform. Syntax system and Syntax algebra

- https://youtu.be/PYHLynTb9o0
- programing language syntax. ad hoc vs uniform. Syntax system and Syntax algebra. 2019-09-27
topics covered:
- most language's syntax are just ad hoc. no design whatsoever.
- some language's syntax, came from design. such as APL, lisp, haskell/ocaml/ml/fsharp
- bash shortcuts in all linux apps Linux: Keybinding Tutorial
- Unicode: APL Symbols ⍋ ⍟ ⍝
- Create Math APL Keyboard Layout
- APL Symbols Meaning and Code Example
- syntax system. for example, Mathematica.
- Why C syntax sucks. Why I Hate the C Language
- Haskell syntax, originally wanted to be based on Miranda
- ML (meta language), standard ML (SML), CAML, OCAML, Fsharp
- What is Function, What is Operator?
- Concepts and Confusions of Prefix, Infix, Postfix and Lisp Notations
- Formal Definition of Systematic Grammar
- Grammar Complexity of Conlang and Complang
- Composable Syntax
- Syntax Algebra
- Syntactic Meaning of Variable
- OCaml Syntax Sucks
the problem of regular syntax: usually it becomes unreadable or inconvenient
(3+2/5) / 7 + f(x)
- sin(x)^2
- sin^2(x)
- (sin(x))^2
(/ (+ 3 (/ 2 5)) 7)
- Fabcohungg[x, y, z, ...]
- Time[a,b]
- a*b
- Plus[a,b,c]
- a+b+c
- List[a,b,c]
- {a,b,c}
- Power[x,n]
- x^n
- Divide[a,b]
- a/b
- Equal[a,b]
- a == b
(3+2/5) / 7 + f(x)
- (3+2/5) / 7 + f[x]
- Plus[3,2/5] / 7 + f[x]
- Divide[Plus[3,2/5],7] + f[x]
- Plus[Divide[Plus[3,2/5],7] , f[x]]
- Plus[Divide[3+2/5,7] , f[x]]
- Divide[3+2/5,7] + f[x]
- Plus[Divide[Plus[3,2/5],7] , f[x]]
- Plus[Divide[Plus[3,Divide[2,5]],7] , f[x]]