Pico programming language |
Pico is a programming language developed at the PROG lab at the Dutch-speaking Free University of Brussels ( Vrije Universiteit Brussel , VUB ). The language was created to introduce the essentials of programming to non computer science students.
Pico can be seen as an effort to generate a palatable and enjoyable language for people who do not want to study hard for the elegance and power of a language. They have done it by adapting Scheme programming language s semantics.
While designing Pico, the PROG lab was inspired by the Abelson and Sussman s book Structure and Interpretation of Computer Programs . Furthermore, they were influenced by the teaching of programming at high school or academic level.
Pico should be interpreted as small , the idea was to create a small language for educational purposes.
= Language Elements =
== Comments ==
Comments are surrounded by a backquote (`).
== Variables ==
Variables are dynamically typed, pico uses a static scope. var: value
== Functions ==
Functions are first-class objects in Pico. They can be assigned to variables. For example a function with two arguments arg1 and arg2 can be defined as func(arg1, arg2): ...
Functions can be called with the following syntax: func(value1, value2)
== Operators ==
Operators can be used as prefix or infix in Pico: +(5, 2) 5 + 2
== Data Types ==
Pico has the following types: string, integer, real number and array.
It does not have a native char type, so users should resort to size 1 strings.
Tables are compound datastructures that may contain any of the regular datatypes.
Boolean types are represented by functions, in the same way as lambda calculus does.
== Control Structures ==
=== Conditional Evaluation ===
Only the usual if statement is included if(condition, then, else)
= Code Snippets =
display( Hello World , eoln)
max(a, b): if(a < b, b, a)
= Implementations =
== Mac OS / Mac OS X ==
*[http://pico.vub.ac.be/pages/soft.html MacPico] *[http://wilma.vub.ac.be/~pvdabeel/stuff/Xpico-Snaps/ XPico]
== Windows ==
*[http://pico.vub.ac.be/pages/soft.html WinPico] This version is buggy *[http://student.vub.ac.be/~nkaraogl/WinPico/ WinPico Stable]
== Linux ==
*[http://dirk.rave.org/ TextPico for Linux] *[http://infogroep.be/Toon gPico (and sPico)]
== Crossplatform ==
*[http://www.infogroep.be/sPico sPico for DrScheme]
= External links =
*[http://pico.vub.ac.be/ Pico Homepage] *[http://prog.vub.ac.be/ PROG lab] *[http://dinf.vub.ac.be/ Department of Computer Science at VUB] *[http://www.vub.ac.be/ VUB] *[http://www.infogroep.be/Pico The Infogroep Pico-page]|
|