Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Projects
  3. Eclipse Technology
  4. Eclipse Golo™
×

Warning message

This project is archived. Some links on this page may not work.

Eclipse Golo™

Primary tabs

  • Overview(active tab)
  • Downloads
  • Who's Involved
  • Developer Resources
  • Governance
  • Contact Us

Eclipse Golo™ is a dynamically-typed programming language for the Java Virtual Machine. Golo is largely interoperable with Java and other JVM languages (e.g., numeric types are boxing classes from java.lang, and collection literals leverage java.util classes). Golo supports imperative and functional programming patterns. Golo is not a strictly object-oriented programming language: it very much resembles Go in the sense that methods are just functions applied to specific receiver types. Golo or Java defined types can be augmented in Golo, that is, new methods can be made available.

The language features have been initially designed around the abilities of invokedynamic / JSR 292 that appeared in Java SE 7. Golo uses ahead-of-time compilation of bytecode. While the bytecode remains stable over a program execution, the invokedynamic-based reconfigurable call sites support the adaptive dispatch mechanisms put in place for helping the HotSpot JIT to extract reasonable performance. Golo generally exhibits good performance in micro-benchmarks for a dynamically-typed language on the JVM.

Diving into the design and implementation of a programming language is an involving task, and existing JVM languages have large codebases with rich histories. Golo explicitly wants to serve as a foundation for programming and language derivative experiments. To this end, its codebase is expected to remain concise enough to remain of pedagogical value.

Golo uses a limited set of runtime dependencies: the JavaCC parser generator, the ASM bytecode engineering library and the json-simple library. Optional runtime dependencies include JCommanderfor the command-line interface and Txtmark to process API documentations written in Markdown.

Golo does not currently have collaborations with other Eclipse projects beyond a community-contributed XText-based Eclipse IDE plugin. By joining the Eclipse Foundation, we expect cross-pollinisation with the wider Eclipse ecosystem.

Licenses: 
Eclipse Public License 2.0

The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.

Latest Releases: 

From November 10th, 2015 to October 22nd, 2021

NameDateReview
3.4.02021-10-22
3.3.02018-11-30
3.2.02017-06-26
3.1.02016-03-21
3.0.0-incubation2015-11-10
Active Member Companies: 
Member companies supporting this project over the last three months.

    Project Links

    • Website
    • Documentation
    • Wiki
    Archived - Eclipse Golo™

    Related Projects

    Project Hierarchy:

    • Eclipse Technology
    • Eclipse Golo™

    Tags

    Technology Types
    • Language
    • Runtime
    Other Tags
    • jvm
    • language
    • java
    • invokedynamic

    Eclipse Foundation

    • About Us
    • Contact Us
    • Sponsor
    • Members
    • Governance
    • Code of Conduct
    • Logo and Artwork
    • Board of Directors
    • Careers

    Legal

    • Privacy Policy
    • Terms of Use
    • Copyright Agent
    • Eclipse Public License
    • Legal Resources

    Useful Links

    • Report a Bug
    • Documentation
    • How to Contribute
    • Mailing Lists
    • Forums
    • Marketplace

    Other

    • IDE and Tools
    • Projects
    • Working Groups
    • Research@Eclipse
    • Report a Vulnerability
    • Service Status

    Copyright © Eclipse Foundation. All Rights Reserved.

    Back to the top