<p><pre><code> #!/usr/bin/env glas
print: "Welcome to Glas language"
Person:
name: last:"Random" & first: "Joe" & fathers: "Someone"
# name = {'last':"Random", "first": "Joe", "fathers": "Someone" }
print: person's name # print(person.name)
print: person's name's last # print(person.name.last)
print: last' person's name
arguments = alpha, beta, gamma
function application: *arguments
a, b, c = 1, 2, 3
calc discriminant: a, b, c # calc_discriminant(a,b,c)
# Glas doesn't care much about ','
calc discriminant: a b c # Same as before
call discriminant: top segment, b, c
# If it sees ',' it combines
# all that is listed & adds it to current
# first param and moves on to the
# next one with "," (switches modes)
object's perform something:
quit:' my's company
kill yourself:' motherfreaker
kill:' and maim:' opponent
check dead:' kill: with pistol' and maim: blunt object' opponent
kill: with pistol' and maim: blunt object' opponent's check dead:
# And he walked through the valey of
# the shadows of death and he feared no evil
# he.and_walked(
# through: "valey of shadows of death")
# .and_feared(not("evil")
# )
and walked: "through the valey"' he's
and feared: not: "evil"
# Ideal for code poetry hackatons! :D
# Almost sounds like a real preacher, this Glas
and warneth: "of temptation"' thee's and ignoreth: me
# ahahahahahaa sorry 'bout that :)
my: last: "Random" & first: "Joe"
if len: my's last' name > 10:
print: "Your name is too big!"
Bank Clerk: Person:
initialize = my, name, job, salary, project:
# my.name = name ...
with my:
name, job, salary, project' do:
=: *project
start working: project
start slacking: "Doom3"
start working: project' my
receive payment: salary' my
if my's hours > 40:
complain: hours' my's boss
if my's salary < 1500:
complain: salary' my's boss
start slacking' my # Oh my!
</code></pre>
Tell me what you think ;)<p>~
ps: Glas means Voice in Bulgarian (Глас) or even Russian!