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 8 months ago
dist rebuild dist 10 months ago
test add test for \n 8 months ago
.gitignore ignore .vscode 11 months ago
DICTIONARY.md add and document \n command 8 months ago
LICENSE Add LICENSE 11 months ago
README.md syntax fix 9 months ago
REFERENCE.md aight i think that's all the docs 10 months ago
dictionary.js add and document \n command 8 months ago
index.html Added Rollup 11 months ago
index.js LOOPY LOOP 10 months ago
memeforth.js implement reworked variable definition behavior 10 months ago
package-lock.json add mocha and expect.js 10 months ago
package.json update urls 9 months ago
rollup.config.js rebuild dist.js 10 months ago
stack.js add stack documentation 10 months 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)