Skip to content

ArgonLang/Argon

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
March 27, 2023 15:36
November 28, 2023 17:16
August 10, 2023 11:48
August 1, 2022 14:26

https://www.apache.org/licenses/LICENSE-2.0 Maintainability Rating Bugs Lines of Code

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.

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

If you are looking for examples, you can find them here: examples

A good way to start could also be to take a look at Argon's built-in modules here

🛠️ 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
  1. Clone the sources with git:
git clone https://github.com/ArgonLang/Argon
cd argon
  1. Build:
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 page.

  1. Install Visual Studio / Microsoft Build Tools.
  2. From Windows start menu, open Developer Command Prompt and go to the Argon root folder:
    cd %path_of_Argon_folder%
  1. 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 support for interactive mode.
  • Lack of most of the built-in functionality for basic DataType (e.g. bytes::find, bytestream::split, ...).
  • Garbage collector not enabled (currently the memory is managed only by the ARC).
  • Limited I/O support.
  • No multithreading support.
  • No debugging support.
  • Currently, all test cases are disabled and out of date.

🤝 Contributing

There is currently no guide available to contribute to the development, but if you are interested you can contribute in several ways:

  • Argon core (C++)
  • Argon builtins libraries (C++ / Argon)
  • Writing documentation

License

Argon is primarily distributed under the terms of the Apache License (Version 2.0).

See LICENSE