Live data from Hacker News

Rhombus Language 1.0

blog.racket-lang.org

51–60 of 115 posts

Re: Rhombus Language 1.0

#51

I’ve written a little library Rhombus. I think my favorite thing is the `…` operator. Go check it out. It’s not like the splat operator in other languages, though it does give that feel initially. It’s much more general: it works with nested data structures and can take the place of a `map` operation. The best part of `…` is that it is not a built-in thing —it’s just a macro! The magic is that Rhombus lets you define…

> I think my favorite thing is the `…` operator. Go check it out.

I appreciate your enthusiasm. But three dots are really hard to google. Can you provide a link?

Re: Rhombus Language 1.0

#53
post #4

Earlier quoted context omitted.

A lot of people hate sexprs. Even seemingly reasonable folks. I imagined they have met students that really struggle with the syntax, while grokking the concepts easily. I myself have heard "the parentheses are hard to balance" and "after a while you dont even see the parentheses" enough times that I think maybe both can be correct.

> A lot of people hate sexprs In all my time I have never come across a single Lisper, neither in person nor online, and I know far more than a few dozens, who once grokked the REPL-driven workflow and the structural editing idioms only to later, for whatever reason, suddenly start disliking or even hating s-expressions. All that so-called "hatred" stems from unfamiliarity. People fuss about Lisps lacking static type…

I love Lisps, ML-family languages, etc. Languages like Java or Go are just painful for me to program in, and I know I’m probably in the minority there.

But honestly, I think a lot of it comes down to the fact that syntax carries semantic expectations. Certain syntax makes you expect a certain model of programming: mutability, imperative control flow, objects everywhere, etc.

Gleam is a good counterexample. It has an ALGOL-ish syntax, but semantically it’s a functional language, and it’s wonderful to read/write.

Same with Ruby: the parts of Ruby that still make me smile are mostly the parts that feel Lisp-adjacent.

It’s kind of wild that we live in a world where, for most programmers, syntax seems to matter more than semantics.

Re: Rhombus Language 1.0

#54
post #51

I’ve written a little library Rhombus. I think my favorite thing is the `…` operator. Go check it out. It’s not like the splat operator in other languages, though it does give that feel initially. It’s much more general: it works with nested data structures and can take the place of a `map` operation. The best part of `…` is that it is not a built-in thing —it’s just a macro! The magic is that Rhombus lets you define…

> I think my favorite thing is the `…` operator. Go check it out. I appreciate your enthusiasm. But three dots are really hard to google. Can you provide a link?

Some info here: https://docs.racket-lang.org/rhombus-reference/Repetitions.h...

Re: Rhombus Language 1.0

#55

"Modern programming languages reflect a consensus on the the most important programming concepts, including lexically scoped variables, closures, objects, pattern matching, and type parametricity. Why, then, yet another programming language?" I don't want to be too nitpicky but ... the sentence has two "the", aka "the the most important". It is a really irrelevant error, but on the other hand, has nobody ever read th…

Thanks for the report. I just made a PR to fix it.

I was not involved in writing this, but in my experience it's better to edit the text in Google Docs or something similar that catches all these easy typos. But it's harder to collaborate and make it git friendly, so I guess they just used a standard editor that has less support for this kind of errors.

Re: Rhombus Language 1.0

#56

I’ve written a little library Rhombus. I think my favorite thing is the `…` operator. Go check it out. It’s not like the splat operator in other languages, though it does give that feel initially. It’s much more general: it works with nested data structures and can take the place of a `map` operation. The best part of `…` is that it is not a built-in thing —it’s just a macro! The magic is that Rhombus lets you define…

That's both extremely neat and, for the time being, extremely hard for me to get my head around. I got it round monads, so I imagine it's just a matter of time!

Re: Rhombus Language 1.0

#57
post #4

Earlier quoted context omitted.

A lot of people hate sexprs. Even seemingly reasonable folks. I imagined they have met students that really struggle with the syntax, while grokking the concepts easily. I myself have heard "the parentheses are hard to balance" and "after a while you dont even see the parentheses" enough times that I think maybe both can be correct.

> A lot of people hate sexprs In all my time I have never come across a single Lisper, neither in person nor online, and I know far more than a few dozens, who once grokked the REPL-driven workflow and the structural editing idioms only to later, for whatever reason, suddenly start disliking or even hating s-expressions. All that so-called "hatred" stems from unfamiliarity. People fuss about Lisps lacking static type…

I think if you believe that the aids types give for refactoring are equivalent to structural editing, then you are the one who might not get the value of typing information (I say this as a Python person, and am totally willing to accept lack of typing info in plenty of situations)

REPLs are nice and good, but when you're working on large enough systems it's nice to have some static foundations for your facts.

Re: Rhombus Language 1.0

#58

I’ve written a little library Rhombus. I think my favorite thing is the `…` operator. Go check it out. It’s not like the splat operator in other languages, though it does give that feel initially. It’s much more general: it works with nested data structures and can take the place of a `map` operation. The best part of `…` is that it is not a built-in thing —it’s just a macro! The magic is that Rhombus lets you define…

> I think my favorite thing is the `…` operator. Go check it out. It’s not like the splat operator in other languages, though it does give that feel initially. It’s much more general: it works with nested data structures and can take the place of a `map` operation.

Something akin to `destructuring-bind' in Common Lisp?

Re: Rhombus Language 1.0

#59
post #18

Earlier quoted context omitted.

For you, perhaps. I've never been able to get into lisp style sexpr syntax languages :'(

) There matched your paren for you.

Don’t you know that :’( is actually a trigraph for meta-quote-expression·opening ? Such a a reckless move as a lone mere literal closing bracket could destabilize the cosmic equilibrium entirely!

Re: Rhombus Language 1.0

#60
post #40
post #8

Earlier quoted context omitted.

It‘s a source of problems with mismatched tabs/spaces being used for indentation between team members for fairly little upside. Imo it also makes moving blocks of code more cumbersome.

Any language with significant indentation ends up specifying "Indent with spaces, not tab characters" for just that reason. As I recall, Python had that as a recommendation while F# ended up with it as a requirement, but it's been a while since I looked at that so I could be wrong. But in my experience, the category "people who complain about significant whitespace" is nearly a subset of the category "people who pref…

>Because then you just hit that key binding, then press `>` or `But that's cumbersome compared to moving the block of code and hitting Tab to have your superior editor immediately indent the block at the right level.
Post reply on HN