Rufus - have you used it?

If so, where/how and what do you like about it? :003:

Created by @jkakar

Rufus is a statically typed language that aims to provide Erlang semantics, with a developer experience that supports teams working together to build and operate fault-tolerant distributed systems.

2 Likes

Heya! Rufus author here. It’s a side project of mine that moves quite slowly, and while you can write, compile, and run various types of functions, it really isn’t usable yet. That said, I’m always open to thoughts and feedback!

4 Likes

Nice one @jkakar :023:

I have added you to the @rufus_core_team group and added your title :003: If there are more core team members please add them to the group (you are now marked as the owner of the group - so can add/remove people from it) and they will just need to set the group as their primary group in order for their ‘Rufas Core Team’ titles to show.

You also have a short URL that will take people directly to the Rufas forum where: https://erlangforums.com/rufas (would be great if you could add this to the relevant resources for Rufas :blush: and in case you’re not aware, you can also ‘watch’ the section to receive notifications whenever a new thread or post is made in this section) :smiley:

If you have any questions please let me know - and good luck with Rufas - I look forward to seeing how it grows and progresses!

2 Likes

Looks like a nice language, but a question for @jkakar, the import statement takes a string:

import "fmt"

And yet it’s used as an identifier?

func main() {
    fmt.Println("Hello, world!")
}
```
What happens if the import string is not a valid identifier, or if it can only be an identifier then why is it a string?
1 Like

Yeah, this design plan (completely unimplemented right now) is inspired by how imports work in Go. The plan is to be able to do things like:

import "github.com/jkakar/someproject/somenamespace/somemodule"

And then call functions in that module as somemodule.SomeFunction(). The goal is to make it possible to use directories to create namespaces in a project that help keep related modules together. Part of that is also to make it possible to create shorter module names (because they exist in the context of a namespace and don’t have to be globally unique), that hopefully lead to improved readability.

2 Likes