Today’s topic will be about lazy sequences and how these are different from iterators. I’ve wanted to make an article on this topic for some time, but unfortunately, there was no good way to show the differences using a single language (that I know), because usually, languages stick to one of those things.
Here’s a quick rant, kinda. I’ve become a huge fan of structural editing recently. My structural editing journey was maybe a bit unusual, but I’ve finally settled on Smartparens for quite some time. Originally I was introduced to structural editing by Parinfer mode which had some Paredit functionality, so it got me interested.
Not long ago I’ve posted a small article on a Condition System in Clojure language. In that article, I was mostly trying to understand what a condition system is, and how it can enhance error handling in the code I write. Since that time, I’ve understood this system a lot better, by actually trying it in the Common Lisp language, the place where it came from, as far as I know.
I’d like to announce that I now have a Patreon page where you can support me and what I do. Lately I’ve started noticing that I dedicate a lot of my personal time into all the projects I’m making and maintaining, but I don’t have a lot of time to immediately fix all issues that other people have.
I’ve started using IRC in early 2000s, and was primarily using it because at that time there was no global internet access in our city. However we had city wide local network, and our internet provider ran an IRC server for everyone to chat.
A while ago I’ve watched this amazing talk: Condition Systems in an Exceptional Language by Chris Houser. And more recently I’ve found one interesting library called farolero, which provides a set of functions and macros that mimic Common Lisp’s condition system. So I was generally interested in the topic, and decided to give it a shot, and try both approaches.
Today we’ll take a look at interesting Java library, called PF4J, which describes itself as Plugin Framework for Java. The main purpose of this library is to provide a way of detecting, initializing, and using plugins to extend your Java application with new features without the need to modify the code.
Update: All the patches1, 2 has been merged into main branch of Fennel language, so expect to see improved fennelview in next stable release! Some semantics have been altered, so I’ve updated the post a bit to reflect the changes. Pretty-printing in Lisp is a way to represent data structures that we operate in our program in a human-readable way.
Programming languages come in all shapes and sizes. There are pretty simple languages, and a really complex ones. But what unites most of these languages is the syntax. There are many languages so called C-like, as they share many syntax ideas with C language, which includes consistent indentation, grouping, scoping, infix notation.
Previously I’ve decided to implement a rather basic raycasting engine in ClojureScript. It was a lot of fun, an interesting experience, and ClojureScript was awesome. I’ve implemented small labyrinth game, and thought about adding more features to the engine, such as camera shake, and wall height change.