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

README.md

Liberapay Badge

memeforth

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

yeet DNS SUREHOPE HARDWORK

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

features

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

maintainers

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