Is it possible to redefine existing Clojure syntax with macros?

This page summarizes the projects mentioned and recommended in the original post on /r/Clojure

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • infix

    A Clojure library for expressing LISP expressions as infix rather than prefix notation

  • (Such as: https://github.com/rm-hull/infix)

  • tools.macro

    Utilities for macro writers

  • This is a pretty naive case, and the context extension is limited to the scope of the macro, rather than changing the rules of clojure itself. There are other libraries like clojure.tools.macro with macrolet and symbol-macrolet that facilitate this style (although I couldn't get them working with if in particular, I think because of clojures protection of special forms).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • dataworks

    Hot-swap API endpoints and stream processors using Clojure and Dataworks

  • I have an example of doing hacky things like this here. And I have an example of a recursive-replace function here.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts