Aspidites is the reference implementation of the Woma Language
Project description
Aspidites
The reference implementation of the Woma programming language compiler. There is also a genus of Python called Aspidites, latin for shield-bearer, that is this project's namesake.
Installing
PyPI
$ pip install Aspidites
Docker
$ docker pull rjdbcm/aspidites
Github
$ gh repo clone rjdbcm/Aspidites
Running
Pretty straightforward just use:
$ aspidites -h
Or with docker:
$ docker run -v $PWD:/usr/src/app rjdbcm/aspidites:v0.6.1 -h
Paradigms
refinement-type system
pragmatic
declarative
functional
constrained logic
Inspirations
Goals
- Ultra-smooth runtime exception handling with useful warnings.
- Demonic non-determinism, favors non-termination and type-negotiation (constraint satisfaction).
- Terseness that mixes keywords and symbolic operations in order to make code both concise and readable.
- Great for writing high-integrity code that works natively with CPython.
- Usable for general purpose or scientific computing.
Syntax
Lexicon
Working? | Symbol | Verbage | Example |
---|---|---|---|
✅ | -> |
respects | identifier -> constraining clauses |
✅ | <- |
imposes | identifier <- imposed clauses |
❌ | <@> |
loops | identifier <@> iterable container indent ... |
✅ | <*> |
return | <*> statement |
✅ | # |
pragma | # compiler directive |
Examples
(Greeter(name -> str)) procedure
<*>print('Greetings,', name)
Contributing
If you'd like to help with the Aspidites project as a developer check out the Issues page or fork and make a pull request. Now, for early woma adopters that do not wish to write any Python, reporting issues is always appreciated. If you'd like to help out financially, Aspidites' maintainer accepts Liberapay.
Copying
Information for Developers
Core Dependencies
Aspidites has 7 core dependencies. In general, dependencies are vendored unless they contain Python Extensions.
- Cython
- Pyrsistent
- PyParsing
- MyPy
- PyTest
- NumPy
- future
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for Aspidites-0.7.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3a980244201738919a5ff0f18b6671df3a43b36283e22b46df0acc368a63ff1 |
|
MD5 | 0101cbe2f835bb2d5fc9a7cbcd1a6857 |
|
BLAKE2b-256 | 53b6e0afffcdce47908fe8c11bfb4473fb05df9534dee34c04826abf891dce0a |