changed: interface syntax
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sun, 4 Feb 2024 21:31:24 +0000 (15:31 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sun, 4 Feb 2024 21:31:24 +0000 (15:31 -0600)
commitaaac5f1c8ae3348a7506199e1d5e5210bf72f6c7
tree3dbf2098e1f987f3e3c5840751e26bb13aa7eae1
parentef85e8d7d7134b78f58f6304a873323f3ab3f614
changed: interface syntax

Interfaces now look more like procedures, with sentinels being specified using `t as T` in the body.
27 files changed:
compiler/include/astnodes.h
compiler/src/astnodes.c
compiler/src/checker.c
compiler/src/clone.c
compiler/src/doc.c
compiler/src/parser.c
compiler/src/polymorph.h
compiler/src/symres.c
core/builtin.onyx
core/container/iter.onyx
core/container/map.onyx
core/container/pair.onyx
core/container/set.onyx
core/container/slice.onyx
core/hash/hash.onyx
core/intrinsics/type_interfaces.onyx
core/misc/method_ops.onyx
core/string/string.onyx
examples/22_interfaces.onyx
tests/aoc-2020/day17.onyx
tests/aoc-2020/day20.onyx
tests/aoc-2021/day21.onyx
tests/complicated_polymorph.onyx
tests/interface_scopes.onyx
tests/interfaces
tests/interfaces.onyx
tests/where_clauses.onyx