This week's topic is quite programming heavy, sorry to all non programmers 

yap
LISP stands for LISt Processing and was invented by John McCarthy, who was looking computation with symbols and recursive functions in the 1960s.
John McCarthy was the son of immigrant Communists (members of the CPUSA),
but after witnessing the failed counter-revolution in Prague in 1968,
he himself became a Republican
.
A Lisp program consist of a few basic building blocks:
- Symbols - basically text without whitespace, for example:
+,hello123,if,nil, etc. - Numbers, Strings, etc.
- Cons cells - a Pair, denoted as
(cons 1 2)or dotted(1 . 2) - Lists - a linked list of Cons cells with the final element being the symbol
nil.(list 1 2 3)is the same as(1 . (2 . (3 . nil))).
As you may have noticed, cons and list are inside the parentheses, thats because a function call like f(x,y) is written instead as (f x y). This is called a Symbolic expression and all Lisp code looks like this.
(+ 1 (* 2 3) 4)
;; multiply 2 times 3 => (+ 1 6 4)
;; add 1 6 and 4 => 11
;; the names 'car' and 'cdr' are ancient relics from some assembly instructions
;; basically first and second element of a cons cell
;; or head and tail of a list
(car (cons 1 2)) ;; => 1
(cdr (cons 1 2)) ;; => 2
This in turn means that any code can be turned into a list, so that it can be modified like data. I think thats quite neat and unique among programming languages (it even has a fancy word: this property is called homoiconicity).
Functions that operate on code are called macros.
;; generate a function 'name' that adds 'value' to the input
(defmacro defun-adder (name value)
(list 'defun name (list 'x) (list '+ 'x value)))
(defun-adder plus5 5)
;; define the function plus5(x) as x + 5
;; => (defun plus5 (x) (+ x 5)))
(plus5 10) ;; => 15
To make sure the interpreter does not try to evaluate a symbol, it needs to be "quoted".
Since this comes up quite often, it gets the shortcut of ' at the beginning.
Theyre much nicer to work with than for example macros in C:
#define PI 3.14159265
this C macro just searches and replaces the string PI in the C source code before compilation and theres lots of ways to mess up, for example
#define DOUBLE(x) x + x
if x is a function call that does something else, like printing,
then that message will appear twice.
Operator prescedence is also not considered: DOUBLE(1) * 3 will expand to 1 + 1 * 3, so 4 not 6 like one would expect.
The last thing I want to yap about is Lisp1 vs Lisp2. This refers to the amount of namespaces any programming language has. if functions and variables are allowed have same names, then there needs to be a namespace for each.
for example in CL:
(defvar x 1)
(defun x () (+ 1 1))
x ;; variable => 1
(x) ;; function call => 2
is perfectly fine, while in other languages like Python or C or Scheme this wouldnt work.
Shoutout to respected comrades lilypad and sodium_nitride who are also true Lisp patriots.
___ Join our public Matrix server! https://rentry.co/tracha#tracha-rooms ___
As a reminder, please do not discuss current struggle sessions in the mega. We want this to be a little oasis for all of us and the best way to do that is not to feed into existing conflict on the site. Also, be sure to properly give content warnings and put sensitive subjects behind proper spoiler tags. It's for the mental health of not just your comrades, but yourself as well.
Here is a screenshot of where to find the spoiler button.
spoiler


My mom might still be misgendering me, but she is braiding my hair nearly every day, yay!
I forgor the second thing I was gonna talk about ๐
But the third thing is that one of my dogs is the cutest thing ever, he's usually angry and barks a lot at any small noise outside, but everyday he waits for me on the living room at night, and when I get up to go to bed he looks at me, starts wagging his tail, grabs his nearest toy and lead the way to the bedroom always looking back to see if I'm following, he's so cuuuuuuuuuuteeeeeee.
awh my mom stopped misgendering me almost instantly but it took her a year to start braiding my hair
yea puppers are cute
the four legged kind and the two legged kind 
one of my brother's dogs slept the whole day but he always needed for me to be in sight when he did, so i'd change a room and he'd follow shortly after to flop down in a different spot. it was very cute
Damn, looks like we have the opposite experience
Yeah, every puppy is cute!!
woag
Awwwwwwwwh what a cute puppy
My oldest dog is a stinky sleepy crybaby and I love him very much too
I hope after enough braiding it finally will click for her and she can manage to gender you correctly/consistently.
In my expert opinion, based on the facts presented, I think you might be correct here. Further observation will continue to be necessary of course
I hope so too, I brought it up to her yesterday when she was braiding my hair, and she was a bit annoyed at it, but I got the impression it was because she misread me as complaining instead of simply asking, I hope this changes over time.
Absolutely
oh my god my mom loooooves to take me asserting boundaries or making requests as an attack on her character and it is v irritating
Oh I totally get it, it sucks. I think my mom doesn't do it out of malice tho, I have raised this issue to her before and she seems to be more conscious about it at least, it was way worse before, some days I would just choose not to talk to her as much as I could because it was like every word would make her mad at something.
Oh my god this can be so frustrating! Communication can be so hard in general, but I feel like sometimes I get an overall debuff specifically when talking to family. Honestly just being perceived as an adult was a huge hurdle lol
Edit: almost forgot to say - please pat your dog and tell him the internet loves him too
Yeah, communication sucks real hard, specially because I'm autistic and people misjudge me no matter how I talk, specially my parents.
Just did that, he was incredibly happy
Here's a pic of him looking a bit goofy I just took
@GenderIsOpSec@hexbear.net also tagging you in case you want to see my doggo too
Ah yessss! I didn't want to ask, but thank you for the dog picture! What a silly little goober (massive compliment)
omggggggg he's so cyooooooteeeeeee