Concept

Seed7

Résumé
Seed7 is an extensible general-purpose programming language designed by Thomas Mertes. It is syntactically similar to Pascal and Ada. Along with many other features, it provides an extension mechanism. Seed7 supports introducing new syntax elements and their semantics into the language, and allows new language constructs to be defined and written in Seed7. For example, programmers can introduce syntax and semantics of new statements and user defined operator symbols. The implementation of Seed7 differs significantly from that of languages with hard-coded syntax and semantics. Seed7 supports the programming paradigms: imperative, object-oriented (OO), and generic. It also supports features such as call by name, multiple dispatch, function overloading, operator overloading, exception handling and arbitrary-precision arithmetic. Major features include: User defined statements and operators Abstract data types Templates without special syntax Object-oriented with interfaces and multiple dispatch Static typing May be interpreted or compiled Source code portability Runs under BSD, Linux, Mac OS X, Unix, Windows Several programming language concepts are generalized: Type declarations (which assign a name to a type) and function definitions take the form of constant definitions. Compile-time expressions can execute user-defined functions. Overloading and object-orientation (with multiple dispatch) are seen as common concepts. They just happen at different times: compile time and run time, respectively. Type names and type descriptions can be used as parameter and function result. Functions, which are executed at compile time, can be used to define objects. Templates are written as compile time functions with type parameters. Arrays, hash maps and structs are not a hard-coded feature. Instead they are defined as abstract data type in libraries. Parser and interpreter are part of the runtime library. UTF-32 Unicode support. This avoids problems of variable-length encodings like UTF-8 and UTF-16.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.