Lower core F# expressions, patterns, declarations, and exceptions
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 15/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 los bloqueadores #33 y #34; después, lee las entradas de decisión #5 y #7, además de los ADRs 0006, 0008, 0015 y 0021. Traza las etapas parse, typecheck, lower, emit, load y execute usando programas propios del compilador. Se considera terminado cuando las familias de lenguajes indicadas hagan lower con semántica explícita de cierres, mutación, excepciones, posiciones de cola y depuración, mientras que las familias no compatibles fallen antes de la publicación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Parent: #8
Blocked by: #33 and #34
Outcome
Implement target-agnostic lowering for the core batch-language families.
Acceptance criteria
- Values, functions, applications, locals, mutation, control flow, pattern matches, decision trees, records, unions, classes, structs, interfaces, object expressions, closures, generic operations, and exceptions lower from typed input.
- Closure conversion, captured mutation, tail positions, exception regions, and debug anchors are explicit.
- Lowered output uses stable symbolic operands and identities rather than metadata handles or final layout.
- Each language family runs through parse, typecheck, lower, emit, load, and execute using small compiler-owned programs.
- Behavioral comparison permits different valid IL while preserving public API, runtime, exception, and debug semantics.
- Unsupported families fail before successful publication rather than generating placeholder behavior.
Decision inputs
Issues #5 and #7; ADRs 0006, 0008, 0015, and 0021.
This issue inherits the corpus-neutral acceptance policy in #8.
- Lenguaje dominante
- F#
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de TheAngryByrd/fsharp2
-
wayfinder:task
Dificultad 4/5 3-5 días Aptitud para principiantes 62/100
TheAngryByrd/fsharp2#46 ·
-
wayfinder:task
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
TheAngryByrd/fsharp2#44 · 1 comentario ·
-
wayfinder:task
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
TheAngryByrd/fsharp2#42 ·
-
wayfinder:task
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
TheAngryByrd/fsharp2#41 ·
-
wayfinder:task
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
TheAngryByrd/fsharp2#40 ·
Todos los issues de TheAngryByrd/fsharp2
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 87/100
gleam-lang/gleam#6491 ·
Los mantenedores suelen responder en 1 día
-
clang:frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
llvm/llvm-project#238916 · 6 comentarios ·
Los mantenedores suelen responder en 1 día
-
good first issue priority:low scope:syntax
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
Los mantenedores suelen responder en 1 día
-
C ABI signature lowering drops explicit function alignmentPosiblemente ocupada @cpunion la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug Fortran low priority OOP
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día