Pico (programming language): Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Jlwoodwa
tag as one source
 
imported>Otr500
Move excessive links to talk page for possible inclusion per WP:BURDEN. Remove 2016 career maintenance tag. Add "Notability" tag.
 
Line 1: Line 1:
{{Other uses|Pico (disambiguation)}}
{{Other uses|Pico (disambiguation)}}
{{Multiple issues|
{{Multiple issues|
{{External links|date=March 2017}}
{{Notability|date= July 2025}}
{{More citations needed|date=December 2023}}
{{More citations needed|date=December 2023}}
{{one source |date=March 2024}}
{{one source |date=March 2024}}
Line 95: Line 95:
== External links ==
== External links ==
*{{Official website}}
*{{Official website}}
*[http://soft.vub.ac.be/ Software Languages Lab]
 
*[http://dinf.vub.ac.be/ Department of Computer Science at VUB]
*[http://www.vub.ac.be/ VUB]
*[https://web.archive.org/web/20080905092145/http://www.infogroep.be/Pico The Infogroep Pico page]


{{Lisp programming language}}
{{Lisp programming language}}

Latest revision as of 00:43, 11 July 2025

Script error: No such module "other uses". Script error: No such module "Unsubst". Template:Use dmy dates Script error: No such module "Infobox".Template:Template otherScript error: No such module "Check for unknown parameters". Pico is a programming language developed at the Software Languages Lab at Vrije Universiteit Brussel, intended to be simple, powerful, extensible, and easy to read.[1] 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 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 should be interpreted as 'small', the idea was to create a small language for educational purposes.

Language elements

De Meuter, Gonzalez, and D'Hondt describe the Pico syntax as being "two-tiered."[1] The first layer consists of simple rules for writing small programs in a functional programming style.

Comments

Comments are surrounded by backquotes ("`").

Variables

Variables are dynamically typed; Pico uses static scope.

var: value

Functions

Functions, like everything in Pico, are first-class objects, meaning they can be assigned to variables and passed to and returned from functions. Also, there are no anonymous functions in Pico; functions must have a name.[1] For example, a function, func, 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

Windows

Linux

Cross-platform

References

<templatestyles src="Reflist/styles.css" />

  1. a b c Script error: No such module "Citation/CS1".

Script error: No such module "Check for unknown parameters".

External links

  • Script error: No such module "Official website".Script error: No such module "Check for unknown parameters".


Template:Lisp programming language