dirac icon indicating copy to clipboard operation
dirac copied to clipboard

Macros inferring in new cljs (CLJS-1507)

Open darwin opened this issue 9 years ago • 0 comments

Currently we use cljs.analyzer/analyze to parse ns forms. We trust it to tell us which symbols/namespace references are macros. But new macros inference CLJS-1507 can make this unreliable when someone relies on inferring.

I think a way how to work around this is to treat everything as a function and check for runtime presence. If it is not present at runtime, we treat it as a macro (but this can have performance implications because runtime presence checks must go over wire).

Other idea is just to leave it as is and our code completion hints will report wrong types.

darwin avatar Sep 21 '16 07:09 darwin