Asteroid
Asteroid is a modern, multi-paradigm programming language that supports first-class patterns. More details can be found at the website asteroid-lang.org. Documentation on Asteroid can be found at asteroid-lang.readthedocs.io.
New in Release 2.0.1
-
We now support the ASTEROIDPATH environment variable which is expected to have a colon seperated list of directories to search for user defined modules.
-
The logical operators 'and' and 'or' are now evaluated in short-circuit fashion.
-
Files loaded with the 'load' statement are now considered modules and work similarly to Python modules.
-
Added the 'toplevel' function which returns true if control is in the module originally loaded by the interpreter.
-
Added the match statement similar to the match statement in Python.
-
No longer supports type hierarchies for the primitive types. The functions in the 'type' module are now considered builtins. The 'type' module itself has been eliminated.
-
The Minimal Asteroid Debugger (MAD) replaces ADB in this release.
-
The shorthand conditional pattern can now be applied to arbitrary patterns. E.g. The pattern
(a,b,c):(%integer,%integer,%integer)constrains the triple
(a,b,c)to be a triple of integers. The above shorthand conditional pattern is equivalent to the conditional pattern,(a,b,c) if (a,b,c) is (%integer,%integer,%integer)
New in Release 1.1.4
-
Allows pattern constraint operator to map certain variables that a pattern matched to be bound into the current scope.
-
Supports a new OS module.
-
Supports iteration over tuple components
-
The
evalfunction has been extended to strings for the interpretation of Asteroid programs in those strings. -
Structures now support a
__str__member function that allows the user to specify a string representation of the structure. -
Updated user and reference guides.
-
Lots of bug fixes.
New in Release 1.1.3
-
Fixes a fatal bug on Windows regarding the
readlinefunctionality in Python 3.10. -
Fixes a bug with escaped double quotes in strings.
New in Release 1.1.2
-
An experimental implementation of an interactive debugger that supports debugging pattern matching and in particular, pattern matching with first-class patterns.
-
A Python API allowing the developer to call the Asteroid interpreter from within a Python program and also embed Python code in an Asteroid program.
-
Eliminated the
stridenotation in list comprehensions and replaced it with thestepnotation. -
Lots of bug fixes.
New in Release 1.0.0
-
Interpreter line-editing features similar to Python include interactive editing, history substitution and code completion on systems that support the GNU Readline library.
-
New object-based modules for system modules. For example the functions within the
iomodule are now accessed with the@operator,load system io. io @println "Hello, World!". -
In the absence of explicit return statements the last expression evaluated within a function body provides an implicit return value, e.g.,
function inc with i do i+1 end -
Lots of bug fixes!
Metadata
Release files for asteroid-lang 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| asteroid-lang-2.0.1.tar.gz | 60.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| asteroid_lang-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.4 kB
Release files / asteroid-lang-2.0.1.tar.gz
| Download URL | asteroid-lang-2.0.1.tar.gz |
|---|---|
| Size | 60.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
838e0318099a114237b5d4e8cbf1c661a6fe74bcf5536afee607dfbcfa33a42e
|
|
BLAKE2b-256 checksum How to use checksums |
b04ab2e6110b1dc3afc08e76d3ce7be9ac4d0b473e3374fe215348b78d96043a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|
Release files / asteroid_lang-2.0.1-py3-none-any.whl
| Download URL | asteroid_lang-2.0.1-py3-none-any.whl |
|---|---|
| Size | 68.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe3eabec3ef5ef5066601cdaa067885dc1ac892e92ae14f213e8dd98e55fdf86
|
|
BLAKE2b-256 checksum How to use checksums |
1bf0b211394f43e5a58ab33472f4d5607c0ca051179fcd721d97605afbc43736
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.1
|