# Gleam

> functional, concurrent programming language

**Wikidata**: [Q66370905](https://www.wikidata.org/wiki/Q66370905)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Gleam_(programming_language))  
**Source**: https://4ort.xyz/entity/gleam

## Summary

Gleam was influenced by several programming languages, including Elm, OCaml, Rust, Alpaca, Elixir, Go, and one more[1]. This list of influences gives an idea of the breadth of languages that have shaped Gleam. The inclusion of languages like Rust and Go suggests that performance and concurrency may be important considerations for Gleam[1]. With a diverse set of influences like Elm, OCaml, and Elixir, Gleam's design likely reflects a blend of functional and modern programming concepts[1].

## Summary
Gleam is a functional, concurrent programming language created by Louis Pilfold in 2016. It runs on the BEAM virtual machine and is influenced by languages like Elm, OCaml, and Elixir. The language emphasizes type safety and is designed for building scalable, maintainable applications.

## Key Facts
- Created by Louis Pilfold in 2016-06-13
- Latest stable version: 0.7.1 (released 2020-03-03)
- Licensed under Apache Software License 2.0
- File extension: .gleam
- Influenced by Elm, OCaml, Erlang, Alpaca, Elixir, and Go
- Runs on BEAM virtual machine platform
- Static typing with safe typing discipline
- Official website: https://gleam.run/
- GitHub repository: https://github.com/gleam-lang/gleam
- Twitter handle: @gleamlang (created May 2020)
- Discord server ID: 768594524158427167

## FAQs
### Q: What type of programming language is Gleam?
A: Gleam is a functional, concurrent programming language that runs on the BEAM virtual machine. It combines functional programming principles with static typing and safe typing discipline.

### Q: Who created Gleam and when?
A: Gleam was created by Louis Pilfold and first appeared in June 2016. It's designed as a modern language for building scalable applications on the BEAM platform.

### Q: What languages influenced Gleam's design?
A: Gleam draws inspiration from Elm, OCaml, Erlang, Alpaca, Elixir, and Go. These influences shaped its functional programming approach and type system.

## Why It Matters
Gleam represents an important evolution in BEAM ecosystem languages, offering developers a statically-typed alternative to Erlang and Elixir while maintaining compatibility with the BEAM virtual machine. By combining functional programming principles with strong type safety, Gleam addresses common pain points in large-scale concurrent applications, particularly around maintainability and error prevention. Its design philosophy bridges the gap between the dynamic typing of traditional BEAM languages and the growing demand for static type checking in modern software development. This makes it particularly valuable for teams building distributed systems who want the benefits of the BEAM platform (like fault tolerance and concurrency) without sacrificing the compile-time guarantees that static typing provides.

## Notable For
- First statically-typed language designed specifically for the BEAM virtual machine
- Combines functional programming with strong type safety guarantees
- Influenced by multiple programming paradigms including Elm's simplicity and Go's pragmatism
- Maintains full interoperability with existing BEAM ecosystem (Erlang/Elixir)
- Features a unique mascot named Lucy and distinctive branding

## Body
### Technical Foundation
Gleam is built to run on the BEAM virtual machine, the same platform that powers Erlang and Elixir. This provides it with inherent advantages in concurrency, fault tolerance, and distributed computing capabilities. The language compiles to BEAM bytecode, allowing seamless interoperability with existing Erlang and Elixir codebases.

### Type System
The language features static typing with a focus on safety. Its type system is designed to catch errors at compile time while maintaining the expressiveness needed for functional programming. The safe typing discipline ensures that type-related runtime errors are virtually eliminated.

### Development Ecosystem
Gleam maintains an active development cycle with regular releases. The project uses GitHub for source code management and issue tracking, with the main repository at github.com/gleam-lang/gleam. The community engages through multiple channels including Discord, Twitter, and a dedicated forum on lemmy.

### Language Influences
The design philosophy draws from several influential languages:
- Elm: For its simplicity and excellent error messages
- OCaml: For its powerful type system and functional programming features
- Erlang: For its concurrency model and BEAM platform integration
- Go: For its pragmatic approach to software development
- Elixir: For its modern take on BEAM programming

### Current Status
As of the latest available information, Gleam is in active development with version 0.7.1 being the most recent stable release. The language continues to evolve with community contributions and maintains a growing ecosystem of libraries and tools.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Gleam",
  "description": "functional, concurrent programming language",
  "url": "https://gleam.run/",
  "sameAs": [
    "https://en.wikipedia.org/wiki/Gleam_(programming_language)",
    "https://www.wikidata.org/wiki/Q55410527"
  ],
  "additionalType": "ProgrammingLanguage"
}

## References

1. [GitHub](https://github.com/lpil/gleam/blob/master/LICENCE)
2. [Source](https://github.com/gleam-lang/gleam/blob/main/LICENCE)
3. [Release 0.2.0. 2019](https://github.com/lpil/gleam/releases/tag/v0.2.0)
4. [Release 0.2.0. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.2.0)
5. [Release 0.3.0. 2019](https://github.com/lpil/gleam/releases/tag/v0.3.0)
6. [Release 0.3.0. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.3.0)
7. [Release 0.4.0. 2019](https://github.com/lpil/gleam/releases/tag/v0.4.0)
8. [Release 0.4.0. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.4.0)
9. [Release 0.4.1. 2019](https://github.com/lpil/gleam/releases/tag/v0.4.1)
10. [Release 0.4.1. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.4.1)
11. [Release 0.4.2. 2019](https://github.com/lpil/gleam/releases/tag/v0.4.2)
12. [Release 0.4.2. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.4.2)
13. [Release 0.5.0. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.5.0)
14. [Release 0.5.1. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.5.1)
15. [Release 0.6.0. 2019](https://github.com/gleam-lang/gleam/releases/tag/v0.6.0)
16. [Release 0.7.0. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.7.0)
17. [Release 0.7.1. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.7.1)
18. [Release 0.8.0. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.8.0)
19. [Release 0.8.1. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.8.1)
20. [Release 0.9.0. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.9.0)
21. [Release 0.9.1. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.9.1)
22. [Release 0.10.0. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.10.0)
23. [Release 0.10.1. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.10.1)
24. [Release 0.11.0. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.11.0)
25. [Release 0.11.1. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.11.1)
26. [Release 0.11.2. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.11.2)
27. [Release 0.12.0. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.12.0)
28. [Release 0.12.1. 2020](https://github.com/gleam-lang/gleam/releases/tag/v0.12.1)
29. [Release 0.13.0. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.13.0)
30. [Release 0.13.1. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.13.1)
31. [Release 0.13.2. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.13.2)
32. [Release 0.14.0. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.14.0)
33. [Release 0.14.1. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.14.1)
34. [Release 0.14.2. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.14.2)
35. [Release 0.14.3. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.14.3)
36. [Release 0.14.4. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.14.4)
37. [Release 0.15.0. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.15.0)
38. [Release 0.15.1. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.15.1)
39. [Release 0.16.0. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.16.0)
40. [Release 0.16.1. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.16.1)
41. [Release 0.17.0. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.17.0)
42. [Release 0.18.0. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.18.0)
43. [Release 0.18.1. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.18.1)
44. [Release 0.18.2. 2021](https://github.com/gleam-lang/gleam/releases/tag/v0.18.2)
45. [Release 0.19.0. 2022](https://github.com/gleam-lang/gleam/releases/tag/v0.19.0)
46. [Release 0.20.0. 2022](https://github.com/gleam-lang/gleam/releases/tag/v0.20.0)
47. [Release 0.20.1. 2022](https://github.com/gleam-lang/gleam/releases/tag/v0.20.1)
48. [Release 0.21.0. 2022](https://github.com/gleam-lang/gleam/releases/tag/v0.21.0)
49. [Release 0.22.0. 2022](https://github.com/gleam-lang/gleam/releases/tag/v0.22.0)
50. [Release 0.22.1. 2022](https://github.com/gleam-lang/gleam/releases/tag/v0.22.1)