The Validation Locality piece is very interesting and really got my brain going. Would be cool to denote test conditions in line with definitions. Would get gross for a human, but could work for an LLM with consistent delimiters. Something like (pseudo code):
```
fn foo(name::"Bob"|genName(2)):
if len(name) < 3
Err("Name too short!")
print("Hello ", name)
return::"Hello Bob"|Err
```
Right off the bat I don't like that it relies on accurately remembering list indexes to keep track of tests (something you brought up), but it was fun to think about this and I'll continue to do so. To avoid the counting issue you could provide tools like "runTest(number)", "getTotalTests", etc.
I miss when there was more of this on the internet. One small correction: I like the gotcha in the vegetable selection (an avocado is a fruit), but it allowed me to pass with eggplant selected, which is also botanically a fruit.
Drew Berry creates similar animations and refers to them (in this talk) as "accurate representations", but doesn't go into much detail. Interesting history in the beginning as well. https://www.youtube.com/watch?v=WFCvkkDSfIU
My wife came across this paper today and we've been glued to it since. Prescient work that identifies problems we still (even more so) grapple with today around education and advertising.
This is bringing back strong memories of messing around with QBASIC and Clickteam's The Games Factory.
My first game was called "Money 4 Nothing" and you moved a mouse-cursor locked guy around collecting floating cash piles and avoiding guards who usually just shot you on a loop.
``` fn foo(name::"Bob"|genName(2)): if len(name) < 3 Err("Name too short!")
```
Right off the bat I don't like that it relies on accurately remembering list indexes to keep track of tests (something you brought up), but it was fun to think about this and I'll continue to do so. To avoid the counting issue you could provide tools like "runTest(number)", "getTotalTests", etc.
One issue: The Loom spec link is broken.