-
Notifications
You must be signed in to change notification settings - Fork 2
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
Feature request: Recursive interfaces #126
Comments
Analysis
|
Currently, there are already two distinct ways to use an Unfortunately you run into this bug. The red text that is shown is caused by an Then there is something in your script, that will not work the way you intend:
I would think you do not want the |
I moved this issue and turned it in a feature request for the new front-end. |
As soon as the new front-end is able to handle recursion, we can lift the restriction in the compiler. |
What happened
I wrote the following recursive interface, which is a fragment of a more extensive program:
This aims to get an easy way to drill down recursively in all connections from a given application.
When running this program, I got an unexpected error:
![image](https://private-user-images.githubusercontent.com/275768/237371299-a9409d0c-f8cc-4422-a360-149362d79a9d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAzMjg3MzQsIm5iZiI6MTcyMDMyODQzNCwicGF0aCI6Ii8yNzU3NjgvMjM3MzcxMjk5LWE5NDA5ZDBjLWY4Y2MtNDQyMi1hMzYwLTE0OTM2MmQ3OWE5ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwN1QwNTAwMzRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNTY5Y2FiOTcxYjc4YTFkZWIwZDhhY2VmNTg3YjQ4YjMyZTc3NGJmZTJkY2I1MjZhMzRlMTcyZjdmNGQ0NzVkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.oAwAQOxW5uof9V55kdbdcQJYzEd4bL08jBWiZ2nTmP0)
I got the following error:
What I expected
I expected this to work. This is what I would have liked to see:
![image](https://private-user-images.githubusercontent.com/275768/237380606-f5a09b28-8da5-4388-9eff-9947c32878a1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAzMjg3MzQsIm5iZiI6MTcyMDMyODQzNCwicGF0aCI6Ii8yNzU3NjgvMjM3MzgwNjA2LWY1YTA5YjI4LThkYTUtNDM4OC05ZWZmLTk5NDdjMzI4NzhhMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwN1QwNTAwMzRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kNzJmMDBiMDhmN2I3YjM2NDI1ZTYyMTNmY2E5YmQ0YThjYTg3MjI0ZThmNjEyOTE0OGM4ZWViMWI2NmQ1OWQ1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.kmz_7d3U6fPhXlhLJR_AqiMQs3--iT4ZZAe26MrsMMk)
I got this screenshot by building the following "poor man's recursion":
This example proves that the system can do this if only we allow this recursion. Since we don't want to inhibit any behavior unnecessarily, I have categorized this as a bug.
Version of Ampersand that was used
ampersandtarski/prototype-framework:v1.16
The text was updated successfully, but these errors were encountered: