a terrible forth-like language for making memes https://szy.io/memeforth
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mark 1aa6473101 Merge branch 'feature/coolkids' of mdszy/memeforth into master 1 year ago
dist rebuild dist 2 years ago
test add test for \n 1 year ago
.gitignore ignore .vscode 2 years ago
DICTIONARY.md add and document \n command 1 year ago
LICENSE Add LICENSE 2 years ago
README.md syntax fix 1 year ago
REFERENCE.md aight i think that's all the docs 2 years ago
dictionary.js add and document \n command 1 year ago
index.html Added Rollup 2 years ago
index.js LOOPY LOOP 2 years ago
memeforth.js implement reworked variable definition behavior 1 year ago
package-lock.json add mocha and expect.js 2 years ago
package.json update urls 1 year ago
rollup.config.js rebuild dist.js 2 years ago
stack.js add stack documentation 2 years ago


Liberapay Badge


this has gone too far

wtf is this?

this is a FORTH variant, implemented using javascript, that can be used to process text and describe text-based memes

for instance


results in the text:

Just another hard day's work at the 'DNS over yeet? I sure hope it does!' factory

being at the top of the stack

check out DICTIONARY.md for the current language documentation.

wtf isn't this?

memeforth is not:

  • a standards-compliant FORTH variant, it has non-standard features such as:
    • strings are valid outside of a word definition context and are pushed to the stack when a literal string is encountered
    • unknown words are treated as strings (bare-words)
    • IF/DO/other control statements are valid outside of a word defintion
  • meant to be used for anything serious
  • free of probably serious bugs
  • webscale
  • thread-safe, memory safe, safe from undefined behavior, safe from the apocalypse, radiation hardened or rated for use in explosive environments
  • anything good


So far, the language features are:

  • Pushing strings, integers and boolean values onto the stack.
  • Memory storing/fetching.
  • Stack manipulation.
  • Integer math.
  • Comparison/boolean logic operations.
  • String manipulation such as SLICE/JOIN/SPLIT
  • IF/ELSE statements.
  • DO loops.
  • Output printing.
  • Tons of text memes.
  • Comments. ( like this )

projects using memeforth


this project is maintained by @mdszy (initial idea and most implementation) and @bclindner (Mastodon bot version, lots of JavaScript advice)