Pico is a programming language developed at the Software Languages Lab at Vrije 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.

Pico (programming language)

While designing Pico, the Software Languages 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 (programming language)

Pico should be interpreted as 'small', the idea was to create a small language for educational purposes.

Pico (programming language)

Language elements

Comments

Comments are surrounded by backquotes ("`").

Variables

Variables are dynamically typed; Pico uses static scope. var: value

Functions

Functions are first-class objects 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 data structures that may contain any of the regular data types.

Boolean types are represented by functions (as in lambda calculus).

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`

foo(n): fun(i): n := n+i

Implementations

Mac OS, Mac OS X

MacPico

XPico

Windows

WinPico This version is buggy

WinPico stable

Linux

TextPico for Linux

Cross-platform

sPico for DrScheme

External links

Software Languages Lab

Department of Computer Science at VUB

VUB

The Infogroep Pico page

Educational programming languages

Programming languages

1997 software

Programming languages created in 1997