nock.txt 554 B

12345678910111213141516171819202122232425262728293031323334353637
  1. ## sample eval
  2. ### nock 6
  3. ```
  4. *[a 6 b c d]
  5. *[a *[[c d] 0 *[[2 3] 0 *[a 4 4 b]]]]
  6. *[a *[[c d] 0 *[[2 3] 0 +*[a 4 b]]]]
  7. *[a *[[c d] 0 *[[2 3] 0 ++*[a b]]]]
  8. ```
  9. #### if *[a b] is 0
  10. ```
  11. *[a *[[c d] 0 *[[2 3] 0 ++0]]]
  12. *[a *[[c d] 0 *[[2 3] 0 +1]]]
  13. *[a *[[c d] 0 *[[2 3] 0 2]]]
  14. *[a *[[c d] 0 2]]
  15. *[a c]
  16. ```
  17. #### if *[a b] is 1
  18. ```
  19. *[a *[[c d] 0 *[[2 3] 0 ++1]]]
  20. *[a *[[c d] 0 *[[2 3] 0 +2]]]
  21. *[a *[[c d] 0 *[[2 3] 0 3]]]
  22. *[a *[[c d] 0 3]]
  23. *[a d]
  24. ```
  25. ### nock 9
  26. *[a 9 b c]
  27. *[*[a c] 2 [0 1] 0 b]
  28. (d=*[a c])
  29. *[*[d 0 1] *[d 0 b]]
  30. *[d *[d 0 b]]
  31. ## impl notes