|
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. A programming language or computer language is a standardized communication technique for expressing instructions to a computer. ...
Emblem of the Brussels-Capital Region Flag of The City of Brussels Brussels (Dutch: Brussel, French: Bruxelles, German: Brüssel) is the capital of Belgium and is considered by many to be the de facto capital of the European Union, as two of its three main institutions have their headquarters...
The seal of the Vrije Universiteit Brussel The Vrije Universiteit Brussel (VUB) is a Dutch-speaking university situated in Brussels, Belgium. ...
The seal of the Vrije Universiteit Brussel The Vrije Universiteit Brussel (VUB) is a Dutch-speaking university situated in Brussels, Belgium. ...
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. Scheme is a functional programming language and a dialect of Lisp. ...
In general, semantics (from the Greek semantikos, or significant meaning, derived from sema, sign) is the study of meaning, in some sense of that term. ...
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 (`). The grave accent ( ` ) is a diacritic mark used in written Greek, French, Catalan, Welsh, Italian, Vietnamese, Norwegian, Portuguese and other languages. ...
Variables Variables are dynamically typed, pico uses a static scope. In computer science and mathematics, a variable is a symbol denoting a quantity or symbolic representation. ...
One major distinction made in the nature and behaviour of programming languages is that of its typing. ...
This article or section should be merged with scope (programming) In computer science, static scoping, as opposed to dynamic scoping, is a way that the scope (programming) of free variables is determined according to its position in program code. ...
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 In computing, a first-class object (also -value, -entity, -citizen), in the context of a particular programming language, is an entity which can be used in programs without restriction (when compared to other kinds of objects in the same language). ...
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 and tables. Generally, string is a thin piece of fiber which is used to tie, bind, or hang other objects. ...
The integers consist of the positive natural numbers (1, 2, 3, …) the negative natural numbers (−1, −2, −3, ...) and the number zero. ...
The text or formatting below is generated by a template which has been proposed for deletion. ...
In computer programming, an array, also known as a vector or list, is one of the simplest data structures. ...
It does not have a native char type, so users should resort to size 1 strings. Char has several meanings, depending on context: Charring is the process of incomplete combustion of a substance (usually carbohydrates, such as wood or biomass), and char is the remains of charring (usually carbon, such as coal or charcoal). ...
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. The lambda calculus is a formal system designed to investigate function definition, function application, and recursion. ...
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 - MacPico (http://pico.vub.ac.be/pages/soft.html)
- XPico (http://wilma.vub.ac.be/~pvdabeel/stuff/Xpico-Snaps/)
Windows - WinPico (http://pico.vub.ac.be/pages/soft.html) This version is buggy
- WinPico Stable (http://student.vub.ac.be/~nkaraogl/WinPico/)
Linux - TextPico for Linux (http://dirk.rave.org/)
- gPico (and sPico) (http://infogroep.be/Toon)
Crossplatform - sPico for DrScheme (http://www.infogroep.be/sPico)
External links - Pico Homepage (http://pico.vub.ac.be/)
- PROG lab (http://prog.vub.ac.be/)
- Department of Computer Science at VUB (http://dinf.vub.ac.be/)
- VUB (http://www.vub.ac.be/)
- The Infogroep Pico-page (http://www.infogroep.be/Pico)
|