Summary by TwinMind · 33m 25s
Summary by TwinMind · 33m 25s

Falling In Love With Gleam

Falling In Love With Gleam

Theo - t3․gg

Theo - t3․gg

Gleam Language Overview

  • Friendly language for building type-safe systems that scale
  • Built on Erlang BEAM runtime (same as Elixir)
    • Gets same benefits and ecosystem as Elixir
    • Much more focused on type safety vs Elixir's gradual type system approach
  • Code looks similar to Elixir but with stronger type safety
  • Features: piping functionality, threads, spawn tasking, no null values, no exceptions, clear error messages, practical type system

Gleam 1.0.0 Release Details

  • First stable release of the language
  • Major milestone for ecosystem after long journey
  • Covers all public APIs in main gleam git repo:
    • Gleam language compiler
    • Build tools
    • Package manager
    • Code formatter
    • Language server
    • Compiler for WASM APIs and JS bindings
  • Standard library and core team packages getting V1 release shortly after
  • Core team filing pull requests to popular community packages to relax version constraints for smooth V1 upgrade

Version 1.0 Stability Commitments

  • Statement about gleam stability and production readiness
  • Suitable for products that matter
  • Stable and predictable foundation
  • Follows semantic versioning
  • Backwards compatibility now priority
  • No breaking changes except for security/soundness issues
  • Critical bugs may be fixed even if programs depend on buggy behavior

Language Design Philosophy

  • Consistent with small surface area - learnable in afternoon
  • Lack of magic, strong preference for one way of doing things
  • Easy to read and understand
  • Optimized for reading/debugging over writing new code
  • Different from recent performance-focused languages
  • Concurrency advantage over single-threaded performance
    • BEAM VM excellent at concurrency
    • Makes concurrency trivial to implement
    • Better replacement for JavaScript than Rust for many use cases
    • WhatsApp built with ~5 engineers, hundreds of millions users due to Erlang concurrency model

Technical Features Demonstrated

  • Robust static analysis and type system (inspired by Elm, OCaml, Rust)
  • Compiler serves as programming assistant
  • Refactoring is low risk and low stress (design goal)
  • Runs on Erlang VM (mature, battle-tested platform)
  • Also runs on JavaScript runtimes (browser, mobile, anywhere)
  • Pattern matching with case statements
  • Immutable data structures
  • Type inference
  • Pipe operators with placeholder syntax
  • Generic functions
  • Labeled arguments
  • Documentation comments (triple/quadruple slash syntax)
  • No function overloading (single implementation per function name)

Post-V1 Roadmap

Productivity Focus

  • Avoiding breaking changes
  • Avoiding language bloat
  • Simplicity is a feature - won't change
  • New features must be:
    • Generally useful
    • Enable new things not otherwise possible
    • Worthwhile tradeoff for added complexity
  • Focus on developer experience improvements over new language features
  • Initial focus: improving language server (currently immature compared to other tooling)
  • Working on libraries for production systems
  • Additional focus on websites and web services
  • Documentation priority - tutorials and guides for all tasks

Sustainability Challenges

  • Not Microsoft/Google project - community project
  • One full-time dev (Louis Pilfold) plus part-time volunteers
  • Small team needs to be efficient - focus on impactful, meaningful work
  • Cannot afford niche or unimportant situations
  • Internal docs important for open source contributions
  • Feedback: compiler and build tools easy to contribute to
  • Goal: never reach point where only select few can meaningfully contribute

Financial Sustainability

  • Louis works full-time thanks to GitHub sponsors
  • Fly.io provides ~half the funding (~$25K/year)
  • Current earnings: less than half median lead developer salary in London (~$50K vs ~$100K)
  • Goal: diversify funding with more corporate sponsors and revenue streams
  • Want to reward regular contributors appropriately
  • Seeking to earn around median salary for similar role

Community and Ecosystem

  • 6.2K GitHub stars (expected to hit 10K+ quickly)
  • Multiple contributors with 100+ commits showing healthy contribution pattern
  • New mascot: Lucy the starfish (enjoys strawberry ice cream and functional programming)
  • Website redesign with improved colors for legibility
  • Comprehensive learning resources including interactive browser-based tutorial
  • Luster web framework available (not by core team but supported)