Lisp

Stuck on an Island

There’s this saying :

If you’re stuck on an island and have the opportunity to build all of the software landscape again, the programming language you should choose is C. But the first thing you should write is a lisp interpreter.

I’m going to do that with Go.

As for the saying, I’ve heavily paraphrased (aka butchered) that and don’t quite recall the source so do excuse me for that.

Building a Racket Based Operating System

EDIT : 0x22D2 : Fri Sep 27 03:51:30 PM IST 2024

  • I’m thinking I’ll proceed in common lisp
  • do read on for amusement though

As of 0x22CE (Mon Sep 23 06:48:40 AM IST 2024), These are the operating systems I’ve used:

  • Open Suse TumbleWeed
  • Fedora, CentOs, Rocky
  • Debian, Ubuntu, Kali
  • Arch
  • Windows XP,Vista,7,10,11

I recently moved away from Fedora 40 to Tumbleweed (I deleted some core python libraries that are essential for yum and dnf (I know, I’m an idiot))…

IKN0X224C: Epistemological Polyglotism

check out what an IKN0x means here

Understanding different languages can open up one’s mind towards different cultures.

The evolution of languages over centuries and common ancestors there-of over millenia indicates the evolution of cultural complexity.

The Conventional Take

I grew up actively conversing in 4 languages: English, Hindi, Marathi and Gujrati. French was my first romance language I was exposed to for over 8 years (I say exposed as was learning this academically as a third language and didn’t use this as a “natural” language as much as the others).

Adventures in Advanced Symbolic Programming : MIT-OCW - 6.945

I finished my first pass of SICP (structure and interpretation of computer programs) around 3 years ago. Since, I’ve realized the elegantly implicit existence of symbolic algebra in several domains that I personally explore on a regular basis.

That initial infatuation with Lisp ( and consequently symbolic computation ) has simmered and fermented enough in my mind to be realised as a potent generic thinking device. To cement my commitment to the same, I’ll regularly dive deeper into relevant academia so I don’t lose out on the joys of thinking for the sake of itself.

Common Lisp : The Series - 0.1 : Representing Programs

What makes lisp so unique is the way its code is structured - you definitely can’t miss all those parentheses. In this section of the series, I discuss the cause for such a representation and how that makes lisp unique in terms of how it views its code as data as code (aka homo-iconicity).



Further reading

Call to collaborate

If you’re someone who shares the dream of making lisp popular and mainstream so that we can use it for our jobs and don’t have to switch to blubs to make a living (without denting its charm of course) , consider contributing to the notes and hit me up via mail or any of the other media I’m present on.

My Emacs Configuration

[As of 0x213B : 2023-08-17 Thu]

I use emacs for a lot of my daily tasks and spend majority of my time in it. This is a review of some significant components of my init.el


;keyboard all the way
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)

;I don't like distractions
(setq byte-compile-warnings '(cl-functions))
(setq ring-bell-function 'ignore)
(setq visible-bell t)

I chose the most recently engineered package-management solution when I began with emacs, haven’t switched since and don’t think I’ll need to. Migrating from vim, I preferred a configuration file rather than installations via melpa interface. Also, freezing and thawing is cool : exact reproducibility is guaranteed.

Common Lisp - A Gentle Introduction to Symbolic Computation

Given I’ve passed through SICP once, quickly grasping common lisp to build stuff and explore the traditional and industrial aspects of lisp (I know clojure exists but traditional…) was my next objective: with decent speed and only solving the somewhat involved exercises, it took me two weeks to complete this book.

The exercises aren’t meant to be a challenge but to adapt to the environment and the topics introduced. The book does not explore concepts with depth (CLOS, macros, etc…) but that shouldn’t be the objective of an introduction anyway.