-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parameterized goals #115
Comments
xonixx
added a commit
that referenced
this issue
Jan 21, 2023
xonixx
added a commit
that referenced
this issue
Jan 21, 2023
Merged
xonixx
added a commit
that referenced
this issue
Jan 26, 2023
… happen (determined by code coverage)
xonixx
added a commit
that referenced
this issue
Jan 26, 2023
xonixx
added a commit
that referenced
this issue
Jan 26, 2023
xonixx
added a commit
that referenced
this issue
Jan 26, 2023
xonixx
added a commit
that referenced
this issue
Feb 14, 2023
xonixx
added a commit
that referenced
this issue
Feb 14, 2023
xonixx
added a commit
that referenced
this issue
Feb 14, 2023
xonixx
added a commit
that referenced
this issue
Feb 14, 2023
xonixx
added a commit
that referenced
this issue
Feb 14, 2023
xonixx
added a commit
that referenced
this issue
Mar 2, 2023
xonixx
added a commit
that referenced
this issue
Mar 2, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Parameterized goals
The idea for this is inspired by #112.
This should be much better and more generic alternative to #96.
This should allow such rewrite.
Related to this. Obviously this is being revised.
Q. Default values.
No
Q. Optional values.
No
Q. How to pass var argument?
@VAR
@args
and allow mixing dependencies@name
"${VAR}"
but only this form, not"aaa${VAR} bbb"
VAR
, literal values must be quoted (with single quotes or dollar-single quotes to disallow substitutions)Q. Do we even need keyword
@args
?Looks like we don’t need it to disambiguate. BUT this complicates resolution.
Q. Do we need keyword
@params
?Looks like yes
Q. Do we allow to include parameterized goal in
@depends_on
together with other goals? Or only single?No.
@args
will be only allowed in pos=3. All items afterwards are considered args.Q. Shall we restrict the param name to Name123?
[A-Z][A-Za-z0-9_]*
This might be good idea / convention.
Q. Can we make parameterized goals resolution during parsing? We might need to know the number of params for a goal which is not available yet, since goal may come later.
Looks like this is only possible if we restrict the syntax to
@depends_on param_goal @args 'hello'
I.e. when
@args
is at pos=3Q. Allow calling parameterized goal from CLI?
No
Q. Allow listing PG?
No.
What about “instantiated” goals?
Q. Loops detection.
Based on goal name only? I.e. disallow depending PG on itself in any way.
Q. What can be
@args VAR
?Only:
@define
@params
of this goalAll other cases must cause error.
Q. Mechanism for "instantiation"
Also here. Need to adjust
-d
option. Should list instantiated goals in formpg1 @args 'hello'
pg2 @args 'hello' $'with \''
nonpg
On encounter
@depends_on
generate instantiated? But this needs to go in-depth.The text was updated successfully, but these errors were encountered: