Language Specification
|
Standard Libraries
|
Ufy Configuration
|
Ufy Language Tools
Ufydoc specification
|
Examples of Ufy Code
|
Download Ufy
|
Platforms
|
APIs
Ufy is a general purpose scripting language.
Its aims are to be:
- easy
- cross-platform
- multi-threaded
- object oriented
- extensible
- distributable
- introspective
- small
ufy is open source, licensed under the
GPL.
Since one of its aims is to be small, the executable itself comes quite bare.
There are a few standard function modules which enable IO, string
manipulation and introspection. Since it's cross-platform, none
of these functions enable something on one platform and not on the other.
Extended functionality comes (and should come) from scripted implementions
in libraries. In fact, a standard ufy install has its own dependency
for its standard libraries partly in scripts.
Further elaboration on ufy's aims:
- It's multi-threaded: this comes with standard functionality and the
keywords 'clone' and 'lock'. ufy's threads are always native ones;
no emulation is done.
- It's object oriented: one can make definitions of class, protect
namespace, overload operators, inherit multiple super-classes and
define destructors.
- It's extensible through inclusions of other source code, and the
use of modules which can be native (a comprehensive API
is provided), or source code
- or remote, accross TCP/IP (distributed interpreters).
- Standard functionality provides insight into the inner workings of
the interpreter, its threads, and its instances.
- Yet none of this should come in the way of someone who wants to
write a simple four-line script to connect to a service and fetch something
from it. Or print out a calender for the current month.
Current status of the project:
- Alpha - do not use where you expect predictable, integrous results.
- With binary modules implementing dbm, postgres, oracle functionality.
- With binary modules implementing gmp, ncurses and gui widgets underway.
- A sourcecode layer for standard libraries has been implemented.
- There are sourcecode libraries for cgi, database access,
synchronization devices and types, among others.
Contact information:
Author: Kees Jan Hermans
Date: 2006-07-06