Skip to content
njlr edited this page Feb 1, 2019 · 3 revisions

Why F#?

We really wanted to use C++ to implement Buckaroo, but the lack of monads and tail-call recursion made it a quite scary task and hard to get it right. We invested quite a lot of time implementing the necessary building blocks (e.g. Conduit, Satori), but concluded that the Corotine TS is not quite ready for such a task. We had to fight with many compiler bugs and even ICEs (Internal Compiler Exceptions)!

C++ is absolutely the best tool for many applications, but package management (IO-bound, extremely complex execution flow) is currently not one of them. You need to use the right tool for the job!

Still, we remain hopeful that the standards committee will implement these features! 🙏

Do I need to use Mono then?

Nope! Absolutely not! Buckaroo is built using .NET Core AoT compilation to create a native executable that is then bundled into a single portable app. You can just wget and go! 😎

Clone this wiki locally