Skip to content

Latest commit

 

History

History
132 lines (106 loc) · 8.58 KB

README.md

File metadata and controls

132 lines (106 loc) · 8.58 KB

Gwion

Language grade: C/C++ CII Best Practices Coverage Line Count

All Contributors

Linux MacOs Windows

Gwion is a programming language, aimed at making music

strongly inspired by chuck, but adding a bunch high-level features:
templating, first-class functions and more.

It aims to be simple, small, fast, extendable and embeddable.

Build

Download the source

You might just want the minimum to start with, try

git clone https://github.com/fennecdjay/Gwion
cd Gwion
git submodule update --init util ast
make

Configuring (optionnal)

You can get a list of config files to tweak with

find . -name "config.mk"

Please rebuild to take your change into account.

make -C util clean
make -C ast  clean
make clean
make

Besides develloper options, you migth want to check USE_DOUBLE, in util/config.mk, which set the floating point size (float or double).

Executing your first code (hello_world.gw):

This assumes you have successfully compiled gwion. To build follow these steps . To check, if the build was successfully run

./gwion

if this gives out some error, there were problems with your compilation. Try building again, and open a issue if the problem persists. We would love to help you out.
If you see no errors, Congratulations!! You have successfully compiled gwion, and can move ahead.

Create a new file "hello_world.gw" in the same directory.(You are free to use any command)

touch hello_world.gw

Open this file using your favourite text editor

vim hello_world.gw

Add the following lines to print "Hello World" (Note the semicolon at the end)

<<< "Hello World" >>>;

Save and exit the file(:wq in vim). Use the following command to run your first gwion program

./gwion hello_world.gw

Congratulations!! You ran your first gwion program.

Installation

It's a good idea to install Gwion now that you have tried it out. Use the following command to install it

sudo make install

You want to know more? 😄 Look here Both outdated and WIP 👷 but a nice place to learn and contribute

Reporting bugs / Contributing

👍 Every helping hand is welcome!!! 👍

If there's anything you see that can make Gwion better, please let us know!

📖 Please see the contributing page for more information.

Acknowledgements.

The whole Chuck team, for inspiration.
Paul Batchelor and the awesome soundpipe library, that got me started.

Contributors

Thanks goes to these wonderful people (emoji key):


Paul Batchelor

💬 🐛 💻 🤔

Benny

💬 🐛 💻

Andrew Prentice

💬 🐛 💻 🤔

aleserche

💻

Pranav Joglekar

📓 📖

Amber

💬 📖 🤔

Chase

💻

Nithin Pankaj

💻

Enrico Gruner

💻

Muhammad Umer Farooq

💻

Harsh Jain

📖

This project follows the all-contributors specification. Contributions of any kind welcome!

NOTE: if you should be on the list of contributors but we forgot you, don't be shy and let us know!