Xah Talk Show 2026-02-18 Ep763. programing language design, function named parameters. Dynamic vs strong typed.
Video Summary (Generated by AI, Edited by Human.)
discuss the design of function named parameters in programming languages (0:17). And discuss dynamic vs strong typed languages.
- terminology. Arguments vs. Parameters (1:41): âargumentsâ are passed when calling a function, while âparametersâ are used when defining a function.
- Named Parameters in Functional Programming (3:55): pure functional programming languages should not support named parameters. Instead, they should accept a key-value collection as a single optional last parameter (4:09).
AI's Role in Research (2:49): use grok AI to research programming language design questions, such as:
- Whether Haskell has named parameters (6:58).
- Alternative names for named parameters (7:22).
- Syntax for named parameters across various languages (7:52).
- The design of named parameters in functional and mathematical programming languages (8:56).
Functional vs. Mathematical/Scientific Languages (12:02): The video highlights a distinction: Mathematical/scientific programming languages (like R, Mathematica/Wolfram Language, Julia) commonly use named parameters (12:29) due to functions having many optional arguments (12:40).
Pure functional programming languages (like Haskell, OCaml, F#) rarely use named parameters (13:42) because they interfere with currying and higher-order function composition (13:55), concepts rooted in mathematical functions (14:19).
- Critique of Python's Parameter Design (18:11): disapproval of Python's function parameter design, calling it âextremely idioticâ and âconvolutedâ (18:46).
- JavaScript and Perl's Argument Handling (27:00): discusses how JavaScript (using the arguments object) and Perl (using $_ array) historically handled arbitrary arguments without explicit parameter declarations, noting these designs are generally considered bad (29:07). JavaScript introduced a ârest parameterâ syntax in 2015 to address this (33:39).
- Static vs Dynamic Typing (44:36): The speaker discusses the debate between static and dynamic typing. explains C/C++/Java's static typing is idiotic (56:51), and fundamentally different from strongly typed functional languages like Haskell (rooted in mathematical type theory) (53:02).
- The speaker expresses uncertainty about which overall approach to typing is "better" (56:42).
- Ultimate Hacking Keyboard 80 (UHK 80)
- Nulea M505 Trackball
- Huion H640P Drawing Tablet
- Emacs: Xah Fly Keys đŠ
- computer science, programing language dsign.
- starting to think that named parameters is a problem in functional programing.
- instead, you want to pass a key n value collection as single optional last param instead.
- https://x.com/xah_lee/status/2024245072863383704
- whats are alt names for named parameters in prog langs. list the languages and what they call it.
- list functional programing languages or math programing languages of their named parameters
- https://x.com/i/grok/share/5819a1e3f32c4832bd9e5d172d5ccddf
- which programing language began the idea of a builting variable holding all arguments passed to a function
- https://x.com/i/grok/share/75d0368f729e4c14b1bf4987a0d826c9
- Python Tutorial
- Python: Function Rest Parameters (Single Asterisk *)
- Python: Function Keyword Parameters (Double Asterisk **)
- Steve Yegge on Dynamic Programing Languages. 2008
- Dynamic vs Static Type System in Programing Languages
- julia programing language