HN
Today

Rhombus Language 1.0

Rhombus Language 1.0 has arrived, aiming to democratize Racket's powerful Lisp-style macro extensibility with a more conventional syntax. The Hacker News community is abuzz, debating whether its non-S-expression approach truly enhances usability or compromises core Lisp principles. Discussions also delve into the practicality of its indentation syntax and the potential role of AI in shaping the future of specialized languages.

153
Score
37
Comments
#10
Highest Rank
17h
on Front Page
First Seen
Jun 24, 12:00 AM
Last Seen
Jun 24, 4:00 PM
Rank Over Time
1517111011121112121316162324242229

The Lowdown

Rhombus Language, built upon the robust Racket ecosystem, has officially launched its 1.0 version. This new language endeavors to merge user-friendliness—achieved through a conventional syntax—with the advanced extensibility of Lisp-style macros, a hallmark of Racket.

  • Core Identity: Rhombus is a general-purpose, functional, and extensible dynamic language designed for both everyday scripting and large-scale system development.
  • Racket Integration: It is deeply intertwined with Racket, leveraging its tools and community, and effectively functions as a Racket dialect that expands the ecosystem's multi-language capabilities.
  • Syntax Innovation: A significant departure from its Lisp heritage is its conventional, non-S-expression syntax (termed "shrubbery notation"), intended to make powerful macro systems more broadly accessible.
  • Feature Enhancements: Beyond syntax, Rhombus introduces several improvements over standard Racket, including optimized predefined data structures (like RRB tree-based lists), a modernized class system, pervasive pattern matching, and flexible static information capabilities.
  • Production Readiness: Despite its academic origins, Rhombus is positioned for production use, promising a level of stability, consistency, and support on par with Racket's decades-long track record.
  • AI and Language Design: The project acknowledges that AI coding agents can already generate idiomatic Rhombus code, suggesting that enhancing DSL support—a primary goal of Rhombus—will benefit both human programmers and AI collaborators.

Overall, Rhombus 1.0 represents a thoughtful attempt to bridge the gap between powerful metaprogramming capabilities and developer-centric syntax, aspiring to create a versatile environment for a wide range of programming tasks.

The Gossip

Macro Mastery and Syntax Schism

The announcement sparked a lively discussion on Rhombus's central premise: offering Racket's powerful Lisp-style macros without the S-expression syntax. Many celebrated the innovation, particularly the `...` operator and the improved macro system, seeing it as a way to make advanced extensibility more approachable. However, traditional Lisp enthusiasts defended S-expressions, arguing their perceived difficulty is due to unfamiliarity and that structural editing tools mitigate any issues, leading to a debate on whether Rhombus's 'bicameral' syntax truly improves upon or detracts from the Lisp tradition.

Indentation's Irksome Intricacies

Rhombus's adoption of significant whitespace syntax, a feature shared with languages like Python, drew both praise and criticism. While aiming for readability, critics voiced concerns about practical issues like inconsistent tab/space usage across teams and increased difficulty in refactoring code blocks. The proposed solution of using 'guillemets' to temporarily disable indentation sensitivity for copy-pasting was met with mixed reactions, with some finding it a clever workaround and others seeing it as an 'horrifying' complication to an already contentious syntax choice.

AI's Shadow on Language Development

The emergence of AI coding agents prompted questions about the future relevance of new, specialized programming languages. Commenters pondered whether AI's ability to generate code, often favoring popular languages, would diminish the utility of languages like Rhombus. Conversely, some suggested that Rhombus's focus on powerful abstraction and DSL support might become even more valuable, enabling richer discourse between humans and AI, especially given that an AI-implemented Rhombus library showed a 'Java-style' implementation rather than an 'ideal' Rhombus approach.

The Typo Tempest: Scrutiny of Editorial Standards

A minor typographical error ('the the') in the story's introductory paragraph sparked an unexpected discussion on attention to detail and its implications for a new language. One commenter argued that such an oversight reflected a lack of care and potentially signaled future issues with documentation or long-term focus. However, another quickly countered, dismissing the 'extremely poor reasoning' that a single typo indicates a broader lack of care, highlighting the commonality of such minor errors even with careful review.