Implement F# types, members, overloads, and constraint solving

Abierto
#33 0 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
18/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
fsharp
Área
compilers

Línea de trabajo

Comienza con el issue principal #8 y el bloqueo #32; después, lee las entradas de decisión #5 y #13 y los ADR 0014, 0015 y 0025. El comprobador semántico debe cubrir las representaciones de F# enumeradas, los miembros, las sobrecargas, las restricciones y los casos de conformidad específicos, manteniendo sin soporte los type-provider inputs hasta que se implemente la compuerta de Provider Broker.

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

Descripción

wayfinder:task

Parent: #8
Blocked by: #32

Outcome

Extend the semantic checker across F# nominal types, object members, interoperability, overload resolution, and generic constraints.

Acceptance criteria

  • Records, unions, classes, structs, interfaces, delegates, enums, exceptions, abbreviations, inheritance, and object expressions have compiler-owned typed representations.
  • Constructors, methods, properties, events, extension members, named and optional arguments, conversions, and overload ranking use stable candidate selection.
  • Generic, subtype, equality, comparison, nullness, byref, statically resolved type-parameter, inline member, and unit-of-measure constraints are solved without hard-coded type or member names.
  • Satisfied, unsatisfied, inaccessible, and ambiguous cases have focused positive and negative conformance programs.
  • Trait and inline calls lower from resolved semantic evidence; placeholder exception stubs do not count as implementation.
  • Type-provider inputs remain explicitly unsupported until the separate Provider Broker gate from #13 is implemented.

Decision inputs

Issues #5 and #13; ADRs 0014, 0015, and 0025.

This issue inherits the corpus-neutral acceptance policy in #8.

Lenguaje dominante
F#
Estrellas
0
Forks
0
Merge medio
3 h 15 min
PR fusionados (30 d)
1

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin 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 TheAngryByrd/fsharp2

Todos los issues de TheAngryByrd/fsharp2

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.