32 lines
401 B
Plaintext
32 lines
401 B
Plaintext
extern func puts(fmt: cstring)
|
|
|
|
interface Printable
|
|
{
|
|
func print()
|
|
}
|
|
|
|
struct Human : Printable
|
|
{
|
|
name: cstring
|
|
|
|
func print()
|
|
{
|
|
puts(this^.name)
|
|
}
|
|
}
|
|
|
|
func main(args: []cstring): i64
|
|
{
|
|
let human = alloc Human {
|
|
name = "oliver"
|
|
}
|
|
|
|
human.print()
|
|
print_printable(human)
|
|
return 0
|
|
}
|
|
|
|
func print_printable(printable: Printable)
|
|
{
|
|
printable.print()
|
|
} |