leah blogs

April 2020

26apr2020 · Brute forthing minimal programs for stack arragements

Word Effect Standard Forth Minimal Forth
DROP ( a - ) drop t!
DUP ( a - aa ) dup t! t@ t@
SWAP ( ab - ba ) swap t! >r t@ r>
NIP ( ab - b ) swap drop >r t! r>
OVER ( ab - aba ) >r dup r> swap >r t! t@ r> t@
TUCK ( ab - bab ) dup >r swap r> t! >r t@ r> t@
ROT ( abc - bca ) >r swap r> swap >r >r t! r> r> t@
2SWAP ( abcd - cdab ) >r swap >r swap r> r> swap >r swap r> >r t! >r >r t@ r> r> r> t! >r >r t@ r> r>
2DUP ( ab - abab ) >r dup r> dup >r swap r> t! t@ t@ >r >r t! t@ r> t@ r>
2OVER ( abcd - abcdab ) n/a n/a
2DROP ( ab - ) drop drop t! t!
-ROT ( abc - cab ) swap >r swap r> t! >r >r t@ r> r>
3REV ( abc - cba ) swap >r swap r> swap t! >r t@ >r t! r> r> t@
4REV ( abcd - dcba ) >r swap r> swap >r swap >r swap r> swap r> swap t! >r t@ >r t! r> r> t@ >r >r >r t! r> r> r> t@
THIRD ( abc - abca ) >r >r dup r> swap r> swap >r >r t! t@ r> r> t@
FOURTH ( abcd - abcda ) >r >r >r dup r> swap r> swap r> swap >r >r >r t! t@ r> r> r> t@
3DUP ( abc - abcabc ) dup >r swap dup >r swap >r >r dup r> swap r> swap r> r> n/a

NP: Pearl Jam—Take The Long Way

Copyright © 2004–2019