Hasty Briefsbeta

Bilingual

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.