Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/magayaga/xenly
The Xenly programming language
https://github.com/magayaga/xenly
Last synced: 18 days ago
JSON representation
The Xenly programming language
- Host: GitHub
- URL: https://github.com/magayaga/xenly
- Owner: Magayaga
- License: mit
- Created: 2023-11-25T05:26:29.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-01T13:41:29.000Z (25 days ago)
- Last Synced: 2025-01-01T14:28:31.341Z (25 days ago)
- Language: C
- Homepage: https://magayaga.github.io/xenly/
- Size: 12.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
Xenly programming language
Dense, multiverse, and the successor of the C programming language
**Xenly** (formerly known as **Xenon**) is a **free and open-source** compiled high-level, multi-paradigm, general-purpose programming language designed primarily for command-line interfaces, web servers, and applications. It was originally written in **C**, **Go**, and **Rust** programming languages.
Xenly programming language should be command-line interfaces, web servers, and desktop applications. It is static and dynamic typing, readability, usability, and flexibility.
![Introduction to Xenly](assets/xenly_introduction.gif)
## Major implementations
* [**Xenly**](https://github.com/magayaga/xenly) — Xenly can be an interpreter and package manager.
* [**XVM**](https://github.com/magayaga/xvm) — Xenly can be a virtual machine because the source code is into the bytecode like a class-based programming language.
* [**Xenlyc**](https://github.com/magayaga/xenlyc) — Xenly can be a compiler and package manager. It is the compiler front end for the Xenly programming language.
* [**XenlyXI**](https://github.com/magayaga/xenlyxi) — Xenly can be an interpreter.## Examples
### Hello, World! program
The following shows how a **"Hello, World!"** program is written in Xenly programming language:* `print` (v0.1.0-preview0 - v0.1.0-preview8)
```swift
// “Hello, World!” program
print("Hello, World!")
```* `nota` (v0.1.0-preview9 - present). `nota` is the Latin word for **"print"** and **"note"**.
```swift
// “Hello, World!” program
nota("Hello, World!")
```A **Xenly** variable is created the moment you first assign a value to it.
```swift
// "var" variable to nota()
var hi = "Hello, World!"
nota(hi)
```I know all high-level programming languages like **Python**, **Ruby**, **Lua**, and **Julia** were initially written in C programming language.
The following shows how a **"Hello, World!"** program is written in [Hyzero](https://github.com/magayaga/Hyzero) programming language:
```python
# “Hello, World!” program
write("Hello, World!")
```Here is the Hyzero programming language that was initially written in Python programming language like interpreter, high-level, and functional.
## Getting Started
### 1. Download the Xenly's source code
You can download the git clone of the `xenly` programming language. It is the available for the **Windows** and **Linux** operating systems.
```bash
# Download the Xenly's source code
$ git clone https://github.com/xenly
$ xenly
```### 2. Install the Xenly's source code
You can run the program `makefile` for Linux, `make.bat` for Windows, and `main.sh` for both Windows and Linux.
```bash
# Run the program (makefile, bash script, or batchfile)
$ make
$ bash main.sh
$ ./make.bat# Run the binary code
$ ./xenly
```### 3. Set the Library paths (Linux)
Make sure the shared library path is correctly set so that the system can find the libraries. Set the `LD_LIBRARY_PATH` environment variable to include the directory containing libraries (`math.so`, `graphics.so`, and more).
```bash
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
```### 4. Check permissions and paths (Linux)
Ensure that the libraries has the correct permissions and is in the directory where `xenly` expects to find it. Ensure the library is readable and executable:
```bash
$ chmod +rx
```For example,
```bash
$ chmod +rx math.so
```Confirm that `math.so` is in the same directory as xenly or in a directory listed in `LD_LIBRARY_PATH`.
### 5. Testing programs
```bash
# Xenly's version information
./xenly -v# Running xenly's examples
./xenly examples/print/main.xe
```## Source Code Organization
The Xenly source code is organized as follows:
| Directory | Contents |
|:----------------------------:|:-----------------------------------------------------------:|
| `assets/` | Types of files for the Xenly programming language |
| `doc/` | Documentation for the Xenly programming language |
| `docs/` | Official website for the Xenly programming language |
| `examples/` | Example code for the Xenly programming language |
| `src/` | Source code for the Xenly programming language |If you are new to the **Xenly**, you may want to check out these additional resources.
* [Official website of Xenly (Getting Started)](https://magayaga.github.io/xenly/get-xenly.html)
* [Documentation of Xenly (Getting Started)](doc/getting-started.md)## Copyright
Copyright (c) 2023-2025 [Cyril John Magayaga](https://github.com/magayaga). All rights reserved.
Licensed under the [MIT](LICENSE) license.