Should `localeCompare` return in `Effect`?
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- api
Research direction
Review Data.String.Common.localeCompare and the linked MDN localeCompare behavior, then compare them with the planned Intl bindings that accept a Locale argument. The issue is done only after the FFI/effect decision and intended API behavior are resolved; no file or test is named in the report.
Written by the indexing model from the issue text.
Description
localeCompare can return different output depending on locale. Example borrowed from MDN:
console.log("ä".localeCompare("z", "de")); // a negative value: in German, ä sorts before z
console.log("ä".localeCompare("z", "sv")); // a positive value: in Swedish, ä sorts after z
The FFI for Data.String.Common.localeCompare uses the system default locale, so Data.String.Common.localeCompare "ä" "z" could be LT or GT depending on if it's run in Germany or Sweden, for example.
It seems unlikely (maybe even impossible? I'm not sure) for a system's locale to change over the lifetime of a program, so maybe that is enough to consider localeCompare observationally pure?
I'm mostly just curious about the intuition for what makes FFI code "effect"-ful, as I have a library of bindings for the Intl object and I was planning on adding to it a localeCompare that accepted the Locale argument as well.
- Dominant language
- PureScript
- Stars
- 57
- Forks
- 76
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from purescript/purescript-strings
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
purescript/purescript-strings#176 · 6 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
purescript/purescript-strings#171 · 3 comments · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
purescript/purescript-strings#170 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 38/100
purescript/purescript-strings#167 · 4 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
purescript/purescript-strings#164 · 2 comments ·
All issues in purescript/purescript-strings
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
avniproject/avni-client#2135 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
use-agent-os/agent-os#3276 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
good first issue refactor
Difficulty 2/5 1-3 hours Newbie friendliness 72/100