I’ve been trying to make JavaScript a bit more like Ruby. In particular, I want to support Ruby-style metaprogramming in JavaScript. This would make it possible to port over many advanced Ruby librari
In a nutshell: mindlessly copy and port Rails, because it's a great web MVC framework. The result should be a web MVC framework that runs in either the client AND the server.
while these clone/borrowers can approach the productivity of Rails in their language, they will not be able to match Rails completely. The reason for this is found in one simple word: Ruby.
there’s a trend toward drawing an increasingly sharp line between regular programming and “metaprogramming” in Ruby discussions, where metaprogramming is understood to mean… well, I’m not sure what it
Liskell is a new syntax frontend for Haskell. Next to its syntax in the form of symbolic expressions — which is known from Lisp — Liskell also features an extended meta-programming facility.
Ruby is often touted as a good language for writing Domain-Specific Languages (“DSLs”). There are a few arguments in favour of writing a DSL as part of an application.
We follow Block, who goes into a cloak room and emerges with a change of fashion. A black hat for its dark magic, a dagger for its villianous theft of an instance’s binding, and a glimmering red ring
Patty is a small library that facilitates working with functional data structures. It consists of a few macros and metaclasses that integrate nicely with CLOS. Code using patty is similar in style to
ately I’ve been thinking a lot about How and When. Two old friends. They’re pretty quiet, but play a huge role (I think) in making us better at doing what we do.
Java doesn’t have much of a heritage for meta-programming. Very few brave through thick forests of reflectors, proxies and code enhances, even less come out the other side. Ruby on the other hand, in
One of the great accomplishments of Ruby is that its object and class model bring about a wonderful unity and simplicity. Even things that might seem like they should be hard or obscure are actually v
“monkeypatching”, but when you want to reopen a class and add some methods, you don’t want to use class_eval or instance_eval. In fact, you (apparently) shouldn’t ever use class_eval
A meta-circular interpreter is a special case of a self-interpreter that applies only to programs where the primary representation of the program is a primitive data type in the language itself (this
When working with Rails, it is tempting to conceptualize ActiveRecord#find into some genie that magically reaches into your database and pulls back the records matching the criteria you specified. The
thinking about a simpler, slightly more explicit way of handling this. Sometimes having too much transparency and magic is a bad thing. So, forget all the load_path mingling