-
-
Notifications
You must be signed in to change notification settings - Fork 1
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
stdlib collection improvements #1250
base: main
Are you sure you want to change the base?
Conversation
For standard library, I am trying to avoid fully templated type signatures like: Instead there should be at least a parameterized type, and hopefully a generic if possible: i.e. There are a couple reasons for this:
For example, there is currently a |
I understand where this is coming from. In your "Make everything as simple as possible, but not simpler" In this case the
However there is nothing in the type signature of the If we wanted to go forward with this design, I would suggest creating an interface type Interfaces don't exist at the type system level, but they would need to exist before I move this into the standard library. Otherwise, having implicit duck-typing in the standard library feels weird. |
345a590
to
865f19e
Compare
This error message can be improved, because it only needs to show the ambiguous matches, not the whole list. However, this problem is a bit sticky.
|
Hmm, not the culprit. I have to look into this. |
Ok, this is a library problem. The generic |
I improved the error message for ambiguous method resolution. However when I try to compile your changes with the main compiler, I get "interfaces are currently not supported". It looks like you were implementing features on your branch and then got stuck. For me, without those features, I can't reproduce the error without path dependence. Suspicions:
Recommendations:
|
regarding the "interfaces are currently not supported": I just removed that fail from the parser and made it ignore interfaces for now |
b70f933
to
f7943ef
Compare
remove-back
,remove-front
, and functions to convert U8 vectors to stringsto-smart-string
forF64
buffer.lm
and replace with Vector #1057blockers
TODO