Skip navigation.
Home

The Warp Programming Language

Let me be clear: Warp does not yet exist. I have not yet written a single line of code on this project. I am going to implement the compiler in Haskell, and I have not yet learned Haskell. This 'book' is a planning document only. If you want to talk aobut the design of the language and related topics, that's great, but there's no software to play with yet, so don't bother looking for the 'download' link.

The Warp Programming Language is a compiled, statically typed language intended for writing libraries and system-level applications. This is, by design, the same problem domain addressed by C; the goal of Warp is to exceed C.

Warp is explicitly *not* targeted as a replacement for C++, nor is it intended to enforce any advanced model or paradigm for development (e.g., OOP, functional programming, predicate logic, etc.). Warp is meant for imperative, structured, procedural, modular programming; like C, it provides a thin layer of abstraction over machine language on a conventional mass-market computer architecture.

Warp is a re-formulation of C in much the same sense that Ruby is a re-formulation of Perl. In the years since Dennis Ritchie created the mother tongue, we have nearly four decades of experience, and an entirely different technological ecosystem. Given that, we can do a better job of designing a system programming language suited to modern needs, even if the designer lacks Ritchie's genius.

Warp is intended to support the computing environment of the early 21st century: 32- and 64-bit processors, IEEE floating point numbers, IPv4/IPv6, multibyte character sets, Linux, Windows, MacOS X, and virtual machines.

The initial implementation of Warp will be written in Haskell. It may later be rewritten to be self-hosting.