Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Introduction

Karyon is a free/libre open source (FLOSS) programming language for interactive use, scripting, and building small to large programs, that aims to be simple, powerful, and practical.

It includes a well-defined specification, a platform-agnostic implementation core, and an interpreter for various operating systems and environments.

Structure

Project layout:

  • interpreter/: Implementation of the language specification.
    • core/: Builds an embeddable library with the host-independent core of the implementation and host-dependent hooks.
    • javascript/: Builds a standalone executable to compile to JavaScript.
    • native/: Builds an embeddable library and a standalone executable to run natively (eg. on Windows).
    • x86-32/: Builds a Multiboot-compliant executable to run on an Intel x86 32-bit host.
  • library/: Standard library for the interpreter.
  • specification/: Language specification.

Installation

Dependencies

Common build targets:

Project layout-specific builds:

  • interpreter/:
    • core/:
      • compiler
      • librarian
    • native/:
      • compiler
      • linker

Compatibility

Host system:

  • Linux
  • macOS
  • Windows

Build tool:

Compiler:

Librarian:

Building

  1. Create a new empty directory to store the build artifacts, and change to it.
  2. Generate a build system using CMake (see file CMakeLists.txt for the minimum supported version). The following steps assume running it from the command line:
    • By default it will build the core library only, but it can also be configured to select other builds. To view options:
      $ cmake -LH path/to/sources
      
    • Otherwise, to use the default options:
      $ cmake path/to/sources
      
  3. Invoke the build tool:
    $ cmake --build .
    

About

Programming language research

Resources

License

Releases

No releases published
You can’t perform that action at this time.