Est. 2010 Intermediate

Lasso 9

The 2010 ground-up rewrite of the Lasso web language - a multi-paradigm, JIT-compiled successor to one of the web's earliest application servers, born as FileMaker middleware in 1995 and rebuilt to compete with PHP

Created by Kyle Jessup and the LassoSoft team (the Lasso lineage originated with Vince Bonfanti and Blue World Communications in 1995)

Paradigm Multi-paradigm: Object-Oriented (multiple dispatch, traits), Procedural, Expression-Oriented, Concurrent
Typing Dynamic with optional type constraints; hybrid nominative and duck typing
First Appeared 2010 (Lasso 9.0, released January 29, 2010; the Lasso lineage dates to 1995)
Latest Version Lasso 9.3.1 (October 2015, the last documented release)

Lasso 9 is the 2010 reinvention of Lasso, one of the web’s oldest application-server languages. Where earlier Lassos had grown incrementally out of 1990s FileMaker middleware, Lasso 9.0 - released on January 29, 2010 - was a ground-up rewrite: a new compiler with just-in-time compilation, a new object system built on traits and multiple dispatch, optional type constraints layered over dynamic typing, query expressions for collection processing, and IO-driven green threading aimed at multi-core servers. It was an ambitious attempt to turn a niche commercial web language into a modern general-purpose one that could stand next to PHP, Python, and Ruby. Technically it largely succeeded; commercially, it arrived a decade too late, and the master catalog’s verdict - dormant - is accurate. The last documented release, 9.3.1, shipped in October 2015.

From FileMaker middleware to a language

The Lasso story begins in the fall of 1995, when developer Vince Bonfanti built a CGI tool that let FileMaker Pro databases answer web requests. Blue World Communications of Bellevue, Washington acquired the technology and shipped Lasso 1.0 in September 1996 - making Lasso a contemporary of PHP/FI and Cold Fusion in the first wave of server-side web tools, and the darling of the Macintosh web-publishing world in particular.

The early endorsements were substantial. In 1997, Claris - Apple’s software subsidiary - licensed Lasso’s engine and built it into FileMaker Pro 4.0 as CDML (Claris Dynamic Markup Language), placing Lasso-derived technology in front of FileMaker’s entire installed base. Kyle Jessup, who would become the language’s principal designer, served as Blue World’s lead programmer on Lasso through this era.

Over the following decade Lasso repeatedly outgrew its origins. Lasso 5 (February 2002) severed the FileMaker umbilical, adding an embedded MySQL database and running on Mac OS X, Windows, and Linux. Blue World sold the product to OmniPilot Software in August 2004, which shipped Lasso 8 that October with multi-site sandboxing and a wide array of database connectors. In 2007 the language came home to its makers: Kyle Jessup, Fletcher Sandbeck, and Kerry Adams founded LassoSoft LLC and took over development.

The 9.0 rewrite

By the late 2000s, Lasso faced a hard truth: it was a paid, proprietary product competing against free languages with enormous communities. LassoSoft’s answer was radical - rewrite everything. Lasso 9.0 changed the architecture, the syntax, and the execution model in one release:

  • Just-in-time compilation. Lasso 9 compiles code dynamically at runtime rather than interpreting it, an execution model LassoSoft compared to Java and .NET, with support for pre-compiled applications as well.
  • A real type system, optionally enforced. Lasso 9 remains dynamically typed, but method parameters and data slots can carry type constraints (name::string) that are enforced at dispatch - a hybrid of nominative typing and duck typing.
  • Traits and multiple dispatch. The object system leans on traits for composable behavior and resolves methods by multiple dispatch, design choices that show the acknowledged influence of Dylan, Smalltalk, and Scala.
  • Query expressions. A declarative with ... in ... where ... syntax lets arrays and other containers be iterated, filtered, and aggregated in a single expression - Lasso’s analogue to LINQ-style collection processing.
  • Concurrency for multi-core servers. The runtime uses IO-driven green threading designed for multi-core systems, with native serialization and 64-bit support throughout.

What Lasso 9 looks like

Lasso kept its heritage as an HTML-embedded template language - square brackets are reserved for Lasso code in templates - while the 9.x syntax made it a full expression-oriented language. Methods are defined with an arrow, local variables are prefixed with #, and thread-scoped variables with $:

// A method with a type-constrained parameter
define greet(name::string) => 'Hello, ' + #name + '!'

greet('World')  // -> Hello, World!

// A type with data slots and a computed method
define person => type {
    data public firstName::string,
         public lastName::string

    public fullName() => .firstName + ' ' + .lastName
}

Query expressions handle collection logic declaratively:

// Sum the even numbers in an array
with n in array(1, 2, 3, 4, 5, 6)
where #n % 2 == 0
sum #n

For web work, the same code embeds directly in pages, and applications can be bundled and deployed as self-contained LassoApps - a deployment model the platform had carried since the 1990s.

The LassoSoft Inc. years

Lasso 9.0’s launch was rocky - documentation lagged the rewrite badly, and a community already drifting toward free alternatives found the transition from Lasso 8 steep. The rescue came from an unusual direction: in December 2010, LassoSoft Inc. was formed in Canada in partnership with Treefrog Interactive, a long-time Lasso agency, expressly to buy the code and IP and invest in the language, its marketing, and its documentation.

The new company moved quickly. 2011 brought two releases: Lasso 8.6, stabilizing the legacy platform for existing customers, and Lasso 9.1 (July 11, 2011), which added a new administration interface, instance management for running multiple isolated Lasso instances, and 64-bit connectors. Lasso 9.2 followed on June 1, 2012, launched around that May’s Lasso Developer Conference: it brought the 9.x line to Windows (9.0 and 9.1 had run on OS X and Linux), added integrated debugging and profiling, and was accompanied by LassoLab, an Eclipse-based IDE announced at the conference. Lasso 9.3 (January 23, 2015) modernized the administration interface and added centralized deployment; 9.3.1 (October 23, 2015) is the last release the public record documents.

Decline and current status

Lasso 9’s dormancy is the quiet kind. There was no shutdown announcement, no end-of-life notice - releases simply stopped after 2015. The dynamics were the same ones that felled ColdFusion’s smaller rivals: Lasso was proprietary and commercial (reportedly free for development, paid for production) in a market where PHP, Python, and Ruby cost nothing and had vastly larger communities. The 9.0 rewrite, technically the most interesting thing that ever happened to the language, also fractured its remaining base - code and skills from the widely deployed Lasso 8 era did not carry over cheaply, and the documentation gap at launch cost goodwill the small community could not spare.

As of 2026, lassosoft.com remains online, Lasso Server 9 can still be downloaded and licensed, and a community of long-time Lasso developers still maintains production systems built on it - the language guide, reference, and the TagSwap code library all survive on the company’s site. But dormant is the honest word: no new version, roadmap item, or significant public development has been documented in over a decade.

Why it matters

Lasso 9 matters for two reasons that pull in opposite directions.

First, the lineage: Lasso was genuinely early. It was answering web requests from databases in 1995-96, before most of today’s web languages existed in usable form, and through the Claris CDML deal it introduced a generation of FileMaker developers to dynamic web publishing. Any history of the server-side web that lists Cold Fusion and PHP/FI should list Lasso beside them.

Second, the rewrite itself is an instructive artifact. Lasso 9 is what it looks like when a small, serious team rebuilds a 1990s template language into a modern multi-paradigm one - traits, multiple dispatch, optional typing, query expressions, JIT compilation, green threads - and executes reasonably well on the engineering. The lesson of its dormancy is that by 2010, language adoption was no longer decided by language design: ecosystem gravity, price, and community scale had become the whole game. Lasso 9 stands as one of the clearest specimens of a well-built language that arrived after its market had already closed.

Timeline

1995
Origins of the lineage: Vince Bonfanti builds a CGI tool connecting FileMaker Pro databases to the web; Blue World Communications acquires the technology and develops it into Lasso
1996
Blue World releases Lasso 1.0 in September, one of the earliest commercial web application servers, popular in the Macintosh and FileMaker web-publishing communities
1997
Claris (Apple's software subsidiary) licenses Lasso technology and ships it inside FileMaker Pro 4.0 as CDML, the Claris Dynamic Markup Language; Kyle Jessup serves as Lasso's lead programmer at Blue World during this era
2002
Lasso 5 (February) breaks from the FileMaker-centric design, adding an embedded MySQL database and support for Mac OS X, Windows, and Linux
2004
Blue World sells Lasso to OmniPilot Software in August; OmniPilot ships Lasso 8 in October with multi-site sandboxing and a broadened set of database connectors
2007
Kyle Jessup, Fletcher Sandbeck, and Kerry Adams found LassoSoft LLC and take over development of the language
2010
Lasso 9.0 released on January 29 - a complete rewrite of the language and runtime with just-in-time compilation, optional type constraints, traits, multiple dispatch, native serialization, 64-bit support, and green threading for multi-core systems
2010
In December, LassoSoft Inc. is formed in Canada in partnership with long-time Lasso shop Treefrog Interactive, acquiring the code and intellectual property to continue developing the Lasso product line
2011
LassoSoft Inc. ships Lasso 9.1 on July 11 with a new administration interface, instance management, and 64-bit connectors; the legacy Lasso Professional 8 line is stabilized the same year with Lasso 8.6
2012
Lasso 9.2 released on June 1, launched around the Lasso Developer Conference held that May, bringing Windows support to the 9.x line along with integrated debugging and profiling; the Eclipse-based LassoLab IDE is announced alongside it
2015
Lasso 9.3 released on January 23 with an updated administration interface and centralized deployment; the 9.3.1 maintenance release in October 2015 is the last publicly documented release
2026
Status today: dormant. LassoSoft's website remains online and Lasso Server 9 can still be downloaded, but no new release has been documented in over a decade; existing deployments live on in maintenance mode

Notable Uses & Legacy

Treefrog Interactive

The Canadian web agency built its business on Lasso, delivering client sites and applications on Lasso Server, and in 2010 partnered to form LassoSoft Inc. expressly to buy the language's code and IP and fund continued development of Lasso 9

Claris / FileMaker (Apple)

In the lineage's most prominent endorsement, Claris licensed the Lasso engine in 1997 and shipped it inside FileMaker Pro 4.0 as CDML, putting Lasso-derived web publishing in front of the entire FileMaker installed base

LassoSoft Inc.

Ran its own web presence, documentation system, and reference tooling on the platform, with the lassosoft.com site itself served by Lasso - the company's public demonstration that Lasso 9 could run a production content system

Language Influence

Influenced By

Running Today

Run examples using the official Docker image:

docker pull
Last updated: