refactor(report): move theory to separate chapter

This commit is contained in:
HEL
2026-07-15 10:13:11 +02:00
parent 4ec15ee6dd
commit 64b8a33c7d
19 changed files with 122 additions and 53 deletions
+4 -3
View File
@@ -100,9 +100,10 @@ You can also change the order or the names of the sections, for instance, if you
#include "chapters/01_introduction.typ"
#include "chapters/02_state_of_the_art.typ"
#include "chapters/03_development.typ"
#include "chapters/04_results_discussion.typ"
#include "chapters/05_conclusion.typ"
#include "chapters/03_theory.typ"
#include "chapters/04_implementation.typ"
#include "chapters/05_results_discussion.typ"
#include "chapters/06_conclusion.typ"
#pagebreak()
+9 -8
View File
@@ -52,15 +52,16 @@
year = 2021
}
@book{Householder1951,
author = {Householder, Alston S.},
title = {Monte Carlo Method},
series = {Applied Mathematics Series},
number = {12},
@Book{Householder1951,
author = {Householder, Alston S.},
title = {Monte Carlo Method},
year = {1951},
series = {Applied Mathematics Series},
number = {12},
note = {Proceedings of a symposium held June 29, 30, and July 1, 1949},
publisher = {U.S. Department of Commerce, National Bureau of Standards},
year = {1951},
address = {Washington, D.C.},
note = {Proceedings of a symposium held June 29, 30, and July 1, 1949}
pages = {36},
address = {Washington, D.C.},
}
@Online{HOPL,
+1 -1
View File
@@ -2,7 +2,7 @@
#import isc-hei-bthesis: todo
#import "../utils.typ": quote-block
= Introduction
= Introduction <chap:intro>
#quote-block[J. von Neumann @Householder1951][
Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin
+18 -1
View File
@@ -1,4 +1,21 @@
#import "../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= State of the Art
= State of the Art <chap:state-of-the-art>
/*
- Python type hints (https://peps.python.org/pep-0484/):
- base types
- type aliases
- structural subtyping with Protocols -> matches duck-typing (https://peps.python.org/pep-0544/)
- Existing type checkers
- MyPy / Pyright
- Existing libraries
- Pandera: runtime only, syntax heavy, but quite complete
- Similar ideas
- Gator system (https://capra.cs.cornell.edu/research/gator/)
*/
-8
View File
@@ -1,8 +0,0 @@
#import "../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
#import "../utils.typ": include-offset
= Development and Methodology
#include-offset(path("03_development/01_theory.typ"))
#include-offset(path("03_development/02_implementation.typ"))
@@ -1,4 +0,0 @@
#import "../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Underlying Theory and Typing Rules
@@ -1,10 +0,0 @@
#import "../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
#import "../../utils.typ": include-offset
= Implementation
#include-offset(path("02_implementation/01_overview.typ"))
#include-offset(path("02_implementation/02_midas_language.typ"))
#include-offset(path("02_implementation/03_python_checking.typ"))
#include-offset(path("02_implementation/04_generation.typ"))
@@ -1,4 +0,0 @@
#import "../../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Architecture Overview
@@ -1,4 +0,0 @@
#import "../../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Midas Definition Processing
@@ -1,4 +0,0 @@
#import "../../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Python Type Checking
@@ -1,4 +0,0 @@
#import "../../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Code Generation
+11
View File
@@ -0,0 +1,11 @@
#import "../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Underlying Theory and Typing Rules <chap:theory>
/*
- Identify requirements
- Introduction to TAPL
- Grammar and typing rules for Midas, paralleled with TAPL
- Omitted rules, simplifications, mechanisms not implemented
*/
+21
View File
@@ -0,0 +1,21 @@
#import "../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
#import "../utils.typ": include-offset
= Implementation <chap:impl>
#include-offset(path("04_implementation/01_overview.typ"))
#include-offset(path("04_implementation/02_midas_language.typ"))
#include-offset(path("04_implementation/03_python_checking.typ"))
#include-offset(path("04_implementation/04_generation.typ"))
/*
Subjects:
- Variance inference
- Environment
- Resolver
- Evaluator
- CallDispatcher
- Registry (`is_subtype`)
- MethodRegistry (frames and columns)
*/
@@ -0,0 +1,14 @@
#import "../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Architecture Overview <sec:impl-overview>
/*
- Main elements
- Definition language
- Supported Python syntax (cf. grammar and typing rules)
- Parse and type check
- Produce user-facing diagnostics
- Generate runtime assertions
- Architecture overview
*/
@@ -0,0 +1,16 @@
#import "../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Midas Definition Processing <sec:impl-midas>
/*
- Midas definition language
- Lexer + parser (Crafting Interpreters, Pebble)
- reference theory for grammar rules
- token location -> necessary later for diagnostics
- AST node generation, similar to CI (3 kinds, Stmt/Expr/Type)
- Typer
- reference theory for typing rules
- type structures
- types registry
*/
@@ -0,0 +1,16 @@
#import "../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Python Type Checking <sec:impl-python>
/*
- Python type checking
- Parsing (short paragraph about AST nodes)
- Resolver
- Cf. CI
- Assignment analysis
- Typer
- Returns / if-else
- Environment
- Static constraint evaluation
*/
@@ -0,0 +1,10 @@
#import "../../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Code Generation <sec:impl-generation>
/*
- Code generation
- Stubs
- Assertions
*/
@@ -1,4 +1,4 @@
#import "../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Conclusion
= Results and Discussion <chap:results>
@@ -1,4 +1,4 @@
#import "../requirements.typ": isc-hei-bthesis
#import isc-hei-bthesis: todo
= Results and Discussion
= Conclusion <chap:conclusion>