Hi Alex, True, I would lose that advantage, but I think the main advantage of the grid approach are the local relationships between neighbors, not access by name.
Cheers, Wojtek pon., 1 lip 2019 o 14:42 Alexander Burger <a...@software-lab.de> napisał(a): > Hi Wojtek, > > > 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, > > Correct. 'grid' is intended for stand-alone usage. > > > > 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. > > In fact, this is the case if the grid is wider than 26 columns. Then all > cells > are created using 'box' (i.e. anonymous symbols). > > > > 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, > > In PicoLisp you can create such symbols using 'pack' (i.e. transient > symbols): > : (mapcar > '((N) (pack "prefix" N)) > (range 3 7) ) > -> ("prefix3" "prefix4" "prefix5" "prefix6" "prefix7") > > So you might well just remove the 'intern' in the 'grid' code. But then > you lose > the advantage of being able to access the cells by name in the REPL. > > Another possibility is to create the grids in separate namespaces and > switch > namespaces as needed. > > ☺/ A!ex > > -- > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe >