Re:Programming Languages That Blew My Mind (2023)
by 082349872349872 on Sunday November 03, 2024 @02:15PM
(#42035364)
Unfortunately Dijkstra and Iverson took personal dislikes to each other's approach, or we might have had a language that abstracted data flow like Iverson's APL and abstracted code flow like Dijkstra's Guarded Commands.
[ Parent
| on HN ]
Re:Programming Languages That Blew My Mind (2023)
by abrudz on Monday November 04, 2024 @02:47AM
(#42039433)
Have you looked at dfns (https://en.wikipedia.org/wiki/Direct_function)? They allow you something very similar. Compare Dijkstra's GCL:
if a < b → c := true
□ a ≥ b → c := false
fi
To an APL dfn with "guards": c ← {
a < b : true
a ≥ b : false
}
As in GCL, if none of the guards hold true, the dfn (braces) will terminate without return value, and thus the code will abort with an error.
Re:Programming Languages That Blew My Mind (2023)
by 082349872349872 on Monday November 04, 2024 @04:56AM
(#42040047)
thanks! very close, except for https://en.wikipedia.org/wiki/Direct_function#:~:text=guards...
(seems like a degenerate, empty, dfn also behaves differently?)
Re:Programming Languages That Blew My Mind (2023)
by 082349872349872 on Monday November 04, 2024 @08:07AM
(#42041167)
and, modulo the above, we could spell "do X ◻ Y od" as "{X ♢ Y}⍣≡"?