Skip to content
Hybrid textual and visual functional programming.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci Prevent CI running twice on Pull Requests (#395) Apr 10, 2019
.github Update issue templates Apr 18, 2019
config Package Build Script (#380) Mar 26, 2019
debug Datafile Detection (#359) Feb 22, 2019
doc Add philosophy doc, fix issue templates. Apr 11, 2019
lib Rewrite operators precedence engine (#396) Apr 18, 2019
package Expose package specific environment variables (#394) Apr 16, 2019
runtime Datafile Detection (#359) Feb 22, 2019
shell Cli exit failure (#397) Apr 17, 2019
stdlib Snippets files (#402) Apr 18, 2019
syntax/text Rewrite operators precedence engine (#396) Apr 18, 2019
.gitignore Merge luna-core into luna. Aug 10, 2018
.hlint.yaml Three region partition (#69) Jun 5, 2018
.stylish-haskell.yaml New parser (#282) Sep 20, 2018 Changed unreplaced reference to Rust in CoC (#94) Jul 12, 2018
LICENSE Update and (#392) Apr 10, 2019
build_package.hs Package Build Script (#380) Mar 26, 2019
luna-package.yaml Workflow2.0 -- building Luna Packages (#47) Oct 25, 2017

Build Status

Luna Programming Language

Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics.

Luna is a developer’s whiteboard on steroids. Design, prototype, develop and refactor any application simply by connecting visual elements together. Collaborate with co-workers, interactively fine tune parameters, inspect the results and visually profile the performance in real-time.

Visit The Luna Website to learn more!

This repository contains the Luna compiler core and its command line version. For the full (visual) Luna Studio, please take a look at the Luna Studio repository. For installation and management tools, there is Luna Manager.

Contributing to Luna

If you are interested in contributing to the development of Luna, please read the file. It describes all the ways in which you can help the project, as well as provides instructions for how to build Luna.

Luna's Design

If you would like to gain a better understanding of the principles on which Luna is based, or just delve into the why's and what's of Luna's design, please take a look in the doc/design/ folder.

This documentation will evolve as Luna does, both to help newcomers to the project understand the reasoning behind the code, but also to act as a record of the decisions that have been made through Luna's evolution.


This repository is licensed under the Apache 2.0, as specified in the LICENSE file.

Please be aware that, as the commercial backing for Luna, New Byte Order Sp. z o. o. reserves the right under the CLA to use contributions made to this repository as part of commercially available Luna products.

If these terms are unacceptable to you, please do not contribute to the repository.

The Contributor License Agreement

As part of your first contribution to this repository, you need to accept the Contributor License Agreement. You will automatically be asked to sign the CLA when you make your first pull request.

Any work intentionally submitted for inclusion in Luna shall be licensed under this CLA.

The CLA you sign applies to all repositories associated with the Luna project (Luna, Luna Studio, etc), so you will only have to sign it once at the start of your contributions.

You can’t perform that action at this time.