https://github.com/argonlang/argon
  
  
    Argon programming language 
    https://github.com/argonlang/argon
  
argon argonlang cpp interpreter language programming-language scripting-language
        Last synced: 7 months ago 
        JSON representation
    
Argon programming language
- Host: GitHub
 - URL: https://github.com/argonlang/argon
 - Owner: ArgonLang
 - License: apache-2.0
 - Created: 2019-10-10T13:22:47.000Z (about 6 years ago)
 - Default Branch: master
 - Last Pushed: 2024-04-30T13:50:37.000Z (over 1 year ago)
 - Last Synced: 2024-05-02T01:42:00.888Z (over 1 year ago)
 - Topics: argon, argonlang, cpp, interpreter, language, programming-language, scripting-language
 - Language: C++
 - Homepage: https://www.arlang.io
 - Size: 2.65 MB
 - Stars: 38
 - Watchers: 4
 - Forks: 0
 - Open Issues: 0
 - 
            Metadata Files:
            
- Readme: README.md
 - Contributing: CONTRIBUTING.md
 - License: LICENSE
 
 
Awesome Lists containing this project
- awesome-programming-languages - Argon - Argon is an interpreted multi-paradigm dynamically typed programming language. Its syntax is mainly influenced by Python, Go and Rust. (Uncategorized / Uncategorized)
 
README
          
  
# The Argon Programming Language
This is the main repository for Argon language. It contains interpreter and builtins libraries.
# What's Argon
Argon is an interpreted multi-paradigm programming language. Its syntax is influenced by many modern languages and aims to be elegant, clean and simple to use. 
```js
import "enum"
import "io"
let NOBLE_GAS = ["Helium", "Neon", "Argon", "Krypton", "Xenon"]
var group_by_name_length = enum.group_by(len)
NOBLE_GAS
    |> group_by_name_length
    |> io.print
/* {6: [Helium], 4: [Neon], 5: [Argon, Xenon], 7: [Krypton]} */
```
# 🚀 Quick start
The wiki is under development, you can view the current version here: [wiki](https://www.arlang.io/docs/intro)
If you are looking for examples, you can find them here: [examples](https://github.com/ArgonLang/Argon/tree/master/example)
A good way to start could also be to take a look at Argon's built-in modules [here](https://github.com/ArgonLang/Argon/tree/master/arlib)
# 🛠️ Installing from source
| Platform / Architecture  | x86 | x86_64 | ARM | Apple silicon |
|--------------------------|-----|--------|-----|---------------|
| Windows (7, 8, 10, ...)  | ✓   | ✓      | ??? | ???           |
| Linux                    | ✓   | ✓      | ✓   | ???           |
| Mac OS                   | NA  | ✓      | NA  | ✓             |
The Argon build system uses a simple cmake file to build the interpreter.
## Building on Unix-like os
1. Make sure you have installed the following dependences:
  * cmake >= 3.7
  * g++ or clang++
  * GNU make
  * git
2. Clone the sources with git:
  ```sh
  git clone https://github.com/ArgonLang/Argon
  cd argon
  ```
  
3. Build:
  ```sh
  cmake .
  make
  ```
  
When completed, Argon and related libraries will placed in `bin/` directory.
N.B: At present there are no installation steps.
## Building on Windows
Building Argon on Windows environment requires Visual Studio, or the Microsoft Build Tools. 
You can download and install the tool of your choice from the [Microsoft Visual Studio](https://www.visualstudio.com/downloads/) page.
1. Install Visual Studio / Microsoft Build Tools.
2. From Windows start menu, open **Developer Command Prompt** and go to the Argon root folder:
```sh
    cd %path_of_Argon_folder%
```
3. Execute `build.bat` to start compilation.
If you preferred to install Visual Studio, you can import the CMake project directly into visual studio. 
To do this, open Visual Studio and press **continue without code** in the welcome window that opens before the IDE. 
From IDE menu, select File > Open > CMake... and open the CMakeLists.txt file, ignore the CMake Overview Page that might open 
and from the top bar select Argon.exe as start up item, select the configuration of interest (Debug / Release) and start the compilation 
through the play button(or press F5 key).
⚠️ Tested with Microsoft Visual Studio 2019.
# ‼️ Notes
Argon is under active development, so many features are not yet active or available, a list (certainly not exhaustive) of the missing features is the following:
* No debugging support.
* Currently, all test cases are disabled ~~and out of date~~.
# 🤝 Contributing
If you're interested, there are several ways you can contribute:
- **Argon Core**: Help develop the Argon core (C++).
- **Improving the Argon Standard Library**: Enhance the functionality of the [Argon Standard Library](https://github.com/argonlang/arlib).
- **Writing/Improving Documentation**: Contribute by writing or improving documentation.
- **Writing Examples**: Create examples to demonstrate Argon's capabilities.
- **Sharing and Promotion**: Spread the word about the project and make it more widely known.
For technical details, refer to the [contributing guidelines](CONTRIBUTING.md).
# License
Argon is primarily distributed under the terms of the Apache License (Version 2.0). 
See [LICENSE](LICENSE)