Try using the _G table instead, eg. _G.?. if you really want a global.
Try moving this code to somewhere that ?. is in scope.
Try binding ?. as a local in the scope of this code.
stack traceback:
[C]: in function 'error'
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:2331: in function 'fennel.friend.assert-compile'
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:1342: in function 'fennel.compiler.assert'
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:1497: in function 'fennel.compiler.symbol-to-expression'
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:1804: in function </Users/amir/.luarocks/share/lua/5.4/fennel.lua:1797>
(...tail calls...)
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:1776: in function </Users/amir/.luarocks/share/lua/5.4/fennel.lua:1760>
(...tail calls...)
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:943: in local 'special'
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:1739: in function </Users/amir/.luarocks/share/lua/5.4/fennel.lua:1738>
(...tail calls...)
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:1779: in function </Users/amir/.luarocks/share/lua/5.4/fennel.lua:1760>
(...tail calls...)
/Users/amir/.luarocks/share/lua/5.4/fennel.lua:1935: in upvalue 'compile_top_target'
... (skipping 7 levels)
[C]: in function 'rawrequire'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:661: in function 'require'
./core.fnl:134: in upvalue 'f'
./lib/functional.fnl:153: in local 'f'
./lib/functional.fnl:133: in function 'lib.functional.reduce'
(...tail calls...)
./core.fnl:137: in main chunk
(...tail calls...)
[C]: in function 'rawrequire'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:661: in function 'require'
/Users/amir/.hammerspoon/init.lua:12: in main chunk
[C]: in function 'xpcall'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:722: in function 'hs._coresetup.setup'
(...tail calls...)
After upgrading to the latest version of Spacehammer I got this error
Spacehammer config
commit hash is: 259ed79f2e435a0f9a64b69c77acd000a33fbdb5