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)
