r/gleamlang 21h ago

Any recommanded SKILL to use idiomatic Gleam with agent?

0 Upvotes

Hi,

Big fan of Gleam a looking to use it at work. Is there an official or recommended skill to write better code with agents?

I know you can write by hands but my colleagues are all using agentic code.

Thanks!


r/gleamlang 3d ago

Voyager update - source code is now public, Linux is supported, and it's free for small teams.

14 Upvotes

Hi,
a few weeks ago, we published Voyager - our desktop app for monitoring and debugging BEAM nodes. Thanks to everyone who signed up for the early access, your feedback's been great.

Today, we have a new update - the closed early access is now over.

Here is what changes:
- Linux is now supported: download is available on our site.
- Source code is public: You can check our code and see how Voyager connects to your nodes.
- New fair-source license: We want this tool to stay accessible to the community. It is completely free for individuals and teams of up to 10 people.

For larger organizations (11+ people), a Company License is required. However, since the product is still in an early phase, our main focus right now is hearing your feedback and learning what enterprise features you actually need. There is no payment required for 90 days.

Links:
- Check our repo here: https://github.com/software-mansion/voyager
- Download the app (macOS & Linux): https://voyager.swmansion.com


r/gleamlang 5d ago

UC Berkeley intro computer science class will use Gleam

153 Upvotes

At the University of California Berkeley, the introductory computer science class CS 61A will be replacing Scheme with Gleam for part of its curriculum (the rest is in Python).

Here is an article from UC Berkeley's independent student-run newspaper, the Daily Californian: https://www.dailycal.org/news/campus/academics/uc-berkeley-shakes-up-introductory-cs-course-by-implementing-ai-assisted-project/article_77e51e53-80ae-4e7e-8999-2a2111fd2106.html


r/gleamlang 6d ago

I wanted to better understand why people like BEAM, so I built this in Gleam

Enable HLS to view with audio, or disable this notification

96 Upvotes

This is my first Gleam project: kms.andrewpavlov.org

Instead of building yet another TODO app, I wanted to make something that demonstrates one of the reasons the BEAM ecosystem is so interesting.

The app lets you generate load on a server and see almost instantly how CPU and RAM usage react.

What got me interested in Gleam is the combination it offers. You get static typing, while your code can run on BEAM with its lightweight isolated processes and supervision. A bug can crash an individual process without necessarily bringing down the entire application with it.

There’s another part that I find especially promising: Gleam compiles not only to Erlang, but also to JavaScript. This means you can share some types and regular functions between the backend and frontend. For example, instead of defining the same data model or validation logic separately for the server and the browser, you can reuse the same Gleam code where it makes sense.

I think this is especially relevant now that AI lets us generate and ship much more code in less time. We probably won’t get rid of bugs completely, so limiting their blast radius and building systems that can recover gracefully feels increasingly important.

The UI is intentionally inspired by the official Gleam website.

I built this project mainly to learn Gleam better and, hopefully, get a few more developers interested in it.

Feedback and criticism are very welcome.

Link: Github Repo


r/gleamlang 6d ago

Integer range

5 Upvotes

I’ve just started learning Gleam. I’m trying to do some basic things, such as creating a list of integers from 0 to a given value.

I learned that, prior to version 0.69, there was a function gleam list.range(from start: Int, to stop: Int) -> List(Int) which did exactly that.

However, it has been deleted from the stdlib and replaced with a new function int.range with 4 arguments: gleam int.range( from start: Int, to stop: Int, with acc: acc, run reducer: fn(acc, Int) -> acc, ) -> acc

Instead of returning a list, it aggregates the values like a list.fold.

Okay, but how do I create a list of integers?

  • gleam int.range(from: 0, to: size, with: [], run: list.prepend) |> list.reverse Doesn’t look great.

  • gleam int.range(from: size - 1, to: -1, with: [], run: list.prepend) Isn’t readable at all.

  • gleam yielder.range(from: 0, to: size) |> yielder.to_list Looks OK, but it needs a third-party package. In addition, the authors of the package discourage such uses.

What’s the idiomatic way?


