Skip to content

Conversation

alexander-yakushev
Copy link
Member

@alexander-yakushev alexander-yakushev commented Apr 23, 2025

Now that orchard.print has more printers for different classes, we can use it instead of custom code in cider-nrepl to modify print-method behavior. Brings more consistency and removes some code too.

One controversial change: different derefables like atoms, futures, etc., have changed how they look:

;; before
#atom[{:status :ready, :val 1} 0x11381415]
#promise[{:status :pending, :val nil} 0x2a40ec4d]
#delay[{:status :failed, :val #error {....}]

;; now
#atom[1]
#promise[<pending>]
#delay[<failed> #error[...]]

I hope this doesn't break anything – if people rely on printed representation of these objects, specifically on how cider-nrepl augments them, and then parse that, they are probably in a bigger trouble already.


  • All tests are passing
  • You've updated the README

@alexander-yakushev alexander-yakushev merged commit 629ffab into master Apr 23, 2025
16 checks passed
@alexander-yakushev alexander-yakushev deleted the orchard-print branch April 23, 2025 07:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants