Skip to main content

A lightweight, multi-threaded interpreter for the Sol programming language

Project description

Sol

LOGO python status License Language

Sol is an interpreted language with minimal functional paradigms built with Python, originally designed to handle async operations only, but has expanded to a full scripting language.

Why did I build Sol?

I originaly needed something fast, that handled async natively, and which had very few keywords. Then came my first prototype, which only supported async functions. Sol now supports everything a programming language should need: Functions, variables, I/O, etc.

What advantages does Sol have over other languages?

  • Native async, with no external libraries

  • Native networking, also with no external libraries

  • With very few keywords, it is the language with the least keywords

  • Easy to use standard libraries

  • Simple syntax, which goes a long way for automation, web scraping, scripting, math, etc.

Capabilities:

  • Native asynchronous functions

  • Native non-blocking IO

  • Native networking library

  • Support for structs

  • Some functional paradigms, bound by the pipe operator ">>", used for channeling async, async into I/O, etc.

  • A large collection of standard libraries (including standard web libraries)

How to install Sol?

pip install solpl

How to run a Sol script?

solpl FILENAME.sol

Example:

This demonstrates Sol's capabilities with async:

countDown(taskName, maxCount)
    for i -> 1 to maxCount
        _out -> taskName
    end
end

main()
    _out -> 111
    countDown(777, 4) >> _async
    countDown(999, 4) >> _async
    _out -> 222
end

License

This repository is licensed with Apache License 2.0, see the LICENSE file for more details

Link to PyPi package:

https://pypi.org/project/solpl/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solpl-2.5.1.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solpl-2.5.1-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file solpl-2.5.1.tar.gz.

File metadata

  • Download URL: solpl-2.5.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for solpl-2.5.1.tar.gz
Algorithm Hash digest
SHA256 b560c34f9020a6fda098e37eef4c3e31a18b6e570800f15a026490d17e6b0216
MD5 810f19a73c37d934cd1b5d84cb41c65a
BLAKE2b-256 8fc4f7a96d8eea7c8d40adac985468681c06296899c3b13a1b641b61770a55cc

See more details on using hashes here.

File details

Details for the file solpl-2.5.1-py3-none-any.whl.

File metadata

  • Download URL: solpl-2.5.1-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for solpl-2.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 608af7d1a7a7f449d1d3a4e1a053bbfd068c56d89c1174df1fa2788997be0104
MD5 044c9795ae870de3bbd6ca2a68aff47d
BLAKE2b-256 0d64aefe9b6fb21056ddd29522c6e04a19603cb52e4b20b5bd1f891a8760919c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page