A Forth-based FaaS platform. Typed, purely functional concatenative code for scripting the web β€” and others! With deep learning! πŸš€
Branch: master
Clone or download
xkapastel Rebrand as Magic Word.
I'm probably going to add projectional editors like Awelon, so
there'll be more languages than just Forth. "Word" still carries some
of the Forth connotation.
Latest commit 6577efd Feb 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Rebrand as Magic Word. Feb 23, 2019
.gitignore Unbreak REPL, ignore bin. Feb 8, 2019
LICENSE Add a LICENSE file. Jan 3, 2019
README.md Rebrand as Magic Word. Feb 23, 2019
magic-word.sln Rebrand as Magic Word. Feb 23, 2019

README.md

Magic Word

A Forth-based FaaS platform. Typed, purely functional concatenative code for scripting the web β€” and others! With deep learning! πŸš€

Table of contents

About

Magic Word is a function-as-a-service (FaaS) platform where users collaboratively write code that executes in a server-side container.

Magic Word uses a minimalist, purely functional dialect of Forth known as ABC.

Roadmap

My vision for Magic Word is something similar to Glitch and IFTTT: a way for small groups of developers to collaborate on a running program, with an emphasis on integration with web services and generation of audiovisual content.

I'd like to use Magic Word to explore a number of experimental ideas in programming languages and machine learning:

Recreate results from Neural Program Synthesis with Priority Queue Training

Character and word based neural language models achieve good results and are now commonplace. The word-at-a-time model seems to be a natural fit for Forth, and I'd like to generate Forth code with these techniques.

Programming on a mobile device

Smartphones have been around for many years now but they're still not good environments for writing code. I have some ideas about this that I'd like to try out, in particular: programming on a mobile device should not feel like "writing code", it should feel more like googling for a function. Consider SmartSynth: Synthesizing Smartphone Automation Scripts from Natural Language.

Recreate graphics/audio programming model from IBNIZ

I like the idea of interpreting a function as a map from time to sample intensity, or a map from 2D space to color space; these seem like really simple audio/graphics APIs that can rival e.g. Processing for functional code.

License

Magic Word is available under the terms of the GNU Affero General Public License, version 3; see the LICENSE file for details.