racket VS clojure

Compare racket vs clojure and see what are their differences.

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
racket clojure
194 107
4,832 10,489
0.6% 0.3%
9.6 8.1
8 days ago 3 days ago
Racket Java
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

racket

Posts with mentions or reviews of racket. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-09-28.

clojure

Posts with mentions or reviews of clojure. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-11-29.
  • Glojure: Clojure interpreter hosted on Go, with extensible interop support
    12 projects | news.ycombinator.com | 29 Nov 2024
    Glojure author here! Your analysis is spot-on :). I'll definitely take a look at clojure.core-test. As components mature, I focus on improving compatibility by porting tests from Clojure [0], but they often require modifications to accommodate differences in the host language. As you noted, there are still several fundamental features missing — most notably some core data structures. That said, the implementation is robust enough to support another non-trivial hobby project [1].

    A bit more detail on some of your observations:

    > No JIT or AOT compilation (right now).

    I do plan to implement AOT compilation eventually. JIT, however, is more complex. Go's "plugin" standard library [2] could serve as a mechanism, but its support is limited and not without issues [3].

    > it looks like the analysis could be largely a port of tools.analyzer

    Exactly! Another key implementation strategy has been the handling of clojure.core. Instead of reimplementing everything from scratch, the Clojure 1.11 core libraries are programmatically transformed to work with Go [4]. However, this approach has its downsides — many functions appear to be available but are non-functional because parts of their implementation haven't yet been adapted.

    And by the way, impressive progress on Jank! I've been following it closely and really admire the work you're doing.

    [0] https://github.com/clojure/clojure/tree/master/test/clojure/...

  • Scheming About Clojure
    2 projects | dev.to | 13 Nov 2024
    Clojure is a LISP for the Java Virtual Machine (JVM). As a schemer, I wondered if I should give Clojure a go professionally. After all, I enjoy Rich Hickey's talks and even Uncle Bob is a Clojure fan. So I considered strength and weaknesses from my point of view:
  • Top FP technologies
    22 projects | dev.to | 29 Oct 2024
    Clojure
  • Debugging a memory leak in a Clojure service
    2 projects | news.ycombinator.com | 6 Sep 2024
  • Clojure 1.12.0 is now available
    12 projects | news.ycombinator.com | 5 Sep 2024
    Here's what I mean by Malli's inability to check macros.

    https://github.com/clojure/clojure/blob/ad54fec/src/jvm/cloj...

    clojure.spec has a privileged spot in the compiler so that it can validate the data in macros. No other library can do this, because the Clojure compiler directly calls into clojure.spec and does not expose any sort of hook for validating macros.

  • Try Clojure
    37 projects | news.ycombinator.com | 22 May 2024
  • Moving your bugs forward in time
    4 projects | dev.to | 8 May 2024
    ‍For the rest of this post I’ll list off some more tactical examples of things that you can do towards this goal. Savvy readers will note that these are not novel ideas of my own, and in fact a lot of the things on this list are popular core features in modern languages such as Kotlin, Rust, and Clojure. Kotlin, in particular, has done an amazing job of emphasizing these best practices while still being an extremely practical and approachable language.
  • Let's write a simple microservice in Clojure
    7 projects | dev.to | 26 Apr 2024
    This article will explain how to write a simple service in Clojure. The sweet spot of making applications in Clojure is that you can expressively use an entire rich Java ecosystem. Less code, less boilerplate: it is possible to achieve more with less. In this example, I use most of the libraries from the Java world; everything else is a thin Clojure wrapper around Java libraries.
  • Top Paying Programming Technologies 2024
    19 projects | dev.to | 6 Mar 2024
    5. Clojure - $96,381
  • A new F# compiler feature: graph-based type-checking
    9 projects | news.ycombinator.com | 5 Nov 2023
    I have a tangential question that is related to this cool new feature.

    Warning: the question I ask comes from a part of my brain that is currently melted due to heavy thinking.

    Context: I write a fair amount of Clojure, and in Lisps the code itself is a tree. Just like this F# parallel graph type-checker. In Lisps, one would use Macros to perform compile-time computation to accomplish something like this, I think.

    More context: Idris2 allows for first class type-driven development, where the types are passed around and used to formally specify program behavior, even down to the value of a particular definition.

    Given that this F# feature enables parallel analysis, wouldn't it make sense to do all of our development in a Lisp-like Trie structure where the types are simply part of the program itself, like in Idris2?

    Also related, is this similar to how HVM works with their "Interaction nets"?

    https://github.com/HigherOrderCO/HVM

    https://www.idris-lang.org/

    https://clojure.org/

    I'm afraid I don't even understand what the difference between code, data, and types are anymore... it used to make sense, but these new languages have dissolved those boundaries in my mind, and I am not sure how to build it back up again.

What are some alternatives?

When comparing racket and clojure you can also consider the following projects:

Visual Studio Code - Visual Studio Code

malli - High-performance data-driven data specification library for Clojure/Script.

babashka - Native, fast starting Clojure interpreter for scripting

trufflesqueak - A Squeak/Smalltalk VM and Polyglot Programming Environment for the GraalVM.

antlr-tsql

nbb - Scripting in Clojure on Node.js using SCI

nannou - A Creative Coding Framework for Rust.

scala - Scala 2 compiler and standard library. Scala 2 bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3

coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.

scope-capture - Project your Clojure(Script) REPL into the same context as your code when it ran

TablaM - The practical relational programing language for data-oriented applications

criterium - Benchmarking library for clojure

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured