-
Notifications
You must be signed in to change notification settings - Fork 13
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
[><]: Extend ><
to map input sequence.
#64
base: main
Are you sure you want to change the base?
Conversation
Interesting. I was concerned that something like Out of curiosity, have you checked the performance of the new version relative to the original? You can run The current idiomatic approach to this would be to explicitly group inputs in passing them to flows, e.g. using forms like I like that the proposed behavior is consistent with existing uses of The
Or potentially a variant like:
These would not require arity modeling and could be done using the existing "none, all, or one" paradigm. But they aren't as nice as:
The meru-step example too, is nice, which can be seen even more clearly here:
Are there cases where use of an arity-aware
Here, the user would not immediately know whether it is every value generated from the intermediate step that is mapped under So there are a few options to consider:
The most conservative but also most flexible option here is (3). It is flexible because it is not in conflict with (1) or (2). As a point of comparison, many utilities present in the Racket core originally began as separate libraries (I think a lot of Wdyt? |
Sorry for the late reply.
3rd option looks good to me! I also plan to separate a library to study whether some constructs in category theory are useful for Qi. :) By the way, the tutorial for
Ah, I thought that the initial commit didn't change the complexity, so I didn't notice performance. Original:
Latest version:
I don't think there will be a situation where the users are not sure about the Moreover, the implementation of
There is basically no performance gap between the extended In addition, I hope each form that handles |
@NoahStoryM FYI I created a wiki page with some suggested guidelines for writing libraries for Qi. Feedback welcome 🙏 |
Summary of Changes
With this change, we can define
meru-step
in this way:And I think it's useful in some cases:
Public Domain Dedication
(Why: The freely released, copyright-free work in this repository represents an investment in a better way of doing things called attribution-based economics. Attribution-based economics is based on the simple idea that we gain more by giving more, not by holding on to things that, truly, we could only create because we, in our turn, received from others. As it turns out, an economic system based on attribution -- where those who give more are more empowered -- is significantly more efficient than capitalism while also being stable and fair (unlike capitalism, on both counts), giving it transformative power to elevate the human condition and address the problems that face us today along with a host of others that have been intractable since the beginning. You can help make this a reality by releasing your work in the same way -- freely into the public domain in the simple hope of providing value. Learn more about attribution-based economics at drym.org, tell your friends, do your part.)