Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
8 user(s) are online (7 user(s) are browsing encyclopedia)

Members: 0
Guests: 8

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

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]