Skip to main content

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 eval function 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 readline functionality 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 stride notation in list comprehensions and replaced it with the step notation.

  • 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 io module 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)

Source distribution for asteroid-lang 2.0.1
File Size Uploaded
asteroid-lang-2.0.1.tar.gz 60.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asteroid-lang 2.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

2.0.2

1 release file

This release

2.0.1 This release

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.0.0

2 release files

0.1.0

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page