- Pico (programming language)
:"See also
Pico (disambiguation) ."Pico is a
programming language developed at the PROG lab at theVrije Universiteit Brussel . 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'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 static scope. var: valueFunctions
Functions are
first-class object s in Pico. They can be assigned to variables. For example a function with two parameters param1 and param2 can be defined as func(param1, param2): ...Functions can be called with the following syntax: func(arg1, arg2)
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 and tables.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)
` http://www.paulgraham.com/accgen.html accgen(n): accfun(num): n + num
Implementations
Mac OS / Mac OS X
* [http://pico.vub.ac.be/downloads.html MacPico]
* [http://wilma.vub.ac.be/~pvdabeel/stuff/Xpico-Snaps/ XPico]Windows
* [http://pico.vub.ac.be/downloads.html WinPico] "This version is buggy"
* [http://student.vub.ac.be/~nkaraogl/WinPico/ WinPico Stable]Linux
* [http://dirk.rave.org/ TextPico for Linux]
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]
Wikimedia Foundation. 2010.