-
Notifications
You must be signed in to change notification settings - Fork 0
Comparison with Vessel
Nate Ferrero edited this page Oct 25, 2015
·
2 revisions
Vessel Programming Language Specification
Animal: {
name: @it
tummy: []
eats: {
@it tummy.push
}
}
cat: 'Kitty Cat' Animal
dog: 'Gruffy' Animal
dog cat.eatsMaterial: {
}
Material: {
getName: {
name
}
}
Material: {
getName: {
name
}
setName: {
name: @it
}
}
Tree: Material {
}
Pine: Material Tree {
}x: [] {8: 22}
x 8 @Console.log
# 22Cat: {
name @String.isInstanceOf || 'name' @TypeError ^
born @Date.isInstanceOf || 'born' @TypeError ^
meow get: {
`Meow! I, ${name}, was born on ${born}.` @Console.log
}
}
{} Cat
# TypeError: name
kitty: {name: 'Kitty', born: '2015-01-01' @Date} Cat
kitty.meow
# Meow! I, Kitty was born on Thu Jan 01 2015 00:00:00 GMT-0500 (EST).Service: '../service' @system.importApp: {
run: {
@Service
}
}
{@Service get: {'wow' @Console.log}} ({} App).run
# wowsuccess && ( ... ) || ( ... )[1, 2, 3].each {
}
{
alive @Console.log
}.while {
alive
}
{
alive @Console.log
}.until {
!alive
}'error' ^= {
`event raised: ${@it}` @Console.log
}
= @TypeError {
'got a type error'
}
'wow' ^
'wow' @TypeError ^
# event raised: wow
# event raised: TypeError: wow
# got a type error