Compare commits
3
Commits
4a69fb5e62
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
873dc440b8
|
||
|
|
123a65addf
|
||
|
|
c5b703efe8
|
@@ -8,6 +8,7 @@ report_out_path := outdir / "report.pdf"
|
||||
summary_out_path := outdir / "summary.pdf"
|
||||
poster_out_path := outdir / "poster.pdf"
|
||||
presentation_out_path := outdir / "presentation.pdf"
|
||||
presentation_handout_path := outdir / "presentation_handout.pdf"
|
||||
presentation_pdfpc_path := outdir / "presentation.pdfpc"
|
||||
|
||||
default: all
|
||||
@@ -45,7 +46,10 @@ presentation: _setup
|
||||
typst c --root . presentation/presentation.typ {{presentation_out_path}}
|
||||
typst eval --root . 'query(<pdfpc-file>).first().value' --in presentation/presentation.typ > {{presentation_pdfpc_path}}
|
||||
|
||||
present: presentation
|
||||
pympress {{presentation_out_path}}
|
||||
presentation-handout: _setup
|
||||
typst c --root . --input handout=true presentation/presentation.typ {{presentation_handout_path}}
|
||||
|
||||
all: report summary poster presentation
|
||||
present: presentation
|
||||
pdfpc {{presentation_out_path}}
|
||||
|
||||
all: report summary poster presentation presentation-handout
|
||||
+1
-1
@@ -121,7 +121,7 @@
|
||||
caption: [Implementation architecture overview]
|
||||
) <fig:architecture>
|
||||
|
||||
First, typing rules were formally defined, drawing heavily on _Types and Progamming Languages_@tapl.
|
||||
First, typing rules were formally defined, drawing heavily on _Types and Programming Languages_@tapl.
|
||||
The implementation of the parser for the definition language follows R. Nystrom's _Crafting Interpreters_@Nystrom2021. The whole system is itself implemented in Python, leveraging the language's own `ast` module to parse and manipulate source code.
|
||||
The type checker also includes some machinery to infer the result types of several *dataframe operations* and *aggregation methods*.
|
||||
]
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
|
||||
#pdfpc.config(
|
||||
start-time: datetime(hour: 13, minute: 15, second: 0),
|
||||
end-time: datetime(hour: 13, minute: 55, second: 0),
|
||||
duration-minutes: 20,
|
||||
last-minutes: 3
|
||||
)
|
||||
|
||||
#show raw.where(block: true): set text(size: 0.8em)
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
#import "@preview/acrostiche:0.7.0": *
|
||||
|
||||
#let acronyms = (
|
||||
"TaPL": ([Types and Progamming Languages@tapl],),
|
||||
"TaPL": ([Types and Programming Languages@tapl],),
|
||||
"LSP": (link("https://en.wikipedia.org/wiki/Liskov_substitution_principle")[Liskov substitution principle],),
|
||||
"AST": ([Abstract Syntax Tree],),
|
||||
"LUB": ([Least Upper Bound],),
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
),
|
||||
rule(
|
||||
"T-Assign",
|
||||
$Gamma tack "x": "T"$,
|
||||
$"x": "T" in Gamma$,
|
||||
$Gamma tack "t": "T"$,
|
||||
$Gamma tack "x" = "t" tack.l Gamma$,
|
||||
```py x = t```,
|
||||
|
||||
Reference in New Issue
Block a user