Clojure

Feature Expressions

Details

  • Type: Enhancement Enhancement
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Patch:
    Code and Test

Description

Feature expressions based directly on Common Lisp.

Implementation based on Roman's patch for CLJS-27.

#+ #- and or not
are supported. Unreadable tagged literals are suppressed through the *suppress-read* dynamic var. For example, in with *features* being #{:clojure}, which is the default, the following should read :foo

#+clojurescript #js {:one :two} :foo

Should *suppress-read* override *read-eval*?

TRDR-14 is a sister patch for tools.reader, which can be used by clojurescript

Activity

Hide
Jozef Wagner added a comment -

Has there been a decision that CL syntax is going to be used? Related discussion can be found at design page, google groups discussion and another discussion.

Show
Jozef Wagner added a comment - Has there been a decision that CL syntax is going to be used? Related discussion can be found at design page, google groups discussion and another discussion.
Hide
Alex Miller added a comment -

No, no decisions on anything yet.

Show
Alex Miller added a comment - No, no decisions on anything yet.
Hide
Ghadi Shayban added a comment - - edited

Just to echo a comment from TRDR-14:

This is WIP and just one approach for feature expressions. There seem to be at least two couple diverging approaches emerging from the various discussion (Brandon Bloom's idea of read-time splicing being the other.)

In any case having all Clojure platforms be ready for the change is probably essential. Also backwards compatibility of feature expr code to Clojure 1.6 and below is also not trivial.

Show
Ghadi Shayban added a comment - - edited Just to echo a comment from TRDR-14: This is WIP and just one approach for feature expressions. There seem to be at least two couple diverging approaches emerging from the various discussion (Brandon Bloom's idea of read-time splicing being the other.) In any case having all Clojure platforms be ready for the change is probably essential. Also backwards compatibility of feature expr code to Clojure 1.6 and below is also not trivial.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated: