Project

General

Profile

Scol standard library package  0.3.1
Common and usefull functions for all Scol applications
Introduction

Scol is a free programing language. The license can be found in the official web site : http://www.scolring.org

Scol is a free, fonctionnal, high level, interpreted, polymorphic and asynchronous language. Its typing is mainly static and done by inference of type.

Scol is under development, it should be multiplatform ultimately. Like Java or Python, Scol runs in a virtual machine (VM) and each Scol application runs in a child virtual machine. A VM can communicate with another VM. A full VM takes 15 to 25 MB in memory (more if extensions are added).

Scol has two 3d engine. The legacy engine, very old, is not used to the new applications. The second, newer, is totally based on Ogre3d. It is much more powerful and has a much better rendering. Today, Scol is used rather in the 3d real time, interactive and multi-user application. Applications can be off- or on-line.

However, multimedia, graphics, database, ... libraries are in the standard release : other applications are possibles !

  • Free : no royalties are required to install, use, study or contribute. Scol is under Scol license (BSD-modified) for the historical part and under GNU / LGPL 2 or later for the newer part.
  • Functional : Scol is influenced by OCaml and C too. All is function and all instructions must return a single value (never "void" or more). Variables and other objects are internally considered as functions. However, the side effects can be importants. Recursive functions are very commonly used.
  • High level : psuedo oriented-object (OO) is possible and a Garbage Collector (GC) manages the memory.
  • Interpreted / script : Scol launches a new virtual machine with a minimal environment (with all Scol APIs availables). Next, it reads and loads each package (source) in the memory, checks the typing and product a byte-code. Finally, this last is executed.
  • Asynchronous : Scol uses mostly the asynchronous method in the most of cases : networks, graphics, ...
  • Polymorphic : Some functions do not impose any type conditions on the arguments, or certain parts of certain arguments.
  • Typing : in Scol, types are simply there to help the developer: the types are only used when compiling. Thereafter, when you run your program, they are no longer used since the program has already been proved to be correctly typed. The typing is done by inference of type : this means that the compiler calculates the type of your functions itself; the developer will not usually have to specify it.
  • Scol (kernel and extensions) is written in C and C++ with few parts in ASM.

More informations, documentations and tutorials can be found in the official website : http://www.scolring.org

Now you can proceed to the Advanced libraries uses.