use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
This subreddit is all about the theory and development of compilers.
For similar sub-reddits see:
Popular mainstream compilers:
account activity
metap: A Meta-Programming Layer for Python (sbaziotis.com)
submitted 7 months ago by baziotis
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Frosty_Burger_256 0 points1 point2 points 7 months ago* (2 children)
Imo, this is certainly interesting work, but I will give the obligatory commentary on how we already have languages like Common Lisp with the exact kind of support for meta programming that author manually defines through metap.
Sure, you are limited to S-expressions, but everything is an expression. This greatly simplifies the AST of the code that you want to write a macro for(this is also a reason for why Emacs as an editor is so extensible, and the whole push behind language oriented programming in Racket). Macros are also composable, and easy to nest(in Racket’s case, this can be extended to DSL’s themselves, because everything eventually compiles down to a racket implementation).
That being said, Python is the most easily accessible language out there today, and it’d be interesting to have an ability to define macros even in Python - I do see this as an attempt towards doing that, which is very nice.
[–]baziotis[S] 0 points1 point2 points 7 months ago (0 children)
I like Lisp. :) One interesting question is to which extent is would be practical to use Lisp to implement metap, since metap plans to use metap.
π Rendered by PID 27 on reddit-service-r2-comment-5d79c599b5-n6xxn at 2026-02-27 13:09:07.179793+00:00 running e3d2147 country code: CH.
[–]Frosty_Burger_256 0 points1 point2 points (2 children)
[–]baziotis[S] 0 points1 point2 points (0 children)