This is a plugin for the Flipper Zero that ports pForth.
Once started the plugin will add a forth command to the CLI that can be used to call up a basic forth shell.
Calling the forth command with a file path as parameter will cause that file to be executed as a forth script. Examples are provided under forth_scripts.
To use one of the provided scripts (for example notif_success.fth), copy it to your SD card. Then run the plugin and execute forth /ext/<path to your file> (for example forth /ext/notif_success.fth) on the CLI.
Cyber is a new language for fast, efficient, and concurrent scripting. Easy to learn. Dynamic and gradual types. Concurrency with fibers. Multithreaded. Memory safe. FFI and Embeddable. Cyber wants to provide fast and delightful scripting. You can embed Cyber into your applications, games, and engines on desktop or the web. Cyber also comes with a CLI so you can do scripting on your computer. Aims toward memory safety.
NOTE: Cyber is currently at (v0.1) and is unstable. Multithread features are still in the design phase.
Github: https://github.com/fubark/cyber
Rexx is a versatile programming language that combines ease of use with power. Runs on nearly all platforms. Tries to strike a balance between the ease of BASIC but the power of other languages. Has OO and Java-compatible variants. Can be used as an embedded scripting language.
The Forth Interest Group (FIG) was a world-wide, non-profit organization for education in and the promotion of the Forth computer language. This website offers an on-line literature database, programming tools, reference works, public-domain and experimental implementations of the Forth programming language for various platforms, technical conferences, and connections to other Forth resources.
Although FIG as an organization has dissolved, this website will continue to reflect the on-going interest in Forth.
A simple interactive BASIC interpreter written in Python 3. It is based heavily on material in the excellent book Writing Interpreters and Compilers for the Raspberry Pi Using Python by Anthony J. Dos Reis. However, I have had to adapt the Python interpreter presented in the book, both to work with the BASIC programming language and to produce an interactive command line interface. The interpreter therefore adopts the key techniques for interpreter and compiler writing, the use of a lexical analysis stage followed by a recursive descent parser which implements the context free grammar representing the target programming language.
The interpreter is a homage to the home computers of the early 1980s, and when executed, presents an interactive prompt ('>') typical of such a home computer. Commands to run, list, save and load BASIC programs can be entered at the prompt as well as program statements themselves.
The BASIC dialect that has been implemented is slightly simplified, and naturally avoids machine specific instructions, such as those concerned with sound and graphics for example.
miniforth is a real mode FORTH that fits in an MBR boot sector. The following standard words are available:
+ - ! @ c! c@ dup drop swap emit u. >r r> [ ] : ; load
Additionally, there is one non-standard word. s: ( buf -- buf+len )
will copy the rest of the current input buffer to buf, and terminate it with a null byte. The address of said null byte will be pushed onto the stack. This is designed for saving the code being ran to later put it in a disk block, when no block editor is available yet.
The dictionary is case-sensitive. If a word is not found, it is converted into a number with no error checking. For example, g results in the decimal 16, extending the 0123456789abcdef of hexadecimal. On boot, the number base is set to hexadecimal.
Backspace works, but doesn't erase the input with spaces, so until you write something else, the screen will look a bit weird.
See the blogpost, Fitting a FORTH in 512 bytes, for my motivation for writing this and the details of the code.
A directory of version managers - things that make it easier to run multiple versions of a language (like Ruby or Swift) on the same machine separately.
A port of Google's language detection library from Java to Python.
PolyGlot is a tool that is designed to help in the design, creation, and publication of constructed languages. Lexicon builder, grammar constructor, search, orthography, parts of speech, document generation, custom fonts, logographics.
Postlight's Awesome CMS is a collection of open and closed source Content Management Systems (CMS) for your perusal.
A curated list of lists of awesome things.
An AI assisted online translation service, positioned as an alternative and rival to Google Translate. Translate text online, from a desktop application, or using their API (which has a separate billing plan - $5.56 per month, plus 1 cent per 500 characters). Supports 72 possible pairs of languages, with more being added. The basic account is about $10us per month (annual subscriptions are somewhat less per month, aggregate).
Transformers (formerly known as pytorch-transformers and pytorch-pretrained-bert) provides state-of-the-art general-purpose architectures (BERT, GPT-2, RoBERTa, XLM, DistilBert, XLNet, CTRL...) for Natural Language Understanding (NLU) and Natural Language Generation (NLG) with over 32+ pretrained models in 100+ languages and deep interoperability between TensorFlow 2.0 and PyTorch.
The world’s largest aggregator of electronic books and articles, a non-profit offering over 3 million ebooks and audiobooks to read online or download. The World Library Foundation is a global coordinated effort to preserve and disseminate digital copies of historical books, classic works of literature, serials, bibliographies, dictionaries and encyclopedias in a number of languages and countries around the world. $8.95/yr.
A F/OSS natural language translation system that seems to want to give Google Translate a run for its money. The corpuses used for training appear to be crowdsourced, and I think you can download the trained models on their own. Aims to be self-hosted.
Github: https://github.com/apertium
Installation docs: http://wiki.apertium.org/wiki/Installation
spaCy is a library for advanced Natural Language Processing in Python and Cython. It's built on the very latest research, and was designed from day one to be used in real products. spaCy comes with pre-trained statistical models and word vectors, and currently supports tokenization for 45+ languages. It features the fastest syntactic parser in the world, convolutional neural network models for tagging, parsing and named entity recognition and easy deep learning integration. It's commercial open-source software, released under the MIT license.
A curated list of the most popular libraries and applications for many different languages and fields.
In this book we will create a programming language together.
We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language.
Step by step. From tokens to output. All code shown and included. Fully tested.
An online collection of 101 level tours of programming languages. If you have to get up to speed in a hurry, you might find something useful in here. Has overviews of common tools, also!