Skip to content
Tech News
← Back to articles

Sky – an Elm-inspired language that compiles to Go

read original more articles
Why This Matters

Sky is an experimental programming language that merges Go's performance and ecosystem with Elm's elegant functional programming features, enabling developers to build fullstack applications with a single portable binary. Its design aims to simplify development workflows by unifying frontend and backend code, reducing complexity and deployment overhead. This innovation could influence the industry by promoting more integrated, efficient, and reliable fullstack development practices.

Key Takeaways

Sky

Experimental -- Sky is under active development. APIs and internals will change.

Sky is an experimental programming language that combines Go's pragmatism with Elm's elegance to create a simple, fullstack language where you write FP code and ship a single portable binary.

module Main exposing ( main ) import Std.Log exposing ( println ) main = println " Hello from Sky! "

What Sky brings together:

Go -- fast compilation, single static binary, battle-tested ecosystem covering databases, HTTP servers, cloud SDKs, and everything in between

-- fast compilation, single static binary, battle-tested ecosystem covering databases, HTTP servers, cloud SDKs, and everything in between Elm -- Hindley-Milner type inference, algebraic data types, exhaustive pattern matching, pure functions, The Elm Architecture

-- Hindley-Milner type inference, algebraic data types, exhaustive pattern matching, pure functions, The Elm Architecture Phoenix LiveView -- server-driven UI with DOM diffing, session management, and SSE subscriptions. No client-side framework. No WebSocket required

Sky compiles to Go. You get a single binary that runs your fullstack app -- API server, database access, and server-rendered interactive UI -- all from one codebase, one language, one deployment artifact.

The compiler, CLI, formatter, and LSP are all self-hosted -- written in Sky itself, compiled to a ~4MB native Go binary. Zero Node.js/TypeScript/npm dependencies. The compiler bootstraps through 3+ generations of self-compilation.

... continue reading