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 415e1a1ea9 update urls 4 weeks ago
dist rebuild dist 2 months ago
test add tests for OWNING 1 month ago
.gitignore ignore .vscode 2 months ago
DICTIONARY.md document OWNING 1 month ago
LICENSE Add LICENSE 2 months ago
README.md syntax fix 1 month ago
REFERENCE.md aight i think that's all the docs 2 months ago
dictionary.js implement OWNING 1 month ago
index.html Added Rollup 2 months ago
index.js LOOPY LOOP 2 months ago
memeforth.js implement reworked variable definition behavior 1 month ago
package-lock.json add mocha and expect.js 2 months ago
package.json update urls 4 weeks ago
rollup.config.js rebuild dist.js 2 months ago
stack.js add stack documentation 2 months ago

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)