Compare commits
2
Commits
c5b703efe8
...
873dc440b8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
873dc440b8
|
||
|
|
123a65addf
|
+1
-1
@@ -121,7 +121,7 @@
|
|||||||
caption: [Implementation architecture overview]
|
caption: [Implementation architecture overview]
|
||||||
) <fig:architecture>
|
) <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 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*.
|
The type checker also includes some machinery to infer the result types of several *dataframe operations* and *aggregation methods*.
|
||||||
]
|
]
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#import "@preview/acrostiche:0.7.0": *
|
#import "@preview/acrostiche:0.7.0": *
|
||||||
|
|
||||||
#let acronyms = (
|
#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],),
|
"LSP": (link("https://en.wikipedia.org/wiki/Liskov_substitution_principle")[Liskov substitution principle],),
|
||||||
"AST": ([Abstract Syntax Tree],),
|
"AST": ([Abstract Syntax Tree],),
|
||||||
"LUB": ([Least Upper Bound],),
|
"LUB": ([Least Upper Bound],),
|
||||||
|
|||||||
@@ -103,7 +103,7 @@
|
|||||||
),
|
),
|
||||||
rule(
|
rule(
|
||||||
"T-Assign",
|
"T-Assign",
|
||||||
$Gamma tack "x": "T"$,
|
$"x": "T" in Gamma$,
|
||||||
$Gamma tack "t": "T"$,
|
$Gamma tack "t": "T"$,
|
||||||
$Gamma tack "x" = "t" tack.l Gamma$,
|
$Gamma tack "x" = "t" tack.l Gamma$,
|
||||||
```py x = t```,
|
```py x = t```,
|
||||||
|
|||||||
Reference in New Issue
Block a user