Science Fair Project Encyclopedia
Categories: Class-based programming languages | Dynamically-typed programming languages | Free software | Imperative programming languages | .NET programming languages | Object-oriented programming languages | Programming languages
Boo programming language
Boo is a new, object oriented, statically typed, programming language for the Common Language Infrastructure with a Python-inspired syntax and a special focus on language and compiler extensibility. Some features of note include type inference, generators, multimethods, optional duck typing, macros, true closures, currying, and first class functions.
Boo is open source–licensed under an MIT/BSD style license.
Code samples
print "Hello, world!"
Fibonacci series generator function:
def fib():
a as long, b as long = 0, 1
while true:
yield b
a, b = b, a + b
Basic Windows Form example demonstrating classes, closures, and events:
import System.Windows.Forms
import System.Drawing
class MyForm(Form):
def constructor():
b = Button(Text: "Click Me")
b.Location = Point(100, 50)
b.Click += do():
MessageBox.Show("you clicked the button!")
self.Controls.Add(b)
f = MyForm()
Application.Run(f)
Asynchronous design pattern with a closure:
import System
def run():
print("executing")
print "started"
result = run.BeginInvoke({ print("called back") })
System.Threading.Thread.Sleep(50ms)
run.EndInvoke(result)
print "done"
plusX = { a as int | return { b as int | return a + b }}
print plusX(3)(4)
External links
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details


