July 12th, 2024

Rye Language

Rye Language is a high-level, dynamic programming language emphasizing interactive use, backend development, and information processing. It supports various functionalities, runs on multiple platforms, and promotes user-friendly information manipulation with strict design principles.

Read original articleLink Icon
Rye Language

Rye Language is a programming language under development, focusing on fluid expressions for interactive use, backend, servers, and information processing. It is high level, dynamic, and based on ideas from Rebol, Factor, Linux shell, and Go. Rye emphasizes interactive use with a console and can be embedded into Go programs. The language supports various functionalities like string manipulation, mathematical operations, SQL queries, and validation dialects. Rye aims to bridge the gap towards user interfaces and emphasizes information flow over state, with functions being the active components. It runs on Linux, Mac OS, web browsers (Wasm), and Docker, with potential for mobile and Windows. The project is open-source on GitHub, welcoming contributions and offering a multiplatform GUI experiment. Rye's design principles include treating everything as an expression, code as data, and enforcing strictness about effects and error handling. The language also introduces a Spreadsheet datatype and focuses on user-friendly vocabulary for information manipulation.

Related

First Class Contexts – Rye Language

First Class Contexts – Rye Language

Rye Language introduces first-class contexts for scoping Rye words, creating parent-child relationships. Context paths access values, restricting direct changes for control. Evaluation and isolation mechanisms enhance structured code organization.

Show HN: R2R V2 – A open source RAG engine with prod features

Show HN: R2R V2 – A open source RAG engine with prod features

The R2R GitHub repository offers an open-source RAG answer engine for scalable systems, featuring multimodal support, hybrid search, and a RESTful API. It includes installation guides, a dashboard, and community support. Developers benefit from configurable functionalities and resources for integration. Full documentation is available on the repository for exploration and contribution.

I Probably Hate Writing Code in Your Favorite Language

I Probably Hate Writing Code in Your Favorite Language

The author critiques popular programming languages like Python and Java, favoring Elixir and Haskell for immutability and functional programming benefits. They emphasize personal language preferences for hobby projects, not sparking conflict.

Exploring biphasic programming: a new approach in language design

Exploring biphasic programming: a new approach in language design

Biphasic programming introduces new language design trends like Zig's "comptime" for compile-time execution, React Server Components for flexible rendering, and Winglang's phase-specific code for cloud applications.

Rye: A Hassle-Free Python Experience

Rye: A Hassle-Free Python Experience

Rye is a Python project and package management tool for developers. It simplifies Python installations, project management, dependencies, and virtual environments. Installation instructions are available for Linux, macOS, and Windows systems. Users need Rust and Cargo for Rye.

Link Icon 15 comments
By @xyst - 4 months
Wrote my first hello world and http server to get the ticker starting on “Rye Lang X years of experience”

Can’t wait for the “10 yeass of experience in Rye Lang [in 2026]” job posts from clueless recruiters

By @galaxyLogic - 4 months
This sounds cool:

"Every active component in Rye is a function (if, loop, for, fn, return, extends, context). No keywords, no special forms."

It should make the language much simpler than other languages. The challenge of programming is dealing with copmplexity in code, and if the language takes away much of that complexity it should be a good thing.

By @viraptor - 4 months
It seems quite similar to http://nushell.sh/ which is also really cool.
By @BiteCode_dev - 4 months
Interesting, but optional parenthesis is a no go for me.

Every time I try to read a Ruby line with no (), I have to stop and think.

Not being able to scan code is an anti feature.

By @emmanueloga_ - 4 months
Q for Rye's author: Since Rye is heavily inspired by Rebol, I wonder if you had a chance to take a look at Red [1] and what are your thoughts about it. Red looks really cool and capable, but it feels so niche/obscure and has such a small community that feels unpractical to use.

--

1: https://www.red-lang.org/

By @pipeline_peak - 4 months
It's cool and weird at the same time.

Cool because I'd like to think if someone made a Netflix tech drama loosely based around Bell Labs in the early 80's, this would language would appear in that series. A language created by some Nordic computer scientist who angrily shakes his fist at the world because it doesn't get adopted due to it's weird syntax. Of course instead we get Awk.

By @lsh0 - 4 months
A similar language is Joker (https://github.com/candid82/joker), Go based, Clojure syntax. I've been using it for years as a general purpose scripting language and Clojure code linter and formatter - it's exceptional.

It doesn't integrate non-Joker Go code as far as I know.

By @cout - 4 months
I don't often get excited when I see a new language, but this is really neat! It's not just another lisp or forth variant, but seems to be in a class of its own (if anything it reminds me of smalltalk, but claims to not be object oriented). I'm quite interested to see where this project goes!
By @zX41ZdbW - 4 months
The first example is not convincing:

    lsp\ "prin"
It has two problems: - it's unclear why "prin", not "print"; - the usage of backslash looks scary.

Subsequent examples are also not good:

    bears .column? 'Area |unique
- overloaded syntax of '.' and '?' characters; - unbalanced quotes; - unbalanced whitespace around the '|' characters.
By @skybrian - 4 months
Hint: the "interactive" demos are scrollable by dragging the bottom. (Sadly, you don't have any access to the terminal window's scrollbar, so you can't just scroll to the end of the "video.")

I still think a non-animated transcript of a terminal session is better.

By @ejstembler - 4 months
Looks interesting! +2 for Postgres and AWS support. Looking forward to GCP support someday...
By @lenkite - 4 months
Hopefully Rye will support the dataframe interchange protocol. Then it can be easily used with existing visualization frameworks.
By @ilyagr - 4 months
FYI, Rye is the name of a tool that's gaining popularity in the Python world. https://github.com/astral-sh/rye