All Projects → gosu-lang → Gosu Lang

gosu-lang / Gosu Lang

Licence: apache-2.0
The Gosu programming language

Programming Languages

language
365 projects

Labels

Projects that are alternatives of or similar to Gosu Lang

clodl
Turn dynamically linked ELF binaries and libraries into self-contained closures.
Stars: ✭ 136 (-59.76%)
Mutual labels:  jvm
Meins
a personal and smart journal
Stars: ✭ 288 (-14.79%)
Mutual labels:  jvm
Dotenv Kotlin
🗝️ Dotenv is a module that loads environment variables from a .env file
Stars: ✭ 326 (-3.55%)
Mutual labels:  jvm
Monorepo Starter
Monorepo starter project for Kotlin, Python, TypeScript x React
Stars: ✭ 255 (-24.56%)
Mutual labels:  jvm
Talos
Talos Particle Engine
Stars: ✭ 275 (-18.64%)
Mutual labels:  jvm
Docs
Java知识总结:MySQL实战45讲,多线程和JVM知识总结,,SpringBoot,SpringCloud,Storm系列,微信小程序开发,ELK,《JAVA核心技术36讲笔记》,《深入理解JVM虚拟机笔记》,《高性能MySQL笔记》,《数据结构与算法》等等
Stars: ✭ 308 (-8.88%)
Mutual labels:  jvm
blog
日常工作中使用的技术沉淀+学习记录
Stars: ✭ 41 (-87.87%)
Mutual labels:  jvm
Play Samples
Stars: ✭ 335 (-0.89%)
Mutual labels:  jvm
Jikesrvm
Jikes RVM (Research Virtual Machine)
Stars: ✭ 281 (-16.86%)
Mutual labels:  jvm
Jvm.go
A toy JVM written in Go
Stars: ✭ 3,374 (+898.22%)
Mutual labels:  jvm
Bistoury
Bistoury是去哪儿网的java应用生产问题诊断工具,提供了一站式的问题诊断方案
Stars: ✭ 3,198 (+846.15%)
Mutual labels:  jvm
Maxine Vm
Maxine VM: A meta-circular research VM
Stars: ✭ 274 (-18.93%)
Mutual labels:  jvm
Arquillian Core
Arquillian provides a component model for integration tests, which includes dependency injection and container life cycle management. Instead of managing a runtime in your test, Arquillian brings your test to the runtime.
Stars: ✭ 315 (-6.8%)
Mutual labels:  jvm
JBWAPI
Pure Java BWAPI Client implementation for JVM languages
Stars: ✭ 16 (-95.27%)
Mutual labels:  jvm
Java Multi Thread Programming
🏆 《Java多线程编程核心技术》📚(高洪严 著 机械工业出版社) 源码 https://loveincode.github.io/java-multi-thread-programming/
Stars: ✭ 325 (-3.85%)
Mutual labels:  jvm
arquillian-container-was
Arquillian WebSphere Containers
Stars: ✭ 18 (-94.67%)
Mutual labels:  jvm
Komputation
Komputation is a neural network framework for the Java Virtual Machine written in Kotlin and CUDA C.
Stars: ✭ 295 (-12.72%)
Mutual labels:  jvm
Hexagon
Hexagon is a microservices toolkit written in Kotlin. Its purpose is to ease the building of services (Web applications, APIs or queue consumers) that run inside a cloud platform.
Stars: ✭ 336 (-0.59%)
Mutual labels:  jvm
Friceengine
🎮 JVM game engine based on Swing/JavaFX.
Stars: ✭ 330 (-2.37%)
Mutual labels:  jvm
Idris Jvm
JVM bytecode back end for Idris
Stars: ✭ 317 (-6.21%)
Mutual labels:  jvm

The Gosu Language

Gosu is a pragmatic programming language for the JVM. It has been designed with Java developers in mind by providing a set of features that allow them to be more productive without sacrificing the benefits of Java's simple syntax and type-safety. Gosu is an object oriented language with a sprinkle of functional programming features.

Gosu features:

  • Open Type System
  • Advanced type inference
  • Program files (scripts containing statements, functions, and classes at the same level)
  • Structural typing (similar TypeScript's interfaces)
  • Extension methods (aka enhancements)
  • Java interoperability
  • Lambda expressions
  • Classes/Interfaces/Enums
  • Generics (reified, covariant type parameters and no wildcards)
  • Composition (with the delegate keyword)
  • Properties
  • Null Safety (supports operator ?. etc.)
  • Named Arguments and Default Parameter Values
  • A powerful for each statement with user-defined intervals types
  • Member Literals
  • Object Initializers
  • Classpath Statement and Shebang (useful when you use Gosu as a scripting language)
  • ...and more

Build instructions

You need Java JDK 1.8 and Maven 3.x to build Gosu. Set the JAVA_HOME environment variable to JDK 1.8's home.

Clone the project from GitHub and run:

mvn compile

To execute tests:

mvn test

To change the version number:

mvn -B release:update-versions -DdevelopmentVersion=1-someValue-SNAPSHOT

Quickstart

  • Download the latest Gosu distribution here.
  • Set the JAVA_HOME environment variable to JDK 1.8's home, if needed.
  • Unzip the distribution zip, go to the bin folder and double click on gosu.cmd (or gosu if you are using Linux/Mac).

Support

Need help getting your project off the ground? Want to discuss features in the next release, among both users and the Gosu team? Participate in our discussion forum or report a bug:

License

Gosu is released under version 2.0 of the Apache License.

Enjoy!

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