Hi,

I've recently used the 'grid' function from @lib/simul.l in some code and
having studied its internals, I've noticed a limitation if one were to use
multiple grids simultaneously.

Since the fields in the grid contain symbols named along the pattern of a
chessboard that get interned when the grid is created, if one then decides
to create another grid, some of the symbols will surely overlap and hence
be shared between grids. One way to remove this limitation would be to use
'box' for every cell, thus guaranteeing the symbols' uniqueness, but at the
price of having human-readable symbols like 'a1.

Another thing that came to my mind when porting this approach to Common
Lisp would be to have something like 'box' but with a user-supplied prefix.
For instance, in Common Lisp there's the function 'gensym', which called
without parameters returns a fresh, unique symbol, while when called with a
string argument, prepends that string to the symbol's name. Thus, we can
have something like this (Common Lisp):
> (gensym "a1-")
>> #:|a1-780|

Am I missing something, or is this a genuine problem with 'grid'?

Cheers,
Wojtek

Reply via email to