2 ms·
Thank you. The goal of Pseudo is to create idiomatic and readable code in the target language, it should look exactly as a human wrote it in order to be useful
by alehander42 11y ago
Thank you.
The goal of Pseudo is to create idiomatic and readable code in the target language, it should look exactly as a human wrote it in order to be useful for bootstrapping codebases in other languages or maintaining code in several languages(basically for cases when developers would continue working on the generated code)
Haxe's output isn't alien or too-machine-translated-like, but it's not optimized for that goal too.
Pseudo's intermediate format is `pseudo AST`, and it's supposed to be a target for various tools: compilers, parser generators etc. That would make it even possible to convert between different languages for the same codebase(I don't recommend it, but it can be useful). As far as I am aware, Haxe isn't meant to be a compiler target.
Pseudo makes it a lot easier to add support for a new language or a library.
It's written in Python and it uses a very declarative/template-like approach: https://github.com/alehander42/pseudo/blob/master/pseudo/generators/csharp_generator.py https://github.com/alehander42/pseudo/blob/master/pseudo/gen...
And, according to Haxe docs:
> These are the technical skills you must achieve to create a compilation target for Haxe:
> ...
> Learn Ocaml
> Understand Haxe compiler sources
It will try to support a lot more languages, including functional languages(it does already support Go and Ruby, which aren't supported byHaxe).