Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nthnn/n8

Just-In-Time-compiled dynamic general-purpose programming language utilizing OpenMP parallelism with built-in & language-level concurrency and unconventional syntax expressiveness.
https://github.com/nthnn/n8

concurrency concurrent-programming dynamic-programming general-purpose language openmp-applications openmp-parallelization programming-language scripting-language

Last synced: about 2 months ago
JSON representation

Just-In-Time-compiled dynamic general-purpose programming language utilizing OpenMP parallelism with built-in & language-level concurrency and unconventional syntax expressiveness.

Awesome Lists containing this project

README

        




N8 Programming Language


Build CI for Linux
Build CI for Darwin
Build CI for Windows
Build CI for WebAssembly
VSCode Extension Build

JIT-compiled dynamic general-purpose programming language utilizing OpenMP parallelism with built-in concurrency and unconventional expressiveness.



```n8
#!/bin/n8

val count = 99;

while(count > 0) {
val bottle = if(count == 1) "bottle" else "bottles";

render! count + " " + bottle + " of beer on the wall";
render! count + " " + bottle + " of beer,";
render! "Take one down, pass it around,";

count = count - 1;

if(count > 0)
render! count + " " + bottle + " of the beer on the wall.\r\n"
else render! "\r\nNo more " + bottle + " of beer on the wall.";
};
```

> [!WARNING]
> This repository is under a slow development. (Busy on my job)

## Why N8?

- Direct mathematical operations for vectors and/or arrays.
- Syntax-level concurrency and multithreading.
- Language expressiveness with unconventional grammars.
- Easy foreign-function interfacing for native interoperability.
- Simplified ecosystem and project structuing.

## Use Cases

- **High-performance Scientific Computing**

N8's ability to perform direct mathematical operations on vectors and arrays makes it ideal for scientific computing applications such as simulations, data analysis, and mathematical modeling. Its concurrency support ensures that heavy computational tasks can run efficiently on multi-core CPUs.

- **Data Pipelines and ETL (Extract, Transform, Load)**

With the N8's expressiveness, it can be used to build efficient data pipelines for ETL processes in big data applications. Its support for complex data structures and built-in concurrency enables scalable, high-throughput data processing, making it ideal for tasks like data aggregation, transformation, and loading in distributed systems.

- **Machine Learning Model Prototyping**

N8 is ideal for Machine Learning and AI due to its efficient mathematical operations, built-in concurrency, flexible syntax, seamless integration with native libraries, and a simplified project structure, enabling rapid development and optimization of advanced algorithms and applications.

- **Game Development**

Language's native support for concurrency and vector operations is perfect for game engines that require real-time physics simulations, AI processing, and rendering pipelines. Developers can also easily interface with native libraries for advanced graphical rendering or sound processing.

## Contribution and Feedback

Contributions and feedback are all welcome to enhance this library. If you encounter any issues, have suggestions for improvements, or would like to contribute code, please do so.

## License

N8 is distributed under the GNU General Public License v3.0. For further details, refer to the LICENSE file.

```
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .
```