LassoSoft Inc. Logo
|
|
Paradigm |
Multi-paradigm: structured object-oriented (multi-dis), imperative: procedural, concurrent, exp-oriented, Meta: reflective |
---|---|
Designed by | Kyle Jessup |
Developer | LassoSoft Inc. |
First appeared | 1995 |
Stable release |
9.3.1 / October 23, 2015
|
Typing discipline | Dynamic with constraints (strict-hybrid), nominative, duck (hybrid) |
Implementation language | C, Lasso |
Platform | Cross-platform |
OS | (OS X, Windows, Linux) |
License | Proprietary |
Filename extensions | .lasso .LassoApp |
Website | www |
Major implementations | |
Lasso 8, Lasso 9 | |
Influenced by | |
Dylan, Smalltalk, Scala |
Multi-paradigm: structured object-oriented (multi-dis), imperative: procedural, concurrent, exp-oriented,
Lasso is an application server and server management interface used to develop internet applications and is a general-purpose, high-level programming language. Originally a web datasource connection tool, for Filemaker and later included in Apple Computer's FileMaker 4.0 and Claris Homepage as CDML, it has since evolved into a complex language used to develop and serve large-scale internet applications and web pages.
Lasso includes a simple template system allowing code to control generation of HTML and other content types. Lasso is object-oriented and every value is an object. It also supports procedural programming through unbound methods. The language uses traits and multiple dispatch extensively.
Lasso has a dynamic type system, where objects can be loaded and augmented at runtime, automatic memory management, a comprehensive standard library, and three compiling methodologies: dynamic (comparable to PHP-Python), just-in-time compilation (comparable to Java or .NET Framework), and pre-compiled (comparable to C). Lasso also supports Query Expressions, allowing elements within arrays and other types of sequences to be iterated, filtered, and manipulated using a natural language syntax similar to SQL. Lasso includes full Unicode character support in the standard string object, allowing it to serve and support multi-byte characters such as Japanese and Swedish, and supports transparent UTF-8 conversion when writing string data to the network or file system.