Giter Club home page Giter Club logo

rye's Introduction

rye ๐ŸŒพ

An experimental programming language, looking into some new and many borrowed language ideas with interpreter in Go. โš 

hello: fn { a } { "Hello" +_ a + "!" }
print hello "world"
// outputs: Hello world!

data: { name "Jim" age 33 }
code: { hello data/name }
if true code
// outputs: Hello Jim!

Examples and more info

A blog following development.

The language introduction documents are work in progress.

There is also a simple website being made.

There is also a very small FB group you can join.

Platforms

Currently, tested on Linux, Mac and Docker.

Builds the rye interpreter

go get -v github.com/pkg/profile \
  github.com/yhirose/go-peg \
  github.com/mattn/go-sqlite3
 
go build

# Executable
./rye 

Builds the rye interpreter with all current builtins

You can leave just the tags and install just the bindings you want.

go get -v github.com/pkg/profile \
  github.com/yhirose/go-peg \
  github.com/labstack/echo/middleware \
  github.com/labstack/echo-contrib/session \
  github.com/gotk3/gotk3/gtk \
  github.com/lib/pq \
  github.com/mattn/go-sqlite3 \
  github.com/nats-io/nats.go \
  github.com/shirou/gopsutil/mem \
  github.com/tobgu/qframe

go build -tags "b_echo b_gtk b_psql b_nats b_psutil b_qframe" -o ryefull

# Executable
./ryefull 

Docker image

The repository comes with Docker image that is capable of building rye in its full, the final step however then just wraps executable so that the image remains small and nimble.

docker build -t refaktor/rye -f .docker/Dockerfile .

Run ๐Ÿƒโ€โ™‚๏ธ the rye REPL with:

docker run -ti refaktor/rye

OSX tips

Ryefull relies on GTK3. So make sure your machine has it.

brew install pkg-config gtk+3 adwaita-icon-theme

More instructions here.

Author

Resources and contact

rye's People

Contributors

jankom avatar otobrglez avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.