JavaScript and Lisp have eval
. Eval allows us to create code. However, it suffers from lack of the most important parts, the ability to have code that maintains code. To allow for such constructs, you need to go down the "meta programming rabbit hole". Warning, this hole is very deep, and highly confusing. In addition our puny software development brains, doesn't even have the mental framework to understand its capabilities, because of too much OOP.
Imagine you having a function similar to eval
, except instead of just doing string concatenation, it semantically inspects your code, allowing your eval2
function to change existing code. What could that do for you?
I just had a support request from one of the half a dozen of software development teams I am helping out, all over the world. This one originated from our Kyiv partner, needing to change the authorisation mechanism of his endpoints. I told him he had to replace the invocations to auth.ticket.verify
, but it was too many files for him, so he wanted to change the function itself - Which of course is a no go for code already in production.
I suggested he should use the meta programming capabilities of Hyperlambda to create a snippet of code that modifies his existing code. Partially to explain to him how this process works, and partially because I am truly in love with meta programming, and want to share my love with the world - I decided to create a YouTube video where I demonstrate the concept.
Let me know what you think in the comments. However, basically, the above allows me to do in 0.1 second, what a human being would have needed in theory several days to accomplish. That's ...
The coolness of Meta Programming ^_^
Top comments (0)