Should `localeCompare` return in `Effect`?
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Domínio
- api
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- PureScript
- Estrelas
- 57
- Forks
- 76
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de purescript/purescript-strings
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
purescript/purescript-strings#176 · 6 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
purescript/purescript-strings#171 · 3 comentários · 1 reação ·
-
Add takeEnd & dropEndAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
purescript/purescript-strings#170 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
purescript/purescript-strings#167 · 4 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
purescript/purescript-strings#164 · 2 comentários ·
Todas as issues de purescript/purescript-strings
Issues semelhantes
-
Upgrade node-libzim to 4.7.0Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
openzim/mwoffliner#2933 ·
Mantenedores costumam responder em até 1 dia
-
Use the README category name for website links and submissionsTalvez já em andamento @dajiaohuang assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
birobirobiro/awesome-shadcn-ui#647 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Urigo/accounter-fullstack#4604 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
kagent-dev/tools#87 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
micronaut-projects/micronaut-core#13677 ·
Mantenedores costumam responder em até 1 dia