All Projects → CPunch → Cosmo

CPunch / Cosmo

Licence: MIT license
Embeddable scripting language loosely based off of Lua

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Cosmo

Garam-Interpreter
"훈민정음은 디자인이다" 가람은 튜링 완전 프로그래밍 언어입니다.
Stars: ✭ 23 (+64.29%)
Mutual labels:  interpreter
ol
Otus Lisp (Ol in short) is a purely* functional dialect of Lisp.
Stars: ✭ 157 (+1021.43%)
Mutual labels:  interpreter
g2d
Craft beautiful geometric art using code.
Stars: ✭ 40 (+185.71%)
Mutual labels:  interpreter
bfloader
🧠 Brainfuck IDE and interpreter in 512 bytes. (boot sector)
Stars: ✭ 41 (+192.86%)
Mutual labels:  interpreter
foth
Tutorial-style FORTH implementation written in golang
Stars: ✭ 50 (+257.14%)
Mutual labels:  interpreter
LambdaCore
An interpreted language written in Rust inspired by the Lisp family of languages.
Stars: ✭ 56 (+300%)
Mutual labels:  interpreter
clover2
Clover2 can be used as shell. The completion is powerfull like IDE. Also clover2 is a Ruby-like compiler language with static type like Java. This is high performnace. Please see the wiki for details
Stars: ✭ 100 (+614.29%)
Mutual labels:  interpreter
lpp-vita
Lua Player Plus for PSVITA. Documentation on: http://rinnegatamante.github.io/lpp-vita/
Stars: ✭ 149 (+964.29%)
Mutual labels:  interpreter
MUA-Interpreter
MUA is a functional language for teaching use in Principles of Programming Languages course.
Stars: ✭ 16 (+14.29%)
Mutual labels:  interpreter
prolog
The only reasonable scripting engine for Go.
Stars: ✭ 408 (+2814.29%)
Mutual labels:  interpreter
xin
Xin (신/心) is a flexible functional programming language with a tiny core, inspired by Lisp and CSP
Stars: ✭ 20 (+42.86%)
Mutual labels:  interpreter
pawn-3.2-plus
Pawn scripting language with runtime fixes and improvements
Stars: ✭ 14 (+0%)
Mutual labels:  interpreter
nj
NJ is a simple script engine in golang with Lua-like syntax.
Stars: ✭ 19 (+35.71%)
Mutual labels:  interpreter
tiny-lang
tiny-lang — A different programming language. Supports a bunch of spoken languages.
Stars: ✭ 26 (+85.71%)
Mutual labels:  interpreter
Arduino-FVM
Byte Token Threaded Forth Virtual Machine (FVM) for Arduino
Stars: ✭ 35 (+150%)
Mutual labels:  interpreter
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (+307.14%)
Mutual labels:  interpreter
NPython
(Subset of) Python programming language implemented in Nim
Stars: ✭ 17 (+21.43%)
Mutual labels:  interpreter
fayrant-lang
Simple, interpreted, dynamically-typed programming language
Stars: ✭ 30 (+114.29%)
Mutual labels:  interpreter
monkey-rs
An interpreter for the Monkey programming language written in Rust
Stars: ✭ 27 (+92.86%)
Mutual labels:  interpreter
nopforth
A dialect of the Forth programming language
Stars: ✭ 22 (+57.14%)
Mutual labels:  interpreter

Cosmo

AppVeyor

Cosmo is a portable scripting language loosely based off of Lua. Cosmo easily allows the user to extend the language through the use of Proto objects, which describe the behavior of Objects. For example the following is a simple Vector Proto which describes behavior for a Vector-like object.

proto Vector
    function __init(self)
        self.vector = []
        self.x = 0
    end

    function __index(self, key)
        return self.vector[key]
    end

    function push(self, val)
        self.vector[self.x++] = val
    end 

    function pop(self)
        return self.vector[--self.x]
    end
end

var vector = Vector()

for (var i = 0; i < 4; i++) do
    vector:push(i)
end

for (var i = 0; i < 4; i++) do
    print(vector:pop() .. " : " .. vector[i])
end
3 : 0
2 : 1
1 : 2
0 : 3

C API

The Cosmo C API is currently undocumented, however as soon as development has reached a stable state documentation on full language features and the C API will start.

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].