Sunday, October 27, 2013


Scheme is one of the two main dialects of the programming language Lisp. The other is Common Lisp. Scheme follows a minimalistic approach with a small core. It was developed at the MIT AI Lab by Guy L. Steele and Gerald Jay Sussman via a series of academic memos, known as the Lambda Papers, over the period 1975–1980.

Scheme is a good start point to implement a new programming language, because it is simple (homoiconicity), and it's compactness and elegance.

The Scheme language is standardized in the official IEEE standard.There is a de facto standard called the Revisedn Report on the Algorithmic Language Scheme (RnRS). The most widely implemented standard is R5RS (1998), and a new standard R6RS was ratified in 2007.

There are a lot of implementations, you can see in the this list:

I hope very soon publish its own implementation.

Wednesday, September 25, 2013

Programming paradigm

According to Wikipedia, a programming paradigm is a fundamental style of computer programming, a way of building the structure and elements of computer programs. There are four main paradigms: imperative, functional, object-oriented, and logic programming.

Each paradigm has its own concepts and way of thinking, and we can use it to classify programming language. For example, smalltalk is an object oriented language, or haskell is a pure functional programming language.

Which is the most powerful? It depends on the objective you're pursuing. But if you don't want to wear a straight jacket, a multi-paradigm programming language could be a reasonable choice. 

Let me show you some examples: Common lisp, scheme, erlang, c++, ...

For a longer list :

Saturday, November 3, 2012

TIOBE Index evolution for Lisp programming language

Some highlights for the Lisp Programming Language (from

  • Highest Rating (since 2001): 1.182% (13th position, November 2011)
  • Lowest Rating (since 2001): 0.319% (15th position, August 2004)
  • Paradigms: Functional
  • Type system: Dynamically typed

Thursday, November 1, 2012

Lisp: 13th position in the TIOBE Programming Community Index

Lisp, the most famous A.I. programming language, is ranked on 13th position in the TIOBE index. The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month.  

This index is based on the number of software enigineers world-wide, courses and third party vendors. The popular search engines Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings.

Below you have the 20 most well ranked for October 2012. 

Oct 2012
Oct 2011
Delta in PositionProgramming LanguageRatings
Oct 2012
Oct 2011
1 2 C 19.822% +2.11%   A
2 1 Java 17.193% -0.72%   A
3 6 Objective-C 9.477% +3.23%   A
4 3 C++ 9.260% +0.19%   A
5 5 C# 6.530% -0.19%   A
6 4 PHP 5.669% -1.15%   A
7 7 (Visual) Basic 5.120% +0.57%   A
8 8 Python 3.895% -0.05%   A
9 9 Perl 2.126% -0.31%   A
10 11 Ruby 1.802% +0.28%   A
11 10 JavaScript 1.261% -0.93%   A
12 12 Delphi/Object Pascal 1.097% -0.01%   A
13 13 Lisp 0.947% -0.08%   A
14 18 Pascal 0.839% +0.12%   A
15 16 Lua 0.728% -0.07%   A
16 20 Ada 0.654% +0.04%   B
17 15 PL/SQL 0.630% -0.27%   B
18 25 Visual Basic .NET 0.599% +0.12%   A--
19 21 MATLAB 0.591% +0.02%   B
20 19 Assembly 0.568% -0.05%   B


Sunday, September 9, 2012

Creating Dynamic Websites with Lisp and Apache

Lisp has grown from the fifties. Now you can develop web applications a lot easier than in last decades. In this site you have a tutorial for web development with Lisp.

Creating Dynamic Websites with Lisp and Apache | The λ Lambda meme – all things Lisp. Source:

Tuesday, September 4, 2012

Void type – Wikipedia, the free encyclopedia

Why this site is called "voidtype"? There are many reasons: 
  • it is an unspecified type with no values
  • it is a homage to C programming language
  • it is the minimal construct 
  • it is a cool name

The void type, in several programming languages derived from C and Algol68, is the type for the result of a function that returns normally, but does not provide a result value to its caller. Usually such functions are called for their side effects, such as performing some task or writing to their output parameters. The usage of the void type in such context is comparable to that of the syntactic constructs which define subroutines in Visual Basic and procedures in Pascal. It is also similar to the unit type used in functional programming languages and type theory; however, there are some differences in allowable usage, in that the void type is taken to be an empty type with no values. See Unit type#In programming languages for a comparison. Source:

Saturday, September 1, 2012

Welcome to everybody

I hope this website provides you some interesting assets and you could find what you are looking for. The major topics of the site are: hardware/software technology used in designing and implementing software systems, and some special software system, i.e. intelligence agents.

For example, let's define what is an Intelligent Agent.

A intelligent agent (IA) is an autonomous entity which observes through sensors and acts upon an environment using actuators (i.e. it is an agent) and directs its activity towards achieving goals (i.e. it is rational). Intelligent agents may also learn or use knowledge to achieve their goals. They may be very simple or very complex: a reflex machine such as a thermostat is an intelligent agent, as is a human being, as is a community of human beings working together towards a goal.   Source: