Live data from Hacker News

The Gleam Programming Language

gleam.run

161–170 of 189 posts

Re: The Gleam Programming Language

#161

Earlier quoted context omitted.

Black Lives Matter is objectively not a grift. There is an argument to be made regarding "BLM Global Network", but calling them BLM is like saying all vegans support PETA. Regardless, that's irrelevant to the discussion at hand. You don't have to change your beliefs to be part of the Gleam community, you just have to not be an asshole about them. If you're the kind of person that starts an argument any time BLM is me…

> Black Lives Matter is objectively not a grift. There we go again. I think that you people would gain if you'd read what does it mean if something is objective and also the meaning of "subjective". Either you live in social bubbles or you're intentionally ignoring anything that's not in line with your ideology. I'm actually not surprised this is the case, since you're not allowing people outside of your bubbles in y…

I explicitly did not call them an asshole, it was very much conditional on the way they choose to act inside these communities.

Regarding your accusation of subjectivity, I was addressing the misnomer that BLMGN is equivalent to the BLM movement - it's not. BLMGN might be a grift for all I know, but that cannot be used to call the entire BLM movement a grift. By definition a grifter is aware that they're grifting, do you believe that every BLM protest was organised by someone looking to make a profit? If not, BLM is objectively not a grift.

On the topic of being 'welcoming', clearly you don't understand the paradox of tolerance. Is it intolerant to exclude Nazis from a community? Obviously not, despite what the Nazis would claim, because Nazis make the communities they're involved in intolerable to anyone that's not a Nazi.

Thus, if you want to create an inclusive community, you have no choice but to exclude certain groups of people.

It's actually pretty simple to figure out which groups should be excluded: - Transphobes are constantly imposing their beliefs on trans people, trans people want equal rights. - White supremacists are constantly imposing their beliefs on black people, black people want equal rights. - Homophobes are constantly imposing their beliefs on gay people, gay people want equal rights. Do I need to continue?

To be clear, I barely interact with these "safe" communities - pretty much only when I need some help with my code. It's very easy to hide your beliefs if you want to participate, I could be a raging homophobe for all they know because I've never talked about gay people in there.

You say the they don't tolerate anyone outside their bubbles, but anyone is free to join and start getting support, there's no purity test. So do you mean they don't tolerate people questioning trans rights in a support channel? Because obviously they don't. If you want to start an argument there are plenty of appropriate places to do so, places that don't make people feel unsafe.

Re: The Gleam Programming Language

#162

Earlier quoted context omitted.

> Black Lives Matter is objectively not a grift. There we go again. I think that you people would gain if you'd read what does it mean if something is objective and also the meaning of "subjective". Either you live in social bubbles or you're intentionally ignoring anything that's not in line with your ideology. I'm actually not surprised this is the case, since you're not allowing people outside of your bubbles in y…

I explicitly did not call them an asshole, it was very much conditional on the way they choose to act inside these communities. Regarding your accusation of subjectivity, I was addressing the misnomer that BLMGN is equivalent to the BLM movement - it's not. BLMGN might be a grift for all I know, but that cannot be used to call the entire BLM movement a grift. By definition a grifter is aware that they're grifting, do…

For the sake of simplicity, and to detach our feelings from this subject, let's assume that Ω-GN is a grift. Ω is a superset of Ω-GN. We cannot conclude that Ω is a grift solely because a subset (Ω-GN) is a grift. However, can we objectively say that Ω is not a grift just because there are some instances within Ω that are not grifts? Clearly, there are also instances within Ω that are grifts, since Ω-GN (a subset of Ω) is a grift by our assumption. Therefore, the existence of both grift and non-grift instances in Ω means we cannot categorically label Ω as either a grift or not a grift based solely on its subsets.

Yet you say that objectively it's not a grift because there is at least 1 instance of a non-grifting event in Ω. Even Kenneth Copeland _sometimes_ is right about _something_, can we say that objectively he's not a liar because _there was at least 1 instance of him telling the truth_? I think not.

