Clojure

-> produces known-invalid code when it could be smarter

Details

  • Type: Enhancement Enhancement
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Declined
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None

Description

(-> inc (comp read ())

Macroexpands to (nil (comp read promise)), which is known at compile-time to be illegal code.
It seems like it would be harmless, and occasionally useful, to special-case () to expand into wrapping parens around the preceding form, such as:

((comp inc read))

I'll put together a patch for this shortly if nobody tells me it's a terrible idea.

Activity

Alan Malloy made changes -
Field Original Value New Value
Attachment patch.txt [ 10073 ]
Stuart Halloway made changes -
Issue Type Defect [ 1 ] Enhancement [ 4 ]
Waiting On richhickey
Rich Hickey made changes -
Waiting On richhickey
Chas Emerick made changes -
Status Open [ 1 ] Closed [ 6 ]
Resolution Declined [ 2 ]

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: