Proxies are a tool used for metaprogramming. They allow you to reach into common object operations, such as getting and setting properties, and make them do whatever you want. All it takes is wrapping an object in a call to `new Proxy` to open up a magical realm.Abusing Proxies for DSLs
Branching and looping, two very critical pieces of any Turing complete programming language, are now available. With all of the other work that has been done these features were quite easy to implement as well.
Anyone can say they want to "change the world" and that "it's not about the money" — but talk is cheap — so we made our mission legally binding. At a time when the world sometimes seems totally devoid of integrity, we really just wanted to create something with unquestionable integrity.Building Ghost
Love this. A ray of light after months of disturbing news from tech.
A lot of work went into this section. Statements were added to the grammar, as well as variable declarations, variable assignment and scopes.
The interpreter code is now in place and working. The foundation on which the rest of the Lox language will be created is done.
Canonical recently released Ubuntu 18.04, the company's latest iteration of its popular Linux distribution, nicknamed Bionic Beaver. Ubuntu 18.04 is a Long Term Support (LTS) release and will receive updates and support from Canonical until April 2023. But more notably... Unity is gone. GNOME is back. And Ubuntu has never been better.Scott Gilbertson
I just set-up 18.04 on an old Macbook Air and I'm having a lot of fun with it.
Getting deep into the Lox language now. The parser is where the syntax of a language lives.
A bit of a side-step here to generate the many classes needed to store the structure of the Lox code to be run. I have Ruby do the hard work for me.
So here’s my advice for anyone who wants to make a dent in the future of web development: time to learn how compilers work.Tom Dale - Compilers are the New Frameworks
Yep... working on it.
Finally some progress on actual interpreter code. The scanner code is in place and generating tokens. Nothing much happens with them other than being printed to stdout, but it is progress.
I should have spent a bit more time with that interpreter book before committing to use it for this project. I would need much more time to learn Scheme than I want to spend.
...it's up to the developers, designers, entrepreneurs and technology leaders to create a version of the open web that also happens to be the best version of the web.Bringing people back to the open web
I agree that well built products will be required to lure people away from the walled gardens like Facebook, but that is not the only thing that is needed. There also needs to be a viable business model that doesn't include charging people (because they are already accustomed to using these tools for free), or monetizing their data in some way (which would put us right back into the situation we are in now).
This is the second article in the Building an Interpreter series. The project is up and running on Github and some exercises from Chapter One of Essentials of Programming Languages have been written.
...the agonizing lack of thought that city officials put into making healthy, multi-modal streets and the lack of any modicum of seriousness given to non-car modes of transportation.The Disgraceful Dockless Drama
The situation is also bad in the suburbs. Where I live the bike lane situation seems entirely random. Some roads have plenty of room for car lanes, bike lanes and parking while other roads have room only for car lanes, and some don't even have sidewalks. It would be nice to see a shift towards smaller electric vehicles everywhere.
CSS SANS is the font created by CSS, the programming language for web designing and typesetting.
This is great. The same kind of 'I just made it because I could' attitude that I want to focus on.