this post was submitted on 27 Nov 2023
1 points (100.0% liked)

Lisp

53 readers
3 users here now

founded 1 year ago
MODERATORS
 

Hi r/scheme, my little brother (11) is interested in programming. Since he doesn't know what he wants to make yet, I feel like scheme could be a good first language to learn the basics, paired with "The Little Schemer", a book I worked through when I was younger that I feel like he'd like and would teach him some solid CS foundations. Any input on this?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] MasterSkillz@alien.top 1 points 1 year ago (1 children)

Yeah I went through setting up DrRacket and stuff like that when I worked through Scheme the first time around, I'll know what to show him. The Little Schemer uses functions that aren't really in Scheme, like (atom?)

[โ€“] jason-reddit-public@alien.top 1 points 1 year ago (1 children)

Yeah "atom?" doesn't appear in r7rs. You could probably get away with (not (pair? x)) [[ unless '() isn't an atom - its been a while! ]]

Hopefully there wouldn't be too many of those. ๐Ÿคทโ€โ™‚๏ธ

[โ€“] raevnos@alien.top 1 points 11 months ago (1 children)

(define (atom? x) (not (pair? x))) is the same as Common Lisp atom, but I've seen some Scheme texts that use versions that treat '() as not an atom. Can be confusing if you have one definition in mind and look at something that uses the other.

[โ€“] jason-reddit-public@alien.top 1 points 11 months ago

If (not (eq? '() #f)) then it may make sense to treat '() as non-atomic. "atomic?" would then be a cheap version of "list?".