-
Notifications
You must be signed in to change notification settings - Fork 48
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
Inconsistent usage/requirement of SListI #175
Comments
I think providing As to requiring it: I agree that it's nice to avoid passing info that's not needed. At the same time, it's to some extent an implementation detail whether a function requires |
FWIW, I also would prefer fewer functions to requite |
To avoid missunderstandings: I consider
It indeed is. But I argue, that if it's possible to not require Let's take
In the domain of But in other domains it's not imporant:
Therefore, I see two good options:
There is an option of using consistently The current "something is implemented naively and something using |
For example,
zipList_NP
requiresSListI
:However,
compare_NS
andcompare_SOP
, don't require nor provide one:which requires to use
ccompare_NS
variants withTop
:compare_SOP ... (\xs ys -> ... $ zipList_NP xs ys)
doesn't work.I'd prefer a fix where functions which don't require
SList
(likemap_NP
andzipWith_NP
) won't actually require it (i.e. fix them, notcompare_NS
). The reasoning being two foldzipWith_NP
is used on something else than a[Type]
kind. Maybe it's[[Type]]
or[[[Type]]]
, maybe there's something not insop-core
(e.g. type-levelMaybe
with its ownAll
-like class). SozipWith_NP
cannot be ever general enough, and then it's better to useczipWIth_NP
. ButzipWith_NP
is stilluseful, when you are not threading any constraints. (Except it isn't know, asSListI
needs to be threaded, or recovered from argumentNP
).The text was updated successfully, but these errors were encountered: