Qu
1028197
211889220
2008-05-12T15:41:02Z
Scoty6776
827760
cleanup
:''For other uses, see [[QU]]''
'''Qu''' is a computer [[programming language]] with an [[open-source]] [[interpreter]] written in C by Marc Krisnanto. It is comparable to [[Python (programming language)|Python]], [[Ruby programming language|Ruby]], [[Perl]] and many others.
The language is semi-dynamic, and optionally [[strongly typed]], with full [[object orientation]]. All [[variable]]s in the language are first class objects.
The design and implementation focuses on compactness and speed, using the [http://www.gnu.org/software/lightning/lightning.html GNU Lightning] [[Just-in-time compilation|Just In Time compiler]] (JIT).
== Examples ==
# Ackermann
if not (__arg__) # get input;
println("Ackermann's function ...")
println("Enter a number on the command line!")
else
NUM = Int(__arg__[0])
printf('Ack (3,%d): %d\n', NUM, Ack(3, NUM))
end if
sub Ack(m, n) # one way
if m == 0 return n + 1
elif n == 0 return Ack(m - 1, 1)
else return Ack(m - 1, Ack(m, n - 1));;
;;
# alternate way
sub ackermann (m, n)
return m ? (n ? ackermann (m - 1, ackermann (m, n - 1)) :
ackermann (m - 1, 1)) : n + 1
;;
== See also ==
[[Queens|Queens New York]] A borough of New York City
==External links==
* [http://www.qu-lang.org Qu Home Page]
* [http://www.qu-lang.org/packages GTK, MySQL, curses, zlib modules for Qu]
[[Category:Class-based programming languages]]
[[nah:Qu]]