The Web App Specification Language (Wasp) was recently released in alpha to help developers write modern web applications with less code. Just like Elm, Wasp is a domain-specific language written in Haskell. Unlike Elm, which only addresses single-page applications, Wasp also supports multi-page applications. The alpha release currently leverages a single web stack covering front-end and back-end (React/Node/Express/Prisma).
The Web App Specification Language self-describes as a programming language for building web apps with less code: Front-end, back-end and deployment - all within one concise DSL. The Wasp documentation explains:
[…] Wasp is not trying to do everything at once but rather focuses on the accidental complexity which arises from connecting all the parts of the stack (client, server, deployment) together.
Right now, Wasp supports React and Node and relies on them to define web components and server queries and actions.
Wasp compiles a
.wasp file into the assets constituting a web application: