Zulip Chat Archive
Stream: lean4
Topic: Ending a command
Mac (Aug 23 2021 at 14:37):
Is there a correct way to end a command? My use case is following:
namespace Internal
scoped macro "foo" : command => `(#print "foo")
end Internal
section
open Internal -- error: unknown namespace 'foo'
foo
end
section
open Internal
section end
foo -- works
end
Since foo
is not a keyword until the scoped macro is open
ed into the current namespace, I need a way to tell the command to end so that I can use foo
immediately afterwards. Using section end
as a separator works, but is rather esoteric and ugly. Is there a better way?
Leonardo de Moura (Aug 23 2021 at 15:28):
@Mac I have a fix for this. We can use the colGt
helper parser when defining the open
command. We used the same trick in some of the tactic
parsers.
Leonardo de Moura (Aug 23 2021 at 16:45):
@Mac Pushed a fix. Both
open Internal
foo
and
open Internal in
foo
work now.
Mac (Aug 23 2021 at 17:44):
Cool! Thanks!
Last updated: Dec 20 2023 at 11:08 UTC