Also, you people use this word, "nazi", but do you actually know what are Nazis? German National-Socialists. Even the name "NAZI" is taken from German language. So if you ask me "what is wrong with disliking nazis", yet you use some artificial and historically wrong definition of a nazi, then I'm telling you that the problem is with you people using "nazis" for others who disagrees with you. I probably am a Nazi in someone's eyes, because I'm opposed to trans-women participating in women's sports. In reality, my grandfather fought with the actual nazis which existed in real world, not in your imagination.

> Thus, if you want to create an inclusive community, you have no choice but to exclude certain groups of people.

Yeah, this is how I understand it as well. People want easy inclusivity, a mono-themed style of thinking, and diversity only within their own strictly defined boundaries. I interpret this as a contradiction and a lie: diversity among selected groups is not true diversity, and inclusivity limited to chosen pools is not genuine inclusivity. For me there is absolutely no difference between this and a situation where whites stick to whites, blacks stick to blacks, etc.

If something is marked as "LGBTQ+ friendly" then I'm all fine -- it's very understandable and I know what I'm dealing with. But if something is "inclusive" then I automatically know I'm not in the target audience, because the sole definition of "include" is already loaded. The language already contains words with different meanings. For me this means "we're so closed, we even use our own definition of 'inclusion' to not think about the outside world".

Re: The Gleam Programming Language

#163
post #108

Earlier quoted context omitted.

