All Projects → fergusq → roda

fergusq / roda

Licence: GPL-3.0 license
Röda: A stream-oriented scripting language

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to roda

EightBall
The Eight Bit Algorithmic Language for Apple II, Commodore 64 and VIC20
Stars: ✭ 17 (-60.47%)
Mutual labels:  interpreter
ciao
Ciao is a modern Prolog implementation that builds up from a logic-based simple kernel designed to be portable, extensible, and modular.
Stars: ✭ 190 (+341.86%)
Mutual labels:  interpreter
chip8
CHIP-8 Emulator in Rust
Stars: ✭ 12 (-72.09%)
Mutual labels:  interpreter
basic
📺 A from-scratch BASIC interpreter with a focus on being easy to extend and port.
Stars: ✭ 66 (+53.49%)
Mutual labels:  interpreter
picol
(Fossil repository mirror) A tiny interpreter
Stars: ✭ 19 (-55.81%)
Mutual labels:  interpreter
Laythe
A gradually typed language originally based on the crafting interpreters series
Stars: ✭ 58 (+34.88%)
Mutual labels:  interpreter
avaloni
Interpreter of the Avalon programming language.
Stars: ✭ 14 (-67.44%)
Mutual labels:  interpreter
lunatic
lunatic: a toy lua interpreter
Stars: ✭ 16 (-62.79%)
Mutual labels:  interpreter
ME
A DSL for macro expansion ,in order to help framework develop
Stars: ✭ 24 (-44.19%)
Mutual labels:  interpreter
bfpile
Optimizing Brainfuck compiler, transpiler and interpreter
Stars: ✭ 19 (-55.81%)
Mutual labels:  interpreter
Juka
🥣 Juka Programming Language - Fast Portable Programming Language. Run code anywhere without complicated installations and admin rights. Simple, yet powerful new programming language [Easy to code and run on any system] IOT devices supported!
Stars: ✭ 68 (+58.14%)
Mutual labels:  interpreter
graflow
A graph stream library for Javascript
Stars: ✭ 53 (+23.26%)
Mutual labels:  data-flow
Script
Script is an object-oriented interpreted programming language. Being migrated to CppUtils
Stars: ✭ 18 (-58.14%)
Mutual labels:  interpreter
pocketlang
A lightweight, fast embeddable scripting language.
Stars: ✭ 1,412 (+3183.72%)
Mutual labels:  interpreter
Tiny-Basic
A tiny and basic TINY-BASIC interpreter
Stars: ✭ 33 (-23.26%)
Mutual labels:  interpreter
iris
The interpreter of ISLisp
Stars: ✭ 58 (+34.88%)
Mutual labels:  interpreter
charm
A [ functional stack ] based language.
Stars: ✭ 26 (-39.53%)
Mutual labels:  interpreter
foolang
A toy programming language.
Stars: ✭ 33 (-23.26%)
Mutual labels:  interpreter
monkey-interpreter
Monkey programming language interpreter designed in "Writing An Interpreter In Go".
Stars: ✭ 26 (-39.53%)
Mutual labels:  interpreter
embed
An embeddable, tiny Forth interpreter with metacompiler.
Stars: ✭ 80 (+86.05%)
Mutual labels:  interpreter

Röda

English

Röda is a homemade scripting language inspired by Bourne shell, Ruby and others. While not being a real shell language, Röda still makes an extensive use of concurrency and streams (pipes). For more documentation, see GUIDE.md. The standard library reference and other information is also found at the authors web page.

Building

Using Gradle:

$ git clone --recursive https://github.com/fergusq/roda.git
$ cd roda
roda $ gradle fatJar

Example

Real life examples:

Prime generator:

#!/usr/bin/röda

main {
	primes := [2]
	seq 3, 10000 | { primes += i if [ i % p != 0 ] for p in primes } for i
	print p for p in primes
}

HTTP server:

#!/usr/bin/röda

{
	http := require("http_server")
}

main {
	server := new http.HttpServer(8080)
	server.controllers["/"] = http.controller({ |request|
		request.send "200 OK", "<html><head><title>Hello world!</title></head><body>Hello world!</body></html>"
	})
	while true; do
		server.update
	done
}

Suomeksi

Röda on uusi ohjelmointikieleni, joka on saanut vaikutteensa lähinnä Bourne shellistä. Dokumentaatio on tällä hetkellä saatavilla suomeksi tiedostossa OHJEET.md.

LICENSE

Röda Interpreter
Copyright (C) 2017 Iikka Hauhio

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
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].