polymorphism.core
This commit is contained in:
29
examples/polymorphism.core
Normal file
29
examples/polymorphism.core
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
PushStruct :: (a: *MA.Arena, $T: Type): *$T
|
||||||
|
size := size_of(Type)
|
||||||
|
result := PushSize(a, size)
|
||||||
|
return result
|
||||||
|
|
||||||
|
Array :: struct($T: Type)
|
||||||
|
data: *T
|
||||||
|
len: int
|
||||||
|
cap: int
|
||||||
|
|
||||||
|
Array(int)
|
||||||
|
|
||||||
|
QueueAddSLL(list: $List, node: $Node, first: #Identifier = first, last: #Identifier = last, next: #Identifier = next)
|
||||||
|
|
||||||
|
ArrayAdd(array: $Array, item: $Item, data: #Identifier = data, len: #Identifier = len, len: #Identifier = cap)
|
||||||
|
|
||||||
|
QueueAddSLL(list: $List, node: $Node, $first = first, $last = last, $next = next)
|
||||||
|
if list.first == 0
|
||||||
|
list.first = list.last = node
|
||||||
|
else
|
||||||
|
list.last = list.last.next = node
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
main :: (argc: int, argv: **char): int
|
||||||
|
$i := 10
|
||||||
|
return 0
|
||||||
Reference in New Issue
Block a user