Inerska / plume

Plume is a lightweight programming language that aims to be portable, powerful and easy to learn.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


The Plume Programming Language

A programming language that promotes functional programming for everyone.

Explore the docs »

Report Bug . Request Feature

Downloads Contributors Issues License

Table Of Contents

About The Project

Plume is a programming language that aims to be as simple as existing languages like Python. It has a great learning curve, permitting users either to perform simple tasks or to accomplish large projects.

Its syntax has been designed to be non-aggressive and free, resulting in a pleasant-to-use and very extensible language. Plume supports some very cool features such as:

  • Powerful data structures enabled with ADTs to let you take serious advantage of the language type system
  • Extension system, allowing you to define generalized behaviors for your types
  • Strict type system, letting you to serenely compile your programs without worrying about runtime errors
  • Safe standard library to avoid basic but hard-to-find bugs
  • Macro system to expand actual syntax and to avoid unnecessary function calls

These are some of the language features available with Plume. But it stills have other interesting properties to offer to you like platform-independent code or binary (because it either runs on a virtual machine or compiles down to WASM), great runtime performances and so on..

Built With

Plume has been built using Haskell and some specific libraries

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

You need to install these dependencies in order to compile and run Plume.

You could alternatively have installed GHCup which is an universal dependency manager for Haskell based tools.

Installation

  1. Clone the repo
git clone https://github.com/sisypheus-dev/plume-language.git
  1. Update fetched Cabal packages
cabal update
  1. Install or run Plume
cabal install # or cabal run in order just to run it

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  • If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
  • Please make sure you check your spelling and grammar.
  • Create individual PR for each suggestion.
  • Please also read through the Code Of Conduct before posting your first idea as well.

Creating A Pull Request

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Authors

  • Sisypheus - Programming language designer - Sisypheus - Built most of the language

About

Plume is a lightweight programming language that aims to be portable, powerful and easy to learn.

License:MIT License


Languages

Language:Haskell 87.3%Language:C 6.9%Language:Java 3.6%Language:Python 1.8%Language:Shell 0.1%Language:JavaScript 0.1%Language:Lua 0.1%Language:Rust 0.1%