I'm studying lib/sumul.l, specifically the 'grid function. I understand how
it works now, but I have two doubts:
1) why are symbols in the grid interned?
2) what does the F in FX and FY stand for?
here's the code for reference:
(de grid (DX DY FX FY)
(let Grid
(make
(for X DX
(link
(make
(for Y DY
(set
(link
(if (> DX 26)
(box)
(intern (pack (char (+ X 96)) Y)) ) ) # why
are symbols interned here?
(cons (cons) (cons)) ) ) ) ) ) )
(let West (and FX (last Grid))
(for (Lst Grid Lst)
(let
(Col (++ Lst)
East (or (car Lst) (and FX (car Grid)))
South (and FY (last Col)) )
(for (L Col L)
(with (++ L)
(set (: 0 1) (++ West)) # west
(con (: 0 1) (++ East)) # east
(set (: 0 -1) South) # south
(con (: 0 -1) # north
(or (car L) (and FY (car Col))) )
(setq South This) ) )
(setq West Col) ) ) )
Grid ) )