Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

basicOverlaps is pretty weak

Abierto
#88 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
haskell
Área
data

Línea de trabajo

Comienza en el punto de entrada basicOverlaps y sigue el manejo de MV_3 descrito en el issue. Reproduce el ejemplo de roll y, después, inspecciona cómo la reutilización propuesta de zip podría depender de la detección de solapamientos; el trabajo terminado debe incluir un comportamiento decidido y cobertura para el caso de un subarray no correspondiente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug design-shed enhancement

The current basicOverlaps check doesn't actually fully determine if each of the constituent sub-arrays overlap.

e.g.

  basicOverlaps (MV_3 n_1 as1 bs1 cs1) (MV_3 n_2 as2 bs2 cs2)
      = M.basicOverlaps as1 as2
        || M.basicOverlaps bs1 bs2
        || M.basicOverlaps cs1 cs2

only checks the overlap between corresponding elements, but if you used something like

roll (MV_3 n as bs cs) = MV_3 n bs cs as

then something like overlaps mv (roll mv) will report False even though it has arrays that 'overlap' the originals rendering destructive changes hazardous.

I'm not really sure that this is such a damning failing, none of the existing combinators will produce such a rotation, but I figured it was worth capturing in an issue rather than passively ignoring the concern.

An example of where it might matter would be if you let zip for unboxed vectors try to get clever about reusing the source vectors.

Lenguaje dominante
Haskell
Estrellas
403
Forks
146
Merge medio
1 d 22 h
PR fusionados (30 d)
3

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de haskell/vector

Todos los issues de haskell/vector

Issues similares

Más issues de Haskell

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.