ClojureScript

support ^:expose annotation

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

(def ^:export m 1)
(defn foo [g]
  (g m))

Because of constant propagation GClosure may replace m in foo with 1. It may be better to for :export to implicitly :expose but we need to check the output.

http://developers.google.com/closure/compiler/docs/js-for-compiler

Activity

Hide
David Nolen added a comment -

There are workaround for this.

Show
David Nolen added a comment - There are workaround for this.
Hide
Olle Martensson added a comment -

def annotated with ^:export is now implicitly treated as an exposed property by the closure compiler.

The goog.exportSymbol part for def seemed to be redundant and thus removed.

Show
Olle Martensson added a comment - def annotated with ^:export is now implicitly treated as an exposed property by the closure compiler. The goog.exportSymbol part for def seemed to be redundant and thus removed.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: