All Projects → goplus → gossa

goplus / gossa

Licence: Apache-2.0 license
The Go/Go+ Interpreter

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to gossa

spx
spx - A Go+ 2D Game Engine for STEM education
Stars: ✭ 72 (+35.85%)
Mutual labels:  stem, gop, goplus, stem-education
Gop
GoPlus - The Go+ language for engineering, STEM education, and data science
Stars: ✭ 7,829 (+14671.7%)
Mutual labels:  scientific-computing, gop, goplus, stem-education
gox
Code generator for the Go language
Stars: ✭ 94 (+77.36%)
Mutual labels:  goplus, stem-education
nelson
Nelson numerical interpreter
Stars: ✭ 42 (-20.75%)
Mutual labels:  interpreter, scientific-computing
tutorial
Tutorials for GoPlus (The Go+ Language)
Stars: ✭ 27 (-49.06%)
Mutual labels:  gop, goplus
hdq
HTML DOM Query Language for Go+
Stars: ✭ 28 (-47.17%)
Mutual labels:  gop, goplus
LambdaCore
An interpreted language written in Rust inspired by the Lisp family of languages.
Stars: ✭ 56 (+5.66%)
Mutual labels:  interpreter
Arduino-FVM
Byte Token Threaded Forth Virtual Machine (FVM) for Arduino
Stars: ✭ 35 (-33.96%)
Mutual labels:  interpreter
ol
Otus Lisp (Ol in short) is a purely* functional dialect of Lisp.
Stars: ✭ 157 (+196.23%)
Mutual labels:  interpreter
MUA-Interpreter
MUA is a functional language for teaching use in Principles of Programming Languages course.
Stars: ✭ 16 (-69.81%)
Mutual labels:  interpreter
numo-gsl
GSL interface for Ruby/Numo::NArray
Stars: ✭ 18 (-66.04%)
Mutual labels:  scientific-computing
mdct
A fast MDCT implementation using SciPy and FFTs
Stars: ✭ 42 (-20.75%)
Mutual labels:  scientific-computing
Almanac
Almanac 历
Stars: ✭ 31 (-41.51%)
Mutual labels:  stem
nj
NJ is a simple script engine in golang with Lua-like syntax.
Stars: ✭ 19 (-64.15%)
Mutual labels:  interpreter
monkey-rs
An interpreter for the Monkey programming language written in Rust
Stars: ✭ 27 (-49.06%)
Mutual labels:  interpreter
NPython
(Subset of) Python programming language implemented in Nim
Stars: ✭ 17 (-67.92%)
Mutual labels:  interpreter
appflowy
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
Stars: ✭ 24,929 (+46935.85%)
Mutual labels:  low-code
opsli-ui
OPSLI 快速开发平台基于springboot、vue、element-ui ,项目采用前后端分离架构,热插拔式业务模块与插件扩展性高 ,代码简洁,功能丰富,开箱即用
Stars: ✭ 76 (+43.4%)
Mutual labels:  low-code
aprenda-python
Aprendizado, dicas e projetos sobre Python
Stars: ✭ 22 (-58.49%)
Mutual labels:  scientific-computing
ELLIPTIc
ELLIPTIc: The Extensible LIbrary for Physical simulaTIons
Stars: ✭ 14 (-73.58%)
Mutual labels:  scientific-computing

iGo+ The Go/Go+ Interpreter

Go1.14 Go1.15 Go1.16 Go1.17 Go1.18

ABI

support ABI0 and ABIInternal

unsupport features

  • Go1.18 type parameters
  • Go1.18 fuzzing

igop command line

Go version < 1.17:

go get -u github.com/goplus/igop/cmd/igop

Go version >= 1.17:

go install github.com/goplus/igop/cmd/igop@latest

Commands

igop             # repl mode
igop run         # interpret package
igop test        # test package

igop repl mode

igop                       # run repl mode, support Go/Go+
igop repl                  # run repl mode, support Go/Go+
igop repl -gop=false       # run repl mode, disable Go+ syntax

igop package

run go source

package main

import (
	"github.com/goplus/igop"
	_ "github.com/goplus/igop/pkg/fmt"
)

var source = `
package main

import "fmt"

func main() {
	fmt.Println("hello")
}
`

func main() {
	_, err := igop.RunFile("main.go", source, nil, 0)
	if err != nil {
		panic(err)
	}
}

run gop source

package main

import (
	"github.com/goplus/igop"
	_ "github.com/goplus/igop/gopbuild"
	_ "github.com/goplus/igop/pkg/fmt"
)

var source = `
println "Hello, Go+"
`

func main() {
	_, err := igop.RunFile("main.gop", source, nil, 0)
	if err != nil {
		panic(err)
	}
}
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].