A tiny lisp interpreter (tbh, not even close)
I have written a Lisp parser before, and I am thinking about writing a Lisp interpreter.
know thyself
I have written a Lisp parser before, and I am thinking about writing a Lisp interpreter.
Days ago, I noticed an interesting lib called reflect. It looks like it’s a sort of macro writing helper lib. Macros are cool, especially in Common Lisp. Rust macros can also bring some fun, but to be honest, they aren’t easy to write. (This is the repo of a macro I wrote in Rust).
I encountered a strange issue when I was writing some DB tests with SeaOrm a few days ago. For some reason, I felt that the DB connection was being dropped. Eventually, I realized the issue was caused by a “hidden” (not exactly) problem related to Tokio.
Previous post recorded my curiosity about the if-let
macro in alexandria
.
I recently came across someone using the macro if-let
. I was guessing its purpose is similar to the if let
construct in Rust:
Today is the last day of 2024, and here’s my review of how the year went. To sum it up, 2024 was a pretty straightforward year. I made several contributions to the open-source projects I use regularly.
As is tradition with my friends, we were all excited leading up to the start of Advent of Code (AOC) 2024. Once again, we grouped together to tackle this year’s challenges, sharing ideas and solutions along the way.
A few days ago, I encountered a performance issue with Vec<Vec<T>>
. After resolving that problem, I stumbled upon another challenge, and I think it’s worth writing down because I couldn’t find a direct answer on Google.
Time flows and now it is November. The AOC is coming in just one month. I was checking the first year of AOC I completed back in 2017. When I was working on day 3, I was going to use the AOC map that I had made in the AOC tools I worked on during the last several AOCs.
From Rust 1.80, LazyLock
is now part of the stable channel. To be honest, it is the first time I realized the Rust team was trying to stabilize the lazy_static
feature. This is great news because I have been using lazy_static
in some of my projects, and I am eager to rewrite them using LazyLock
(LazyCell
).
Last year, I wrote a post titled Re-make my Raspberry Pi after a stupid mistake. A few days ago, my Raspberry Pi screwed up again, and I had to re-make the system once more.
Today is the last day of 2023, and I think I should review how my development has progressed this year.
The AoC 2023 has finished! Just like last year, I am going to record my AoC 2023 journey in this post. This year, I sought a lot of help from my friends in the chatting group we made last year, and the geniuses on Reddit. I truly learned a lot, including several algorithms I had never even heard of before.
I wrote my first elisp mode. I have my code-it-later tool that I find myself using everyday. As an Emacs user, I’ve been wondering if I could call it from inside Emacs, like many other packages. And because I created the code-it-later, it seems appropriate for me to be the one to write this mode for my project.
One day, I wanted to use the format function inside my Rust. I considered writing it on my own, so that others could potentially use it and experience a bit of Lisp (just a tiny bit).
I was trying to play around using my local mac emacs slime to connect the swank server on my raspberry pi. Initially, it cannot work, but I use the ssh tunnel to forward the ports to make it work. However, I try to figure out why it cannot connect directly. It is because the raspberry pi doesn’t open the port.
After a year’s wait, I finally got my M2 aarch64 chip MacBook Pro. And after one day of usage, there are some experiences I should write down about migrating from the old intel macbook pro to this new one.
I noticed open Cargo.toml
in my emacs didn’t show colors/highlights one day. After check the error messages, I figured out a new word that tree-sitter
.
As I did last year, I decided do AOC this year. I feel it is a bit harder than last year. This is just the journey of 2022 AOC. All code host on here
I am not a Jenkins’ fan in my whole (not long) career. I always feel frustrated when I have to write jenkinsfile or use some other tools based on jenkins.
Several weeks ago, SBCL 2.0.2 updated with a “new” feature called Block Compilation
. This is the first time I hear this term, I go collect some information of this new feature and I found this article.
I am trying to learn OCaml several weeks ago. My personal hobbits is writing a tiny project for fun with new language which I am learning. So, for OCaml, I wanna to rewrite my old code-it-later project. At beginning, I just want to practice, then I get some experiments.