Clojure Hosted on Go

(github.com)

189 points | by dnlo 17 hours ago

13 comments

  • gregwebs 12 hours ago
    There’s also typed fp on Go: https://lisette.run/

    The Go runtime, toolchain, and ecosystem are great- it makes sense to target it.

  • adityaathalye 13 hours ago
    PSA: glojure maintenance has moved here: https://github.com/gloathub/glojure

    Worth changing the submit URL to this one?

    Edit: never mind. Spoke too soon. Ingy is keeping gloathub/glojure fork and glojurelang/glojure source at parity.

  • rcarmo 1 hour ago
    My take on this is a turbocharged fork of joker, with an IR-driven runtime and a WASM bridge via wazero: https://github.com/rcarmo/go-joker
  • shikck200 12 hours ago
    Thats pretty sweet.

    How does the repl work? Does it compile to Go, then execute? Or does it ship with a full vm? Most go repls are really slow because they need to compile/execute (they fake the "e" part in repl). Its a niche case, but could enable some fun projects.

  • giancarlostoro 15 hours ago
    Previous discussion from 2024:

    https://news.ycombinator.com/item?id=42272524

    • metadat 14 hours ago
      68 comments

      I wonder how it’s progressed in the past two years?

      • ameliaquining 13 hours ago
        Judging by the changelogs in the releases section, there haven't been radical changes, just incremental improvements.
        • seanc 3 hours ago
          This is the way.
      • adityaathalye 13 hours ago
        Work is being furthered by Ingy döt Net [0] (Creator of Gloat, YAML, YAMLScript, and other stuff), supported by a Clojurists Together grant [1].

        [0] https://gloathub.org/blog/2026/06/16/gloat-q2-grant-halfway-...

        > We are halfway through the Q2 2026 Clojurists Together funding cycle, so this is a good time to report what has been done for Gloat and Glojure.

        ...

        > Since the start of the grant period, Gloat and Glojure have had over 20 releases, with Gloat moving from v0.1.26 to v0.1.50. The Glojure work was all being done on the long running fork gloathub/glojure, but I'm thrilled to announce that as of today, the work has been fully moved back to the upstream glojurelang/glojure and will continue to be maintained and released from there.

        > My overall ambition for Gloat is to have Clojure be as full featured and prominent to Go programming as it is to Java. The industry is crazy about Go. Let's get it crazy about Clojure.

        [1] https://www.clojuriststogether.org/projects/#Gloat:~:text=Ma...

        > Make Gloat/Glojure binaries smaller and faster. Pass more of the Clojure Compatibility Test Suite. Create tutorial docs on: How to use Gloat to integrate Clojure into Go projects and How to use Gloat instead of GraalVM to (cross-)compile Clojure.

  • kpassapk 11 hours ago
    dialects are IMO the most exciting thing about clojure. they are making progress quickly and reaching parity.
  • didibus 11 hours ago
    I believe this is the most promising Clojure hosted on Go, as their has been a few recently, this is the only one with full proper interop.
  • nathell 2 hours ago
    Another recent Clojure dialect written in Go: [0], HN discussion: [1]

    [0]: https://github.com/nooga/let-go

    [1]: https://news.ycombinator.com/item?id=48076815

  • mono442 9 hours ago
    since this is tree walking interpretator, won't it be quite slow?
  • hardwaresofton 13 hours ago
    Another really interesting Lisp that I recently came across:

    https://github.com/carp-lang/Carp

    • adityaathalye 13 hours ago
      Jank, a Clojure dialect, is playing in the same field:

      > Where jank differs from Clojure JVM is that its host is C++ on top of an LLVM-based JIT. This allows jank to offer the same benefits of REPL-based development while being able to seamlessly reach into the native world and compete seriously with JVM's performance.

      https://jank-lang.org/

  • igtztorrero 3 hours ago
    Clojure is difficult for me, that's why I use Tengo script language in our Go Projects, to allow user run certain code.

    https://github.com/d5/tengo

  • jonathanstrange 8 hours ago
    From what I can gather from the site it has no security or sandboxing features. Or am I missing something?

    I'm asking because I'm thinking about R7RS Wile scheme[1] as an embedded language, which has some basic security features. But it's heavily vibe-coded and that puts me off a bit, so I'm looking for other Lisp or Scheme dialects in Go.

    [1] https://github.com/aalpar/wile

    • kitd 3 hours ago
      A Go executable is self-contained. You can put it in a Docker container with very little overhead. That would give you some sandboxing at least.
      • jonathanstrange 2 hours ago
        I'm creating cross-platform GUI applications in Go. Besides that, there are numerous reasons why an extension/scripting language might need various security and sandboxing features on a server, too.