A Letter from Dijkstra on APL
7 hours ago
- #Formal methods
- #APL programming
- #Dijkstra legacy
- Dijkstra's ironic comments on APL, as Ken Iverson invented the notation for human communication before computer implementation.
- APL allows non-trivial work without execution, aligning with Dijkstra's formal methods for provably correct programs.
- Teaching APL without a machine is challenging, but executability aids honesty in proofs and programming education.
- Example 0: Derivation of Ackermann's function in APL, showing formal manipulation capabilities.
- Example 1: Index-of for inverted tables in APL, demonstrating efficient computation and notation advantages.
- Inverted tables reduce overhead and speed column access, with derived functions for optimized operations.