What is the "Unused G **** variable in anonymous function"?

I don't know if this is implementation dependent. Just in case, this is important, I'm using Corman Lisp 3.0

When I do something like this:

(loop for v being the hash-values of *my-hash-table* when (> v 1) sum v) 

I get two warnings:

 ;;; Warning: Unused variable G9063 in anonymous function ;;; Warning: Unused variable G9062 in anonymous function 

With every change in the number G.

The result is correct. What do they mean? Why do they appear? I assume that there may be some uneven use of the loop syntax, which leads to these warnings, but I do not see it.

+6
source share
1 answer

Corman Lisp has not been updated for years. G* unused variables, probably gensym in macro decomposition loop . Try

 (macroexpand '(loop ...)) 

to see what these variables store.

+6
source

Source: https://habr.com/ru/post/951701/


All Articles