Should `localeCompare` return in `Effect`?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Domaine
- api
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
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.
- Langage dominant
- PureScript
- Étoiles
- 57
- Forks
- 76
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de purescript/purescript-strings
-
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
purescript/purescript-strings#176 · 6 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
purescript/purescript-strings#171 · 3 commentaires · 1 réaction ·
-
Add takeEnd & dropEndOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
purescript/purescript-strings#170 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 38/100
purescript/purescript-strings#167 · 4 commentaires ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
purescript/purescript-strings#164 · 2 commentaires ·
Toutes les issues de purescript/purescript-strings
Issues similaires
-
priority: low 🌱 type: enhancement 💅🏼
Difficulté 2/5 Une demi-journée Accessibilité débutants 84/100
nebari-dev/llm-serving-pack#199 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
linebender/parley#849 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
rohitg00/agentmemory#1428 ·
Les mainteneurs répondent en général sous 1 jour