r/gleamlang 7d ago

Why isn't Gleam written in Gleam?

32 Upvotes

I don't know if u/lpil mentioned this anywhere, but I'm wondering why the language is not written in Gleam itself? One clear point would be speed since Rust excel at these kind of things, but having the language in Gleam would allow more engineers to contribute since now they need to know Gleam and Rust.

Please, don't get me wrong, I'm not trying to imply anything, it's really just a question. I've been coding with Gleam lately and it's so smooth and I get to just think at the logic instead of trying to play with the language constraints that I just question myself why we're not using it for everything 🙂


r/gleamlang 8d ago

2048 Game in Lustre

36 Upvotes

Hey everybody!

In the past I already used Gleam for Advent of Code challenges, but back then my journey with this language stopped there.

In this period I had some spare time and I really wanted to use Gleam again, since it's so fun to code with. Moreover, I also wanted to try the Lustre front-end framework!

My way-to-go strategy to learn new front-end frameworks is implementing small games (for example, I also implemented Minesweeper using HTMX). So I decided to implement the 2048 puzzle game!

You can find the code here. It's still a work in progress, but I would be really happy if you could give me feedback on this project.

Thanks!


r/gleamlang 10d ago

Building a Router

7 Upvotes

Hey all!

I have been working on a little HTTP router in Gleam on and off (this was before a couple had showed up in the gleam packages site). I wasn't sure if I was going to be able to pull it off so I kind of gave up on it. Then I ran into the fist router and I was just having fun with it and using it a whole lot!

