Andrey Listopadov

Tags / fennel

I spent the previous ten days on vacation. Usually, I try to go off once or twice a year to somewhere where I can just passively relax - usually, it is some sea resort. This year I decided to go to the Republic of Türkiye and spend my time at the beach without any major attractions.
fnl-http is my current passion project - I spend a lot of free time tinkering with it, and the last week was spent on testing and fixing bugs. As you may know, I made a testing framework, called fennel-test, which has a dedicated test runner, and a set of macros for writing tests.
In the last post two weeks ago I described the process of making an asynchronous HTTP/1.1 client from scratch (minus the socket part). At the end, I mentioned that there’s a lot more to implement: Now, of course, that’s not all that needs to be implemented.
A while ago, I made a library for asynchronous programming in Fennel. It’s based on Clojure’s core.async vision of asynchronous programming using only channels. As an experiment, I’ve added a TCP support layer in that library, allowing one to create a TCP channel, and use it in the same way as a regular channel.
You might be wondering why there were no posts on the game development marathon I’ve been doing. Maybe you’d thought that I gave up after the admittedly underwhelming game3 having no actual game just some basic movement. And yeah, I felt burned up a lot, and considered skipping a month maybe - but then this happened.
I gave myself 1 extra day on this game because in total I was only able to work on this game for 5 days, two of which were on the train. So this game is now done, although I couldn’t make any sounds for it.
Another week passed, but I didn’t manage to squeeze out much spare time to make any significant progress with the game. Not like I didn’t do anything, but the game is far from being playable. This week I, unfortunately, could spend only a single day working on a game, because every day after work I had some personal stuff to take care of, which took all of my after-work hours.
I’m working on the next game, although I gave myself an extended period of rest. After failing to complete the last one I needed to distract myself a bit from this activity, so I worked a bit on Fennel stuff, played some games, and I think I’m back in business by now.
I’m pleased to announce that most of my libraries for fennel are now shipped as single files! It was a long-standing issue with Fennel for me, as there was no clear way to ship both macros and functions in the same file, but after some experimentation, I figured out a way.
Lately, I’ve been working on async.fnl in my spare time and realized that the previous code that I used to schedule timers was terrible. Well, realized isn’t an appropriate word here, because I knew it back when I first implemented it, I just didn’t bother to make it better until I had a fully working library.
Newer Page 1 of 3 Older