HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Symbolic Assembly: Using Clojure to Meta-program Bytecode - Ramsey Nasser

ClojureTV · Youtube · 61 HN points · 0 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention ClojureTV's video "Symbolic Assembly: Using Clojure to Meta-program Bytecode - Ramsey Nasser".
Youtube Summary
Generating high-performance low-level code in a compiler has historically been a pain due to weak tools. If the target assembly language can be represented as functional data, however, Clojure can be used as a functional, REPL-driven meta-programming layer, and compiler development begins to resemble standard Clojure programming. The Morgan And Grand Iron Clojure (MAGIC) Compiler library uses this approach to great effect when compiling Clojure on the Common Language Runtime to support video game development in the Arcadia project. In this session, we’ll take a look at this functional approach to compilers in general, and the design and success of MAGIC in particular.
Ramsey Nasser is a computer scientist, game designer, and educator based in Brooklyn. He researches programming languages by building tools to make computation more expressive and implementing projects that question the basic assumptions we make about code itself. His games playfully push people out of their comfort zones, and are often built using experimental tools of his design. Ramsey is a former Eyebeam fellow and a professor at schools around New York. When he is not reasoning about abstract unintuitive machines, he goes on long motorcycle trips.
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Feb 09, 2018 · 61 points, 2 comments · submitted by espeed
zengid
This kind of use of the CLR makes me more excited about having to learn C# for my internship this summer. (Not saying CLR is lame, but it's not as hot and radical as newer language communities IMO).
white-flame
It feels to me that "symbolic assembly" is simply creating an AST for the low-level target, instead of just stopping the use of ASTs in the intermediate forms. The larger projects out there might not necessarily go in that direction, but this is very common in smaller utilities that focus on handling byte/vm/machine code.

I could be missing something, but that seems like the TL;DR to me. Once you have easy AST nodes representing the lowest output level, it's simple to manipulate, especially in a Lisp-derived language (which is always a plus in metaprogramming).

HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.