Re:Primer on Go Assembly
by theparanoid on Thursday March 08, 2018 @11:39PM
(#16549825)
Go's "pseudo-assembly" is not a plus. Everyone ends up learning both the architecture's assembly and the mapping to Go's pseudo-assembly which isn't actually portable because each architecture has architecture-specific features.
[ Parent
| on HN ]
That is like saying functions are not a plus, because you need to learn the functions and the mapping to the code used to implement the functions.
The Go assembly language is no different from having macros, functions or anything else providing a higher level of abstraction to relieve the developer of thinking about every little nuance of the underlying language.
Would you say LLVM's pseudo assembly is also not a plus?
They should just call it Plan9 IR
Re:Primer on Go Assembly
by gameswithgo on Friday March 09, 2018 @02:25AM
(#16550278)
Perhaps such a thing makes sense when you are a target for languages but not when you are just a language. Instead make sure anything that you can express with your IR can be expressed with the language?
It always makes sense. because it is easier to port to new platforms.
A low level IR requires less effort to implement a compiler backend.
In Go's case, it is what makes the reference compiler so easy to cross-compile.