An experimental programming
combines modern research in programming languages and artificial
intelligence. Typed, purely functional concatenative code for
scripting the web — and others! With deep learning!
Magic Word is a collection of compilers and services written in F# and targeting the web platform. The common theme is ABC, a purely functional bytecode designed for livecoding and program synthesis.
dotnet build at the top-level will build all projects. At the moment
Magic Word is vaporware, but some time real soon,
dotnet run --project ./src/MagicWord.Wiki will start the wiki, which will walk
you through further configuration and usage.
magic-word.sln is a .NET solution containing a number of projects:
MagicWord.Functions provides evaluators for the purely functional
bytecode, known as ABC, that powers the Magic Word project. Its unique
feature is its rewriting semantics, that allows programs to be
paused, migrated, and resumed at arbitrary points during execution.
The Magic Word project takes the view that programming language theory
should embrace techniques based on statistics as well as
MagicWord.Bots implements neural language models trained on
selected corpuses of ABC code. These models are used for program
synthesis, taking inspiration from several recent developments in
machine learning, such as Language Models are Unsupervised Multitask
and Neural Program Synthesis with Priority Queue
MagicWord.Wiki implements a web server that allows collaborative
community development of ABC programs.
MagicWord.Media implements conversions between ABC and various
multimedia formats: audio, images, video and so on. A typical example
is a function from infinite, continuous two dimensional space to some
color space being interpreted as an image (e.g.
R^2 -> R^4).
Documentation created with mdBook is available on GitHub Pages.
Magic Word is available under the terms of the GNU Affero General
Public License, version 3; see the
LICENSE file for details.