A lightweight, multi-threaded interpreter for the Sol programming language
Project description
Sol
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:
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file solpl-2.5.6.tar.gz.
File metadata
- Download URL: solpl-2.5.6.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
665c6a42a8ca1e2f7b53f681a067ec93d99df4db2b896e398f20e050781d0677
|
|
| MD5 |
e6c12ecb8f223320383e9bc5838e8b60
|
|
| BLAKE2b-256 |
27526c980936453c7128ada9dd718d8f3e1c0af2eecc73f92861acb5f79fe23d
|
File details
Details for the file solpl-2.5.6-py3-none-any.whl.
File metadata
- Download URL: solpl-2.5.6-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e04cd1e23b475bf8ee09fbdf4e34204c26c0fb730cbe480a38963385f8df7459
|
|
| MD5 |
ea10b434e101cef10f2756756f2f2232
|
|
| BLAKE2b-256 |
7e7565910defedcff32be80837050028bbcc84ef388dc63e6a89f60f1c75fcf5
|