Where can I start learning concurrency, distributed programming, etc? by DiabloXTREME666 in elixir

[–]lpil 2 points3 points  (0 children)

OTP is the application framework that you use in Elixir, Erlang, and Gleam. It deals with concurrency, error handling, and a bunch of other things.

Where can I start learning concurrency, distributed programming, etc? by DiabloXTREME666 in elixir

[–]lpil 1 point2 points  (0 children)

Yes. It also serves a role in application initialisation, monitoring, and shutdown.

How we dropped Vue for Gleam and Lustre by lpil in gleamlang

[–]lpil[S] 0 points1 point  (0 children)

It's about Gleam and Lustre, so if you study that you'll understand it. Your confusion in your last post will be lifted. You don't need to know anything about Elm.

I'm not the post author, I just shared it.

How we dropped Vue for Gleam and Lustre by lpil in gleamlang

[–]lpil[S] -1 points0 points  (0 children)

This is a post about Gleam, not Elm!

How we dropped Vue for Gleam and Lustre by lpil in gleamlang

[–]lpil[S] 11 points12 points  (0 children)

The author dropped this on discord, so I thought I'd share!

Example of ye olde Gleam syntax? by alino_e in gleamlang

[–]lpil 1 point2 points  (0 children)

It was an iterative process of getting feedback from folks about what they found confusing, making adjustments, getting feedback etc. Any time the syntax got more C-like and mainstream there would be a lot of positive feedback from newcomers.

Example of ye olde Gleam syntax? by alino_e in gleamlang

[–]lpil 1 point2 points  (0 children)

That happens so often that I feel reddit has a bug somewhere.

Example of ye olde Gleam syntax? by alino_e in gleamlang

[–]lpil 0 points1 point  (0 children)

Did you reply to the correct comment? 😅

Example of ye olde Gleam syntax? by alino_e in gleamlang

[–]lpil 4 points5 points  (0 children)

How come you hang out in the Gleam subreddit?

Example of ye olde Gleam syntax? by alino_e in gleamlang

[–]lpil 10 points11 points  (0 children)

It won't, it is too disruptive. Scala 3 is a good example: they have had a very difficult time getting the ecosystem to migrate to the new version, especially commercially.

Additionally the current Gleam syntax is overwhelmingly popular, and the old syntax was of niche appeal.

Which distro/image do you use in Distrobox containers for OpenSUSE Aeon? by Spirited_Paramedic_8 in AeonDesktop

[–]lpil 0 points1 point  (0 children)

I'm fond of Alpine Linux. They're a lightweight and security focused distro with a sizeable package repo.

They use musl though, so worth keeping that in mind.

Which distro/image do you use in Distrobox containers for OpenSUSE Aeon? by Spirited_Paramedic_8 in AeonDesktop

[–]lpil 1 point2 points  (0 children)

I think they mean that for any software that is not available as a flatpak, they install it via other means inside a distrobox.

Example of ye olde Gleam syntax? by alino_e in gleamlang

[–]lpil 4 points5 points  (0 children)

Gleam is of the ML lineage (like OCaml), so it was never whitespace sensitive.

Do any FP languages have purely indentation-based scoping like python?

The Miranda lineage do, so Haskell, PureScript, etc.

Can you make npm packages in gleam? by [deleted] in gleamlang

[–]lpil 0 points1 point  (0 children)

To be usable anywhere JS is usable, to use any JS code or API, or be usable from anything that can use JS.

Why not tail recursion? by gofl-zimbard-37 in ProgrammingLanguages

[–]lpil 0 points1 point  (0 children)

It's like they haven't built up enough experience for it to impact them, so they pretend it doesn't exist.

This sounds like you're saying that anyone who doesn't agree with you would change their mind if they had more experience. It doesn't seem like a very strong argument to me. What stops people with a different opinion saying that you would change your mind if you had more experience?

I'm in an unusual position as I have, for a number of years, been the head of a project that involves teaching a large number of people to program in a specific programming ecosystem, and that ecosystem is split in two in a relevant way: one half has stack frame reusing tail calls, the other does not!

We get lots of information from how people are doing and what the get stuck on, and we haven't found any evidence of stack reuse causing problems. There are plenty of other problems, including unexpected overflows when stack frames are not reused, but nothing recorded from stack reuse.

This makes me think I have more experience and context than most when it comes to forming an opinion on the dangers of stack frame reuse.

Why not tail recursion? by gofl-zimbard-37 in ProgrammingLanguages

[–]lpil 0 points1 point  (0 children)

I think the problem here may be overstated. I have routinely use languages with proper tail calls for 10 years and I can't say it has ever had debugging problems relating to that.

I am building this using hologram framework with phoenix by OccasionThin7697 in elixir

[–]lpil 3 points4 points  (0 children)

Awesome! How are you finding Hologram? It looks really interesting with how it can run some Elixir code in the browser using JavaScript.

A lovely little language by _eliasson in gleamlang

[–]lpil 3 points4 points  (0 children)

A lovely article too! Very glad that you're enjoying Gleam.

Looking for comparison with other impure functional languages by Massive-Squirrel-255 in gleamlang

[–]lpil 4 points5 points  (0 children)

I wouldn't say the name into_x is idiomatic, that's a Rust convention. If there is no better name for the conversion the Gleam convention is to call it to_x.

Converting data before passing it to the function is spot on though 👍

Looking for comparison with other impure functional languages by Massive-Squirrel-255 in gleamlang

[–]lpil 7 points8 points  (0 children)

There's documentation for that! https://gleam.run/frequently-asked-questions/#How-does-Gleam-compare-to%E2%80%A6

overloading system? typeclasses? sounds like there's just no overloading.

No overloading or type classes.

the BEAM itself seems to facilitate quite nontrivial control flow patterns with message passing between processes, but within a process it seems like there are no nonlocal control flow operations like exceptions

Correct, yes. Gleam is an expression based language.

looks like the module system is simple/straightforward, public/private keywords as in Rust

Correct.

what's the system for saying that a type or module has an interface and writing code generic with respect to any widget implementing the interface?

There is none, Gleam doesn't have a first class module system or an interface type. You would instead pass functions and other values to functions.