Better callable subtyping for optional parameters

Abierto
#8,228 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript, ocaml
Área
compilers

Línea de trabajo

Comienza con el sandbox de ReScript enlazado y reproduce el ejemplo de Int.toString y Option.map en la versión v12.1. Investiga el comportamiento del compilador con el subtipado de funciones invocables para parámetros obligatorios y opcionales. Se considera terminado cuando Int.toString se pueda pasar directamente a Option.map sin un wrapper, mientras el comportamiento existente para los parámetros obligatorios siga siendo correcto.

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

Descripción

If a function has N required params & additional optional params, it cannot be used in a place that expects a function with N params.

To give a concrete example: Int.toString cannot be directly used with Option.map because of the optional radix argument, so it has to be wrapped in another function.

https://rescript-lang.org/try?version=v12.1.0&module=esmodule&code=DYUwLgBGIM6QvBAFADwFwQPYAcwEtMA7AHj0LAD4BKCeCiAbwCgIIUBaCgeVwMIDoAtgENsSAJLl+YTAGUwAJzIBzKkwC+TJqEjQ4AJlrJ0WXkVLlqtes1YduZgSLEprESWGlzFK1FTXqQA

Tested in sandbox v12.1

Lenguaje dominante
OCaml
Estrellas
7.5k
Forks
485
Merge medio
1 d 2 h
PR fusionados (30 d)
55

Guía de contribución

Abrir la guía de contribución

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 rescript-lang/rescript

Todos los issues de rescript-lang/rescript

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.