R.I.P., David J. #Farber [°Apr. 17, 1934 – Feb. 7, 2026]🕯️🫡🌹
#InternetHallofFame #ICANNWatch #CyberCivilizationResearchCenter #KeioUniversity #BellLaboratories #ESS1 #SNOBOL #RandCorporation #ScientificDataSystems #CSNET #NSFNet #PaulBaran #AAASFellow #GenevieveMiller #DavidJackFarber #DavidJFarber
LINE = INPUT LINE 'S' = '|' NEXT LAST_LINE = LINE LINE = INPUT :F(DONE) AGAIN LAST_LINE '|' @CUR = '#' :F(NEXT) LINE NOTANY('^') POS(CUR) = '|' :S(AGAIN) F(SPLIT) SPLIT SPLITS = SPLITS + 1 LINE '.' POS(CUR + 1) = '|' LINE '.' POS(CUR - 1) = '|' :(AGAIN) DONE OUTPUT = SPLITS END
BEAMS = ARRAY('1000') LINE = INPUT LINE 'S' @CUR = '|' BEAMS<CUR> = 1 NEXT LAST_LINE = LINE LINE = INPUT :F(DONE) AGAIN LAST_LINE '|' @CUR = '#' :F(NEXT) LINE NOTANY('^') POS(CUR) = '|' :S(AGAIN) F(SPLIT) SPLIT BEAMS<CUR - 1> = BEAMS<CUR - 1> + BEAMS<CUR> BEAMS<CUR + 1> = BEAMS<CUR + 1> + BEAMS<CUR> BEAMS<CUR> = 0 LINE '.' POS(CUR + 1) = '|' LINE '.' POS(CUR - 1) = '|' :(AGAIN) DONE IX = IX + 1 TOTAL = TOTAL + BEAMS<IX> :S(DONE) OUTPUT = TOTAL END
#AdventOfCode day 7: #SNOBOL 4
this turned out much tighter than I expected!
Mind-expanding programming languages
@taylor.town on always chasing the next cool and perspective-altering language.
An excerpt from Kodsnack 659 - listen wherever you get podcasts or at kodsnack.se
#podcast #kodsnack #apl #lisp #snobol #optc
Users recall Snobol's unique pattern matching and syntax. It influenced later languages like Icon and even Python features. Exploring it broadens understanding of text processing. #Snobol 2/6
@aqsaqal.bsky.social celebrating his latest PragProg release -
Seven Obscure Languages in Seven Weeks
Open your eyes to new ways of thinking about programming, and change the way you code today.
http://pragprog.com/titles/dzseven
#Forth #Occam #APL #Simula #SNOBOL #Starset #m4 #7in7
There are just some mind-blowing old computer languages out there!
#AdventOfCode #Snobol #Programming
N = SPAN('0123456789') READ LINE = INPUT :F(DONE) NEXT LINE 'mul(' N . X ',' N . Y ')' REM . LINE :F(READ) TOTAL = TOTAL + (X * Y) :(NEXT) DONE OUTPUT = 'Answer: ' TOTAL END
N = SPAN('0123456789') ON = "do" READ LINE = INPUT :F(DONE) NEXT LINE (("don't" | "do") . ON '()' | 'mul(' N . X ',' N . Y ')') REM . LINE :S($ON) F(READ) DO TOTAL = TOTAL + (X * Y) DON'T X = 0 :(NEXT) DONE OUTPUT = 'Answer: ' TOTAL END
#AdventOfCode Day 03, #Snobol, pretty nice!