>>14016002That said, it is actually pretty cool. If X is an alist, then let us say we push on to it the (cons cell?) '(f1 . closure1). We can change the definition of f1 by doing (push '(f1 . closure2) X) or something like that. In other words our code can easily self-modify! Ain't that neat?
Point is, lisp forces you through hoops that shouldn't be there but for the fact that, at the time, ever-higher-order logics were not yet popular (if they had even been invented back in the 1970s).
Now, science is merely combinatorial logic.
Behold fake ever-higher-order... combinators (not really but I hope I got your noggin' joggin').
Now you can automate virtually everything in your engineering curriculum lol. It begs the question of what exactly an engineering curriculum is, given most of the intellectual labor can actually be stuffed into Common Lisp program (well I use Emacs Lisp but it's probably close enough, I know you don't understand what the heck I'm writing but you will after a month of playing with Lisp).
Of course, without Continuations you will hate everything. For example, you will hate MAPCAR and wish to redefine it with delimiters for delimited Continuations. Well you can't really practically do that is common lisp.
You will have fun, OP, and you will be able to teach your friend fun things, too.
You can also write inline assembly and C very easily if you use the SBCL implementation of Common Lisp apparently.