Clojure Hosted on Go

(github.com)

161 points | by dnlo 13 hours ago

11 comments

  • igtztorrero 4 minutes 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

  • gregwebs 8 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 9 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.

  • giancarlostoro 11 hours ago
    Previous discussion from 2024:

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

    • metadat 10 hours ago
      68 comments

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

      • ameliaquining 9 hours ago
        Judging by the changelogs in the releases section, there haven't been radical changes, just incremental improvements.
      • adityaathalye 9 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.

  • didibus 7 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.
  • shikck200 8 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.

  • kpassapk 7 hours ago
    dialects are IMO the most exciting thing about clojure. they are making progress quickly and reaching parity.
  • mono442 6 hours ago
    since this is tree walking interpretator, won't it be quite slow?
  • hardwaresofton 10 hours ago
    Another really interesting Lisp that I recently came across:

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

    • adityaathalye 9 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/

  • jonathanstrange 4 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 8 minutes 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.