Tonight I had strange dreams about state monads...

I currently have some waiting time at work, and am now trying to change some things in my #RustLang #SpareTimeProject, as I would like to try using a State Monad Transformer together with a Free Monad. I don't think that this combination is going to work for what I am trying to achieve, but after tonight I just have to try it.

And I must say, I already miss the #Lean4 Syntax. Rust is just sooooo verbose when it comes to nested generics...

And it compiles now.

My waiting time at work is over, and I haven't had a chance to try it yet, but as usual with #RustLang, if it compiles there are high chances that it actually works too.

(Again something I miss from Lean4. If you set up strict enough invariants in Lean, you can be certain that the code works if it only compiles...)

To my surprise, the idea I had last night is actually working just fine in #RustLang.

So, my #VisualNovel #SpareTimeProject is now probably going to use an #eDSL encoded as a #FreeMonad which is wrapped in a #StateMonadTransformer.

Now I just need to continue working on it. I haven't made much progress in the last 9 months...

@soulsource Are you using #rustlang as a gamedev?

@MadMike77 Only for my spare time project, and I haven't been actively developing it in the last couple months.

At work we are using Unreal, and do almost everything in C++. We had ambitious plans about introducing Rust in our workflow last year, but didn't find enough time/money to actually go though with them yet.
So, for now we are just doing baby-steps, like introduccing Rust-like Iterators, Option/Either Monads, etc. in our C++ codebase...

@soulsource You mention you have semiconductor physics background.
Does that mean you've worked on embedded programming too or did you stay strictly on the physics side of the things?

@MadMike77 Strictly on the (experimental) physics side, and there also on quite basic research. I worked on magnetic semiconductors (transition metal doped Gallium Nitride) and on organic semiconductors (n-Phenyls, n-Thiophenes, and Purin Alkaloids).

While I did some programming during that research, that was only on PC. Either for analyzing measurement data, or for controlling measurement devices over GPIB.