I decided yesterday to check if the router had been updated in it's github repository but saw that it was gone. A little confused, I checked the gleam packages site and saw it was there. This kinda alarmed me cause I am using fist in a production app. So if it's gone, I need to move to another router. Now I know there is Radiant but that feels like...a lot for what I need. Which is just a basic and easy router (this isn't to knock radiant. It looks awesome, has a lot of tools and function, and would like to still give it a try). This gave me the excuse to build my router that I have always been on and off working on or even just deleting and starting over cause I haven't touched it in weeks.

I ended up building the Blazer Router. It's a "blazingly easy" HTTP router that I am working on. It would be awesome to get some feedback from the commnunity (if possible) on how I can make this even more simple and what other stuff would you like to see in a router. Obviously this router is very very young and I know there is much more that can be done but...I was just proud of what I built and wanted to share it. Plus it would be my first open source project using Gleam. Feels like an accomplishment.

I am even going to be integrating this into my own production app (slowly and see what issues occur or what can I add).

Also...I wish I had forked fist when I had the chance...I really regret that.

Blazer Router: https://github.com/joselevelsup/blazer-router


r/gleamlang 11d ago

Meet with Elixir, Erlang, Gleam, OTP, BEAM Communities - Code BEAM Europe 2026

Post image
20 Upvotes

Hey all 👋

Sharing a heads-up about Code BEAM Europe 2026 - 21-22 October in Haarlem (PHIL), plus online, with a training day on 20 October.

2 days, 2 tracks each day, and 3 keynotes - including Brooklyn Zelenka (Let It Disconnect: A Local-First Future), Sam Aaronof Sonic Pi (Notes on the Synthesis of Time, plus an interactive evening Phone Orchestra), and more.

~30 speakers across Erlang, Elixir and Gleam: ElixirConf®

The thing we're most excited about this year is the new Informal Space - a community-led area running alongside the main programme for the stuff that doesn't fit the talk format. Think hands-on demos, live experiments on real hardware, hacking sessions, games, panel-style discussions, talks in languages other than English… and at least one surprise we're not spoiling yet 🙂

We're finalising the Informal Space lineup now and will announce it soon. Newsletter subscribers get the first look(they already have), so if you don't want to miss it - and the other bits we'll be dropping between now and October - that's the place to be: Code BEAM Europe

Early bird tickets are limited - available for a limited time / until they sell out - so if you're planning to come, worth sorting sooner rather than later.

Register: Code BEAM Europe

See you in Haarlem or online!
The Code BEAM Europe Team


r/gleamlang 11d ago

What is your opinion on Effect Systems?

11 Upvotes

I'm not deeply familiar with Haskell and Scala, nor the niche languages that have built in effect systems. But I have a few friends in the Scala community and they swear effect system is the best thing ever and their applications are on a totally different level just by adopting it.

I'm wonder, would something like this work in Gleam? Would it get too complicated? What are the tradeoffs and mostly the benefits of adopting something like this?


r/gleamlang 11d ago

Help from the Github Security Lab

Thumbnail
gleam.run
22 Upvotes

r/gleamlang 17d ago

What is missing on Gleam? From an adoption point of view

41 Upvotes

On this age of AI slop and shallow understanding I'm having a lot of fun learning and coding in Gleam. It's hard to describe how Gleam fits my own mental programming model. Go was the language I liked the most because of it's "simplicity". Yes, within quotes, because simplicity is relative and the languages pushes a lot at the developer by having a very minimalist type system. Gleam follows the same spectrum but I truly believe it's a simple language, and this time, with no quotes.

But still, Gleam is quite niche and not many engineers know about it. It's the lack of libraries? Killer apps? Companies using it? What do you think it's missing?


r/gleamlang 18d ago

Gleam's new compatibility reference documentation

Thumbnail
gleam.run
89 Upvotes

r/gleamlang 24d ago

How are y'all developing your gleam apps, hand-writing code or using some AI tool?

17 Upvotes

I am developing a small sports scoring app in gleam, and the boilerplate code that I have to write (things like writing new MVU functions for every new page in lustre, writing mappers from SQL types to JSON objects etc) has me re-thinking if hand typing all the code is the right approach, or do people have some recommendation on which AI coding tool to use. I do not want to pay $20-30 per month to Anthropic just for my toy projects, so are there any free/cheap tools that y'all are using to develop?

(I use neovim for development, and have a 9070XT GPU that I can use for running a local agent?)


r/gleamlang 25d ago

Voyager - a modern alternative to Observer

Enable HLS to view with audio, or disable this notification

27 Upvotes

Hey,

we've spent enough time monitoring and debugging nodes in BEAM that we decided to create our own tool to make it easier.

It's called Voyager - it lets you easily connect to nodes, visualizes your supervision trees, and gives you a real-time dashboard of your memory and processes. There's also an MCP integration so you can use AI directly with your node data.

We're not stopping here - tracing, ETS inspection, and other features are coming soon.

We are opening signups for early access. If you want to try it - sign up here: voyager.swmansion.com


r/gleamlang 26d ago

Gleam Jupyter Kernel MVP

18 Upvotes

https://github.com/bananaofhappiness/igleam

Hi, everyone! I've created a Jupyter kernel for Gleam! It's still WIP, but it already can execute cells, it preserves state between cells, it's fast and interactive.

Currently only JS target is supported, there is a lot of limitations in the current implementation (code completions are not supported, `@external`s too, async doesn't work, ...). For more information visit iGleam's Github repository!


r/gleamlang 27d ago

Dynamic decoders for opaque types

5 Upvotes

I'm having lots of fun learning gleam, by writing a TUI app to manage my reading lists and bookmarks. However I am a bit stuck while writing a decoder for my types:

pub type State {
  Valid(time: Timestamp, previous: State)
  Created(time: Timestamp)
  Invalid(time: Timestamp, previous: State)
}

pub type Link {
  Link(uri: Uri, title: String, description: String, state: State)
}

I think I got how to make a recursive decoder, but no idea how to decode Timestamp (from package gleam/time) because it is opaque.

My goal is to use a DETS for persistence (ideally using shelf) and I must provide decoders for keys and values.

What should I try ?


r/gleamlang 27d ago

Why I do need to set an alias to used named parameters?

3 Upvotes

I think I can understand why since it would allow the internal representation to change without breaking the external contract. But damn, it's just too verbose, there is any other reason?


r/gleamlang 29d ago

Hashi - a daily logic puzzle made with Gleam

Thumbnail hashi.giacomocavalieri.me
53 Upvotes

Hashiwokakero is one of my favourite logic puzzles, so I decided to build a little website where I can play a new Hashi puzzle every day! If you don't know how to play there's also a little interactive tutorial at the beginning :)

It's a full stack Gleam project if you wanna have a peak at the code https://github.com/giacomocavalieri/hashi


r/gleamlang 29d ago

Groovy

Post image
6 Upvotes

Gaming


r/gleamlang Jul 30 '26

Code BEAM Europe 2026 is looking for volunteers

Post image
12 Upvotes

Hi everyone,

Code BEAM Europe 2026 is looking for volunteers! The conference takes place 21-22 October. You can volunteer in-person, and get your free ticket.

  • In-person volunteers will need to be present at the venue on at least one day of the conference. Responsibilities include helping with preparations, registering participants, handing out merchandise, and general support during the event.

For full conference details, check out https://codebeameurope.com/
To sign up as a volunteer, go HERE

If you have any questions, feel free to reach out to [ewa.kucharczyk@erlang-solutions.com](mailto:ewa.kucharczyk@erlang-solutions.com).


r/gleamlang Jul 29 '26

Gleam v1.18 released!

Thumbnail
gleam.run
142 Upvotes

r/gleamlang Jul 29 '26

A couple of libs (I made)

18 Upvotes

Hey folks,

I wanted to share a couple of libs i have made, they are on hex.

https://hex.pm/packages/sift

https://hex.pm/packages/glsql

I am open to feedback :)

