Toots for aartaka@merveilles.town account

Written by Artyom Bologov (t?he(y|m)?) on 2025-01-23 at 23:02

[#]TIL that there's a #LambdaCalculus based language called brujin (for obvious reasons) and that it's absolutely unreadable! The standard library and the amount of work that went into it is extremely impressive though, so go give it a read:

https://bruijn.marvinborner.de/

and show some love to Marvin Borner, the creator of brujin!

I'm stealing parts of it (like Maybe monad) into #Lamber, my own applicative #LambdaCalculus compiling #Lua like language.

[#]theWorkshop #theLibrary

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2025-01-19 at 13:04

I keep surprising people with my #Lisp indentation style. Wait, indentation styles in Lisp? Yes, indentation styles in Lisp. Here's my new #blogpost on what indentation styles there are and why I chose the most controversial one!

https://aartaka.me/lisp-indent.html

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2025-01-18 at 21:28

Y'all, how readable does this piece of code seem to you?

def div = fn (numer denom)

local loop = fn quot

when lt quot denom

then 0

else : succ : loop : sub quot denom

end

loop numer

end

That's division via subtraction from #Lamber standard library. And yes, it parses, compiles to pure #LambdaCalculus and returns the right number when applied properly!

[#]theWorkshop

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2025-01-18 at 16:02

Lamber (the WIP name of the language I'm making) compiles and runs factorial program:

let true = fn (t e) t

let false = fn (t e) e .

let iszero = fn (n)

n (fn x false) true .

let pred = fn (n f x)

n (fn (g h) h (g f))

(fn u x) (fn u u) .

let mult = fn (m n f) m (n f) .

let fac = fn : n

when : iszero n

then 1

else : mult n : fac : pred n

fac 6

Just so you know: Lamber is a #Lua, #Haskell, and #Wisp-inspired functional language compiling to pure #LambdaCalculus. And it's close to functioning well enough!

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2025-01-17 at 23:28

I seem to have gotten into destructuring quite bad. I think that one of my projects in #Scheme and the current job in #Clojure are to blame for that. Now I'm craving for pattern matching in my #CommonLisp projects and am over-abusing DESTRUCTURING-BIND to partially compensate for it.

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2025-01-08 at 21:34

Wait... Wait... No, that can't be right. I made a sorting algorithms in 350 bits of #BinaryLambdaCalculus! It's even less than John Tromp's 436 bits, and it's pretty readable by the #LambdaCalculus standards! I can probably codegolf it down to 320 bits, but I'm not really interested in that right now. The mere fact of it working is an achievement already. And hey, have you ever seen a 350 BITS sorting algorithm?

Find the commit adding it at https://github.com/aartaka/stdlambda/commit/b9e8a671268a3cda2ceb6a8aa5a1dc10dc6f7511

[#]theWorkshop

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2025-01-05 at 16:24

The asymmetry between "take" and "drop" #functionalProgramming operations on lists is weird. "drop" is just applying "cdr" N times, which is just a couple of function calls in #LambdaCalculus. While "take" requires full-blown #recursion and conditional testing. Or am I doing it wrong?

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-30 at 20:54

I made #OpenBSD #ed to work with my grep script, though it took some filesystem juggling. Now the next set of problems OpenBSD ed has:

I don't have the resources to get through bug reporting in OpenBSD (I don't even run it!) Not on the New Year's eve, at least. So this is another instance of #theVent

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-28 at 19:21

I warned you that ed(1) will soon rival Emacs in customizability, right? The day has come. "Customizing ed(1)"—a post where I make my ed disgustingly nice to use—is out now!

https://aartaka.me/customize-ed

CC @ed1conf and @mwl

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-28 at 10:31

But yes, I wholeheartedly suggest you try Armenian Areni wine someday. Areni is one of the oldest species of wine grapes and it has a nice soft flavor to it!

[#]theGalley

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-28 at 10:28

I haven't drank alcohol for so long that five sips of wine make me quite dizzy already. And there are probably as many left 🥴

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-28 at 09:23

The best birthday gift ever: it started snowing this morning. Everything is white and shiny now! I missed snow so much...

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-26 at 19:36

I'm at the point when I either stay with my old blog setup with ugly C Preprocessor conventions; or have to rewrite all my 50 posts in the new-ish pidgin HTML dialect (find the script processing it into plain HTML at https://aartaka.me/scripts/tohtml.ed.) The metadata parts, at least: I'll retain most of the CPP-related code, but the metadata needs a whole new approach!

I guess, I'll leave this blog refactoring (can you imagine anyone saying it?) for the holiday days. Luckily, I have only one day left before I spiral into this New Year madness! (They say that the way you start new year is the way you'll spend it. The year is bound to be fun.)

[#]theWorkshop

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-23 at 21:27

I keep being surprised over how much misuse HTML (and the Web Platform as a whole, mostly) allows. It's a blessing authoring HTML. It's a curse trying to parse it.

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-23 at 21:04

I'm thinking on some valid subset of #HTML that would look fine when displayed as-is, but can be preprocessed and enriched into something else. One of the elements I already implemented is captioned block:

auto var = 3;

</pre caption for this block>

that turns into

auto var = 3;

The magic here is that both forms are valid HTML, so I can preview both of these in the browser, and it will mostly be similar!

The goal is to have as many of these vanilla-looking elements. Elements that are progressively expanded to more complex and useful entities in my build scripts. But it will certainly take some time to come up with smart ways to exploit HTML for this.

[#]theWorkshop

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-22 at 19:02

I seem to have lost a lot of ways to unwind lately. I end up watching YouTube with no satisfaction, shrugging off video games endlessly foraging through GOG listings, and getting fed with crispy break + condenced milk. I am not satisfied with my ways to rest... Except writing. Just this weekend, I wrote three pieces for my blog. That's the only activity that I feel neither bored nor wasting time about. Weird. Am I becoming a writer?

(There's also esoteric programming, but I had no project ideas for a while. And there's reading, but my current book—Iliad—is too boring, especially in Russian translation (the only translation I was able to find in Yerevan (though I didn't search much, I must admit.)))

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-19 at 17:17

Pilgrims (https://www.gog.com/en/game/pilgrims) are surprisingly good! There seem to be a lot of absurd combinations of items and characters. Visuals and sound are stylish, and they tie in with the gameplay perfectly. Recommended, especially for the current GOG price!

[#]theLudarium

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-14 at 17:21

[#]ed is finally self-conscious! I somehow missed that part of documentation where it says that "w" command can write to bang-prefixed command, feeding buffer contents as standard input to this command. Which means: #ed can evaluate #ed commands in its own buffer, by calling another instance of #ed on them!

With this, the sky is the limit to what I can do. I already re-implemented my (disappointingly) shell-heavy #grep version, as pure #ed script: https://aartaka.me/scripts/grep.ed

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-14 at 14:42

Playing with #ANSI escape sequences to color my #ed prompt. A whole world of possibilities. What should I use there?

=> More informations about this toot | View the thread

Written by Artyom Bologov (t?he(y|m)?) on 2024-12-14 at 13:19

An irresistible temptation to call your #ed wrapper "#sed", and the sed reality of having to accommodate for other scripts on my system relying on a different (and inferior) meaning of #sed...

=> More informations about this toot | View the thread

=> This profile with reblog | Go to aartaka@merveilles.town account

Proxy Information
Original URL
gemini://mastogem.picasoft.net/profile/112983874733701536
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
390.040494 milliseconds
Gemini-to-HTML Time
5.345301 milliseconds

This content has been proxied by September (ba2dc).