Re:x86-64 Assembly Language Programming with Ubuntu
by e12e on Friday August 31, 2018 @06:20PM
(#17888943)
One practical "high level" example would be analyzing function/type specialization in Julia and understanding the resulting code that can be easily inspected.
See eg (from 2013, but at a glance seem to outline the ideas well):
For Julia - it's fairly easy to work "high up" most of the time - and drop down inspecting the code (and profiling) - and unlike many other languages, even high pref libraries will often be julia all the way down (unlike tcl/perl/ruby/python + c/fortran etc).
Similar for sbcl (common lisp) or various languages that target/use llvm. And obviously for looking at output of optimizing compilers for c, c++, rust, d and similar "medium to high" level languages (Pascal, Ada, crystal, etc).
See eg (from 2013, but at a glance seem to outline the ideas well):
http://blog.leahhanson.us/post/julia/julia-introspects.html
For Julia - it's fairly easy to work "high up" most of the time - and drop down inspecting the code (and profiling) - and unlike many other languages, even high pref libraries will often be julia all the way down (unlike tcl/perl/ruby/python + c/fortran etc).
https://docs.julialang.org/en/stable/manual/profile/
https://docs.julialang.org/en/stable/devdocs/reflection/
Similar for sbcl (common lisp) or various languages that target/use llvm. And obviously for looking at output of optimizing compilers for c, c++, rust, d and similar "medium to high" level languages (Pascal, Ada, crystal, etc).