The Rye programming language is a dynamic scripting language based on REBOL’s ideas, taking inspiration from the Factor language and Unix shell. Rye is written in Go and inherits Go’s concurrency capabilities, including goroutines and channels. Recently, Rye gained support for Go’s select and waitgroups. Building blocks Goroutines Goroutines are lightweight threads of execution that are managed by the Go/Rye runtime. They operate independently, allowing multiple tasks to run concurrently without blocking each other. Creating a Goroutine in Rye is straightforward. The go keyword is used to launch a new Goroutine, followed by the Rye function to be executed concurrently. For instance, the following code snippet creates and starts a Goroutine that prints a message after a delay: ; # Hello Goroutine print "Starting Goroutine" go does { ; does creates a function without arguments sleep 1000 print "Hello from Goroutine!" } print "Sleepi...
Work on testing and improving quality of Rye core continues. We keep unifying interfaces, adding missing type support to built-in functions, exception handling, doc-strings ... We are writing tests that autogenerate function reference : https://ryelang.org/basics.html A week or so ago I also created first proper front page for Rye. https://ryelang.org/ Fellow contributor keeps tweaking github actions to include Go linters, unit tests and other checks. He also added support for binary releases and binary docker images. https://github.com/refaktor/rye/releases/ - binary release https://github.com/refaktor/rye/pkgs/container/rye - binary docker image Now, since function reference is no way to understand the language itself I started writing bigger documentation effort, Meet Rye https://ryelang.org/meet_rye/ Rye structures is the most interesting page for now. There is also a first version of VS Code extension available that offers syntax highlighting. You can find it in VS Code Exten...