All Projects → ghost-language → ghost

ghost-language / ghost

Licence: MIT license
The Ghost Programming Language

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to ghost

luf
Statically typed, embeddable, scripting language written in Zig.
Stars: ✭ 26 (-39.53%)
Mutual labels:  embeddable, embeddable-scripting-language
gsc
embeddable (game) scripting language in C
Stars: ✭ 25 (-41.86%)
Mutual labels:  embeddable
http
Tiny, embeddable HTTP client with simple API for the browser
Stars: ✭ 21 (-51.16%)
Mutual labels:  embeddable
Prometheus
🌈 A Clean And Modern Ghost Theme with Progressive Web Apps (PWA)
Stars: ✭ 94 (+118.6%)
Mutual labels:  ghost
Edge
A visually aesthetic portfolio theme for Ghost
Stars: ✭ 61 (+41.86%)
Mutual labels:  ghost
remoting
Jetlang Remoting - asynchronous distributed messaging
Stars: ✭ 27 (-37.21%)
Mutual labels:  embeddable
Public
The game is about a group of "terrorists" who have traitors among them, out to kill everyone who's not a traitor.
Stars: ✭ 94 (+118.6%)
Mutual labels:  ghost
gatsby-london-after-midnight
A free, open source, image-concentric starter for GatsbyJS
Stars: ✭ 37 (-13.95%)
Mutual labels:  ghost
nullc
Fast C-like programming language with advanced features
Stars: ✭ 140 (+225.58%)
Mutual labels:  embeddable
dreamy-db
🔥 Dreamy-db - A Powerful database for storing, accessing, and managing multiple database.
Stars: ✭ 25 (-41.86%)
Mutual labels:  embeddable
heidi
A port of Mark Otto's Hyde theme to Ghost
Stars: ✭ 34 (-20.93%)
Mutual labels:  ghost
nuxt-ghost
Easy Ghost content API integration with Nuxt.js.
Stars: ✭ 27 (-37.21%)
Mutual labels:  ghost
donnie-dark
Donnie Dark is dark, responsive, customizable theme for Ghost 0.5+ blogs. Name of the theme is hats-off for a great movie.
Stars: ✭ 20 (-53.49%)
Mutual labels:  ghost
ghost-matery
这是一个漂亮、简洁、响应式并采用Material Design设计的Ghost博客主题,当然ghost-matery2更好。
Stars: ✭ 58 (+34.88%)
Mutual labels:  ghost
starter
A clean theme for Ghost blog
Stars: ✭ 26 (-39.53%)
Mutual labels:  ghost
Wave
A podcast/blog theme for Ghost
Stars: ✭ 60 (+39.53%)
Mutual labels:  ghost
aesto
Free Ghost theme with membership support. Minimal content focused design with multi author supported.
Stars: ✭ 31 (-27.91%)
Mutual labels:  ghost
huginn
Programming language with no quirks, so simple every child can master it.
Stars: ✭ 41 (-4.65%)
Mutual labels:  embeddable
whisper
Whisper Ghost Theme
Stars: ✭ 47 (+9.3%)
Mutual labels:  ghost
Edition
The newsletter theme for Ghost
Stars: ✭ 60 (+39.53%)
Mutual labels:  ghost

The Ghost Programming Language

Test

Ghost is a small, object-oriented, embeddable toy scripting language. While object-oriented, Ghost also supports procedural and functional programming styles as well.

Ghost is dynamically typed, runs by a tree-walking interpreter, and has automatic memory management thanks to its implementation through the Go programming language.

Status

Currently in beta, vetting out the language and seeing how it feels writing/running. Major changes are still possible at this stage.

Documentation

You will find robust, user friendly, and updated documentation on our website.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Installation

Brew

If you're on mac, you may use homebrew:

$ brew tap ghost-language/ghost
$ brew install ghost-language/ghost/ghost

Go Install

If you have Go installed, you may use go install:

go install ghostlang.org/x/ghost

Direct Download

You may download the compiled binaries for your platform from our GitHub releases page.

Development

  • To build and execute Ghost, run make.
  • To build Ghost, run make build.
  • To execute tests, run make test.
$  git clone [email protected]:ghost-language/ghost.git
$  cd ghost
$  make
   Ghost (x.x)
   Press Ctrl + C to exit

>>

CLI

You can execute code written in Ghost in various ways using the CLI.

REPL

Ghost includes a simple REPL to write and execute Ghost code directly in your terminal. To enter the REPL environment, run ghost on its own:

$  ghost
   Ghost (x.x)
   Press Ctrl + C to exit

>>

Executing Files

To execute a Ghost source file (.ghost), pass either the relative or absolute path of the file to ghost. The source file will be executed and then exit back to the terminal.

$  ghost examples/fibtc.ghost
   9227465
$

Interactive Mode

Interactive mode allows you to execute a Ghost source file, and then immediately jump into a REPL session with the state of the source file still intact. To enter interactive mode, pass the -i flag to ghost.

$  ghost -i examples/fibtc.ghost
   (executed in: 350.374µs)
>> x
   9227465
>>

Releasing

Ghost is hosted and distributed through GitHub. We utilize GoReleaser to automate the release process. GoReleaser will build all the necessary binaries, publish the release and publish the brew tap formula. The following steps outline the process for maintainers of Ghost:

  1. Ensure you have a GitHub token with repo access saved to your environment:
export GITHUB_TOKEN="YOUR_GH_TOKEN"
  1. Ensure the internal version reference is updated:

    // version/version.go
    
    var (
       Version = "x.y.z"
    )
  2. Create a new tag:

$ git tag -a vx.y.z -m "Release description"
$ git push origin vx.y.z
  1. Run GoReleaser:
$ goreleaser

Credits

License

Ghost is open-sourced software licensed under the MIT license. See the LICENSE file for complete details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].