> But I get the feeling that Raku is underappreciated / dismissed by many due to the perl5 / perl6 history. Yes that would be me! If you like making these comparisons, can you write the following pattern matching in Raku? import gleam/io pub type Fish { Starfish(name: String, favourite_colour: String) Jellyfish(name: String, jiggly: Bool) } pub fn main() { handle_fish(Starfish("Lucy", "Pink")) } fn handle_fish(fish:…

sure... role Fish { has Str $.name } class Starfish does Fish { has Str $.favourite-colour; } class Jellyfish does Fish { has Bool $.jiggly } sub handle-fish(Fish $fish) { given $fish { when Starfish { say .favourite-colour } when Jellyfish { say .name } } } handle-fish Starfish.new: :name("Lucy"), :favourite-colour("Pink"); I would probably reach for multi-dispatch... role Fish { has Str $.name } class Starfish does…

That doesn't look half bad - thank you!

Re: The Gleam Programming Language

#164

Earlier quoted context omitted.

sure... role Fish { has Str $.name } class Starfish does Fish { has Str $.favourite-colour; } class Jellyfish does Fish { has Bool $.jiggly } sub handle-fish(Fish $fish) { given $fish { when Starfish { say .favourite-colour } when Jellyfish { say .name } } } handle-fish Starfish.new: :name("Lucy"), :favourite-colour("Pink"); I would probably reach for multi-dispatch... role Fish { has Str $.name } class Starfish does…

Here's the other Gleam concurrency example in Raku for good measure: my @promises; sub MAIN() { # Run loads of green threads, no problem for ^200_000 { spawn-greeter($++); } await Promise.allof(@promises); } sub spawn-greeter($i) { @promises.push: start { say "Hello from $i"; } }

Again, thanks!

Re: The Gleam Programming Language

#165

Earlier quoted context omitted.

I explicitly did not call them an asshole, it was very much conditional on the way they choose to act inside these communities. Regarding your accusation of subjectivity, I was addressing the misnomer that BLMGN is equivalent to the BLM movement - it's not. BLMGN might be a grift for all I know, but that cannot be used to call the entire BLM movement a grift. By definition a grifter is aware that they're grifting, do…

For the sake of simplicity, and to detach our feelings from this subject, let's assume that Ω-GN is a grift. Ω is a superset of Ω-GN. We cannot conclude that Ω is a grift solely because a subset (Ω-GN) is a grift. However, can we objectively say that Ω is not a grift just because there are some instances within Ω that are not grifts? Clearly, there are also instances within Ω that are grifts, since Ω-GN (a subset of…

You seem quite passionate about this, which I find difficult to understand, maybe because I’m not as deeply immersed in American political culture as you (I had no idea people see BLM as an organisation rather than a movement / ethical stance) but I’m curious: Is it really just about language for you?

If the section was phrased as “We are LGBTQ+ friendly and do not tolerate transphobia or racism” that would feel more welcoming to you?

At the end of the day, it’s a programming language community. If you join and ask a question about how to call functions from Erlang, you’ll definitely get an answer. If you join and bring up your feelings about trans women in sports you’ll most likely be asked to stop or removed, as it’s just not a space where that kind of discussion is welcome.

But why should it be?

Re: The Gleam Programming Language

#166
post #8

I remember playing with Alpaca a few years ago, and it was fun though I didn’t find the resulting code to significantly less error-prone than when I wrote regular Erlang. It’s inelegant, but I find that Erlang’s quasi-runtime-typing with pattern matching gets you pretty far and it falls into Erlang’s “let it crash” philosophy nicely. Honestly, and I realize that this might get me a bit of flack here and that’s obviou…

> Honestly, and I realize that this might get me a bit of flack here and that’s obviously fine, but I find type systems start losing utility with distributed applications. Ultimately everything being sent over the wire is just bits. Actually Gleam somewhat shares this view, it doesn't pretend that you can do typesafe distributed message passing (and it doesn't fall into the decades-running trap of trying to solve thi…

> handling dynamic messages

the dynamic messages have to have static properties to be relevant for the receiving program, the properties are known upfront, and there's no "decades-running trap of trying to solve this".

Re: The Gleam Programming Language

#167

Earlier quoted context omitted.

For the sake of simplicity, and to detach our feelings from this subject, let's assume that Ω-GN is a grift. Ω is a superset of Ω-GN. We cannot conclude that Ω is a grift solely because a subset (Ω-GN) is a grift. However, can we objectively say that Ω is not a grift just because there are some instances within Ω that are not grifts? Clearly, there are also instances within Ω that are grifts, since Ω-GN (a subset of…

You seem quite passionate about this, which I find difficult to understand, maybe because I’m not as deeply immersed in American political culture as you (I had no idea people see BLM as an organisation rather than a movement / ethical stance) but I’m curious: Is it really just about language for you? If the section was phrased as “We are LGBTQ+ friendly and do not tolerate transphobia or racism” that would feel more…

It's not American, it's global. I'm not American, yet I'm judged by the these political culture quirks. The creator of Gleam is not American, he's from UK. Trans-movements aren't American, they're in my country too, and I'm interested somewhat in the politics of my own country. Also parent posts differentiated between BLM and BLM-GN, where one is a "movement", and the other one is supposedly a marxist organization, so I guess there's a difference too.

> Is it really just about language for you?

No. I mean, I'm not a murderer. I'm not a thief. I only do to others what I want others to do to me. I don't want to be treated differently because of my race or my gender, therefore I don't want to treat others differently because of those things. Yet, I actually am treated differently because of it; and it's mostly by those people who "fight racism" and "fight transphobia". Who are virtue signalling left and right how tolerant they are. How inclusive they are. When a black director says "I'll never hire a white main actor" then it's OK. But when I point out he said it, then I'm a racist -- this is how it works today. So:

> If the section was phrased as “We are LGBTQ+ friendly and do not tolerate transphobia or racism” that would feel more welcoming to you?

No, because it's too easy to frame my views as transphobic or racist, like I've written in my previous paragraph. And this is the language part. Using "master" branch in git today is a manifestation of racism. People fork "rubocop" projects because it has a "cop" in the name; and they want to defund the police. I think that police is needed because without it the law wouldn't exist? Then I'm a nazi. When I'm asking questions about whether someone's wheels were spinning during sudden acceleration, I'm being called an ICE-lover.

You might see me being passionate, but I'm merely a product of current political polarity.

> If you join and bring up your feelings about trans women in sports you’ll most likely be asked to stop or removed, as it’s just not a space where that kind of discussion is welcome. But why should it be?

No, I will be removed only when I say that it's not OK. I will be upvoted when I'll say that it's OK. But more generally, that's a good question, but I don't know the answer, ask Ipil, he sees the necessity. I do think that there's no reason why it should be a place for discussion of trans-rights and racism and I wouldn't want to discuss it there (not even here to be honest). So why it's being manifested on the main page, before the language tour and before the newsletter, since it's clearly not a place for these topics?

Re: The Gleam Programming Language

#168

Earlier quoted context omitted.

You seem to have a fundamental misunderstanding about type systems. Most (the best?) typesystems are erased. This means they only have meaning "on compile time", and makes sure your code is sound and preferrably without UB. The "its only bits" thing makes no sense in the world of types. In the end its machine code, that humans never (in practice) write or read.

I know, but a type system works by encoding what you want the data to do. Types are a metaphor, and their utility is only as good as how well the metaphor holds. Within a single computer that’s easy because a single computer is generally well behaved and you’re not going to lose data and so yeah your type assumptions hold. When you add distribution you cannot make as many assumptions, and as such you encode that into…

> When you add distribution you cannot make as many assumptions

You absolutely can make all assumptions relevant to the handling/dispatching logic expressed at type-level.

> and as such you encode that into the type with a bunch of optionals.

Not necessarily, it can be `Alternative f` of non-optional compound types that define the further actions downstream.

> Once you have gotten everything into optionals, you’re effectively doing the same checks you’d be doing with a dynamic language everywhere anyway.

Not true, your business logic can be dispatched based on a single pattern comparison of the result of the `Alternative f`.

Re: The Gleam Programming Language

#169

Earlier quoted context omitted.

This is a terrible take. Just because your personal opinions / morals / values don't align with others in a community, doesn't automatically make you an asshole. If people can't handle others having differing opinions, they have some growing up to do and shouldn't be leading a community.

When one of those “differing opinions” is “you should be oppressed”, then yeah, that kind of does automatically make someone an asshole.

Someone not being a BLM supporter, doesn't equate to them holding the opinion that anyone should be oppressed. Only someone who views everything through a binary lens / is trapped in dualistic thinking, would suggest such a thing. One shouldn't automatically claim someone else is an asshole for not agreeing to think the exact same way they do.

Re: The Gleam Programming Language

#170

Earlier quoted context omitted.

I explicitly did not call them an asshole, it was very much conditional on the way they choose to act inside these communities. Regarding your accusation of subjectivity, I was addressing the misnomer that BLMGN is equivalent to the BLM movement - it's not. BLMGN might be a grift for all I know, but that cannot be used to call the entire BLM movement a grift. By definition a grifter is aware that they're grifting, do…

For the sake of simplicity, and to detach our feelings from this subject, let's assume that Ω-GN is a grift. Ω is a superset of Ω-GN. We cannot conclude that Ω is a grift solely because a subset (Ω-GN) is a grift. However, can we objectively say that Ω is not a grift just because there are some instances within Ω that are not grifts? Clearly, there are also instances within Ω that are grifts, since Ω-GN (a subset of…

I used 'Nazi' in reference to the series of tweets about a polite Nazi. (Forgive the Reddit link) https://www.reddit.com/r/TalesFromYourServer/comments/hsiisw...

Take it to mean a literal straight out of 1942 National Socialist if you like, it doesn't change what I was trying to convey.

If you want a historical comparison to BLM, how about the suffragettes. I can guarantee that there were grifters looking to make money off the movement, which would be a subset of it, but I think it's quite fair to say the suffragettes were objectively not grifters.

I would also say that Christianity is objectively not a grift, despite the fact that there are many grifters within the faith. If the core ideas of a movement are spread by people that truly believe in them, and are not controlled by any individual, then how exactly could it qualify as a grift?

Legitimately, I don't understand how a decentralised set of ideas could be a grift. Do you have any examples?

"Diversity only within their own strictly defined boundaries" is exactly right, but you don't seem to understand that those boundaries are what let's diversity thrive. Without rules against bigotry, LGBTQ+ people are far less able to express themselves due to the increased scrutiny from people that refuse to accept them.

When there are people in a community that denegrate others for being themselves it creates a toxic environment where being different makes you a target, so everyone either falls in line or leaves.

Post reply on HN