squint icon indicating copy to clipboard operation
squint copied to clipboard

Macros get resolved as normal functions

Open ranfdev opened this issue 9 months ago • 1 comments

version v0.7.110

problem following the usual clojurescript behavior, this macro should be executed during compilation:

;; file test.cljs
(ns test
  (:require-macros [test]))

(defmacro two [] 2)

;; file test_runner.cljs
(ns test-runner
  (:require [test]))

(test/two)

but test_runner.js gets compiled to

import * as squint_core from 'squint-cljs/core.js';
import './test.mjs';
test.two();

I need to provide both functions and macros in the same namespace, so that they can be used with the syntax myns/mymacro. For example, the solid namespace I'm writing should provide both solid/for (a macro) and solid/render (a normal function).

ranfdev avatar Jun 02 '24 19:06 ranfdev