Files
TB-Docs/presentation/sections/04_status_and_future.typ
T

56 lines
1.2 KiB
Typst

#import "../requirements.typ": *
#import codly: codly
#focus-slide(theme: "neon")[Current Status and Future]
// = Current Status and Future
== What Midas offers
- Working *static type checking* of a good subset of Python (including dataframes)
- *Custom type* definition language for domain-specific usages (supports generics, method overloads, dependent types, frame schemas, named predicates and more)
- Toolbox *CLI* with useful debug features
- Generation of *runtime assertions*
- Stubs for *seamless integration* with other type checkers
== What needs work
- Reference types (side effects)
```python
def modify_column(df: pd.DataFrame):
df["col"] = df["col"].astype(float)
```
- Reverse operators
```python
a = 1.0 + 1 # float.__add__(int)
b = 1 + 1.0 # float.__radd__(int)
```
- Logical short-circuit bypass
#codly(
highlights: (
(
line: 1,
start: 15,
tag: box(inset: (x: 0.5em))[_Always evaluated_ ],
fill: std.red.lighten(20%)
),
)
)
```python
value = v1 or cast(Type, v2)
```
== Possible extensions
- Visitor pattern $->$ easy to extend supported Python syntax
- Multi-file projects (```python import``` statements)
- Constraint solver
$
v in [1; 6] => v > 0
$