

In this sample project we will present to you three pairs of words loaded from an external file using rust, and we will receive this data calling the respective function from ClojureScript. For example, if the right word is doc TOR and the left word is TORtoise, these words are tied by the three characters TOR. TiedUp is a simple game about guessing the missing last three characters of a word located in the right side and the initial three characters of a word located in the left side. Given this summary about Rust, we can continue to our little game application: TiedUp! TiedUp! Maybe we have to mention another features such as the useful packages from crates.io, but we can talk more about this topic in another article. These high level features and many others, make Rust one of the most loved languages by developers. On the other hand, Unsafe Rust gives more flexibility to the developers, but they have to be extra careful to ensure that their code is safe. These restrictions maintain certain parts of the code safe, to keep working properly. With Safe Rust we will have restrictions over certain parts of the code. Just to mention one topic here, we have the Rust’s dual-mode model: Safe Rust and Unsafe Rust. We are convinced that safety is one of the biggest advantages of Rust.

Rust solves problems that languages like C/C++ have been battling for a long time such as memory errors and concurrent programming. The speed is almost naturally attached to the language, because the language ensure a low level access to memory and safety. Rust is programming language that focus on speed, safety, concurrency and memory safe. What is Rust? Why so much love is coming from the community?

We don’t want to write complex problems using a stack and a bunch of binary operations. In the previous session we talked about WAT, but we have to tell you something: Yes, WAT is not enough because probably we will need to write more complex code to cover business requirements. In this post, we will start by solving a more complex problem ClojureScript, Reagent and Rust (more details in the next post) compiled to WASM. In the last post we studied what WebAssembly(WASM) is, it’s influence in modern web development and we presented a simple demo using WAT to WASM compilation.