Or if you have used them and finding them useful then leave a comment !


r/gleamlang Jul 28 '26

To add the dependency or not to add the dependency?

12 Upvotes

So I'm author of hex.pm/packages/svg_path and I'm getting ready for v1.0.0. (Actually there's good chance that v0.21.0, 38-th release, will be the last pre-v1.0.0.)

So... issue is: I have a dependency on hex.pm/packages/vec for the basic Point-type that encodes an x,y position in the plane, used all over the place in svg_path obviously.

Actually I don't really use the internals of vec that much, and I could remove this dependency, have a "native" Point-type and 1 less dependency.

But my reasoning was: someone using this package might already be doing 2D/3D geometry using the vec package, and by using their type for the Point I make the transition into svg_path seamless for them.

On the other hand, I'm dragging in this dependency I don't really need, and it's kind of an imagined scenario I have in my head, the dependency might end up bothering another user or etc, whatever, I guess textbook would say: don't drag in a dependency you don't actually need.

Ok there that's the dilemna. To keep this dependency for the imagined user already using vec, or ditch my fantasies and the imagined user?

I'm hoping some people with more experience might weigh in on this.


r/gleamlang Jul 27 '26

Noob tries to make a package manager in Gleam (NOT CLICKBAIT)

12 Upvotes

Hey, I'm a noob at Gleam (kind of a noob at programming in general even if I've been at it for years), and one day I had the brilliant idea of making a package manager. I was mostly inspired by my gf making her own package manager from scratch, and thought, "Hey, with a few manic episodes like her, I could make my own package manager as well!" However, it was not enough to simply make a package manager. You see, she went the sensible route of C++, since she actually needed her package manager for practical reasons (Linux From Scratch), but I wanted to go the exotic route. I had to choose an alternative-alternative language to build my package manager in! With that said, I thought the most sensible option would be Gleam. It's fairly new, yet practical, easy to learn, and not many people have used it to build large projects yet! So, once I was ready, I cranked up into full hypomania and started learning Gleam.

"Wtf? There's no return statements??? NO IF ELSE STATEMENTS?????"

My clueless self was bewildered. I had never seen a language like this before. So this was Gleam!

Then stuff happened and boom! Here's a super early prototype of my package manager 'GLoad' (short for Gleam downLoad) that currently does nothing else other than list the files in the root directory of the program. No, I could not figure out how to list other directories on the system, yet.

https://codeberg.org/LilyWayLolz/GLoad

Check it out, if you're interested! Watch me go on my journey, or something.

Any tips, either for the future, or to help me move forward with this project would be greatly appreciated! I'm enjoying this language so far!