sort and sortBy are not stack safe
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Domínio
- backend
Direção de pesquisa
The issue points to sort and sortBy in src/Data.List.purs lines 447–482. Start by reading those definitions and the existing list sorting tests, then check how the current implementation handles a list of one million elements. Done means both functions sort large lists without a stack overflow; the proposed Array approach is a suggestion to evaluate, not a settled design.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
sort $ range 1 1000000
/home/miles/projects/purescript/lists/output/Data.List/index.js:287
return as(new Data_List_Types.Cons(a, ys));
^
RangeError: Maximum call stack size exceeded
at $tco_var_as (/home/miles/projects/purescript/lists/output/Data.List/index.js:287:39)
Should we swap out this current version (which I assume depends on Haskell's laziness) for something that just reuses Array's sortBy? I think that might end up being faster even in situations where we're not having stack issues.
- Linguagem predominante
- PureScript
- Estrelas
- 61
- Forks
- 50
- Merge médio
- 2d 6h
- PRs com merge (30d)
- 1
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-lists
-
ZipList is BindAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
purescript/purescript-lists#219 · 1 comentário · 1 reação ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 48/100
purescript/purescript-lists#218 ·
-
Data.List.NonEmpty.intersect and Data.List.NonEmpty.intersectBy throw when intersection emptyTalvez já em andamento @evaogbe assumiu há 1066 dias. Abertagood first issue type: bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 1/100
purescript/purescript-lists#216 · 2 comentários ·
-
type: enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
purescript/purescript-lists#197 · 1 comentário ·
-
type: enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 24/100
purescript/purescript-lists#194 · 5 comentários ·
Todas as issues de purescript/purescript-lists
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOFAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Mend: dependency security vulnerability
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Mend: dependency security vulnerability
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
ManageIQ/manageiq-pods#1476 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
prime-radiant-inc/evener#6366 ·
Mantenedores costumam responder em até 1 dia