Parenscript name conflicts with uncommonweb (UCW)

82 Views Asked by At

Many name conflicts arises when I use-package :parenscript in UCW . Parenscript doesn't work if I keep old ones (also, parenscript misbehaves with direct parenscript:ps call) and if I import new ones, UCW seems to be broken. Is there any way in common lisp to use packages with conflicting names side by side?

1

There are 1 best solutions below

0
On BEST ANSWER

also, parenscript misbehaves with direct parenscript:ps call

I guess this is because if you don't use the package, symbols such as parenscript:@ won't be imported, and so:

* (ps:ps (@ a b))

"at(a, b);"

But if you do:

* (ps:ps (ps:@ a b))

"a.b;"

Is there any way in common lisp to use packages with conflicting names side by side ?

If you need both foo:a and bar:a, then you cannot just write a and let the interpreter find out what you mean. So you have to qualify at least one them. Do you need to use the parenscript package and import non-conflicting symbols ones from UCW ? Do you need to shadow-import other ones? Without more details, it is hard to say what is the best thing to do here. In case you need it, see Programming in the Large: Packages and Symbols (Practical Common Lisp, P. Seibel).