Rewrite Rhino in Rust

Hi everyone, I have a brilliant idea! You know how material library always takes so long to open. Or how layers panel loses focus when you try to rename it, so you have to reach for the mouse to put it in the focus again? Let’s face it, these types of bugs became unmanageable for human mind to solve. Rhino carries of lot of legacy code that just gets in the way of innovation. I propose the entire program was rewritten in Rust - the new, memory-safe, gluten-free language made for the modern era.


it’s being rewritten in Rust as we speak…


Why use Rust when you can use Zig.


Because the Marketing Department are ready for Rust:


Puuuh - you got me with this one! I was just about to write an enthusiastic post about this but luckily I realized the situation before embarrassing myself :sweat_smile:


oh good lord… I also just realised… it’s april fools lmao

1 Like

Actually, I wanted to suggest they do it in Swift. People look at it as being Apple only, but it works on Windows and Linux as well. Supposedly as easy to learn as Python (easier in my opinion) and designed to be fast.

But I know not to suggest it because that’s just crazy talk!

Rust is cool but Haskell has monoids

1 Like

if you’re gonna do it, do it right

1 Like

That’s like programming in Morse! :nerd_face:

Can I vote for BS

That’s just a load of crap, so no.

I just completed rewriting Rhino in Whitespace. I just printed it out on A3 sheets, so we still have a copy if the internet and cloud ever cease to exist.

Whoever is interested in the full source code is welcome to get my physical copy.

P.S. I did delete the digital copy for improved security. When you get the physical copy you can be sure you are the only one to have it.


what are monads?

A monad is just a monoid in the category of endofunctors

Imagine the GH possibilities

1 Like

Do Not Fold, Spindle, or Mutilate!

I see, so you are saying that in situation where the pentagon diagram
and the unitor diagram
together with some morphisms both commuted monoid could be assumed to be object M (obviously assuming its monoidal category (C, ⊗, I) ).

That’s true, possibilities just in terms of multithreading alone are clearly surpassing any generic imperative language

it’s beautiful, and the fastest way to construct a box and pass it onto the gpu

iirc the “memory safety” of Rust has been proved to be undecidable. :thinking: