interview with #ARM designer Sophie Wilson about ARM’s #history. At 6'41" she says Nokia was "scared" about the (fairly poor) code density of ARM, which is where #Thumb came from: the desire to build mobile phones around it.
"Quint" is apparently a veneer over TLA+ with a C-like syntax. #formal-methods
OpenFPGA is an #FPGA #softcore with two 4-LUTs per CLB which has been fabricated (?) in the #Skywater #efabless program. #hardware
The list of public #hardware projects that have been fabricated (?) in the #Skywater #efabless program.
free baseband firmware for #Pinephone?
another tiny ELF program, this one for 64-bit Linux. #small-is-beautiful
more on tiny ELF files; apparently 80 bytes is the minimum for 64-bit Linux. #small-is-beautiful
#SRFI 9 for #Scheme is Kelsey’s 01999 approach to defining #records. “Each new record type is distinct from all existing types, including other record types and Scheme’s predefined types.” Given (define-record-type :pare (kons x y) pare? (x kar set-kar!) (y kdr)) you have functions pare?, kons, kar, kdr, and set-kar!.
#SRFI 57 for #Scheme is van Tonder’s 02004 approach to defining #records, extending SRFI 9, permitting abbreviated syntax (define-record-type node (make-node left right)), which I’m not sure defines left and right functions.
#SRFI 76 for #Scheme is the 02005 proposal for R6RS #records, by Clinger, Dybvig, Sperber and van Straaten (based on Pavel Curtis’s 01989 proposal, Bill Rozas’s work, Norman Adams’s work, T, CScheme, etc.), which was withdrawn as previously planned when R6RS was done. It mentions that PLT Scheme (Racket) allows (define-struct point (x y)), but it doesn’t. All the examples in the “examples” section are too horrific to repeat here.
#SRFI 99 for #Scheme is Clinger’s 02008 simpler alternative to the appalling R6RS record system in SRFI 76, with a syntactic layer that is an extension of SRFI 9. This is ERR5RS-compatible. Note that Clinger’s name is also on SRFI 76! #records
#SRFI 131 for #Scheme is Cowan and Clinger’s 02015 reduction of SRFI 99 to be implementable with only syntax-rules and not a more powerful macro system. #records
notes on hacking #Chez #Scheme and #SBCL #Common-Lisp, with special attention to startup times
notes on hacking in #Golang
The #Common-Lisp approach to defining #records is that after you (defstruct point x y) you can (let ((p (make-point :x 3 :y 4))) (setf (point-x p) 5) p) which prints as #S(POINT :X 5 :Y 4), which is also valid read syntax. There are of course optional keyword arguments to override every part of this.
#Oleg thinks undelimited #continuations in #Scheme were a mistake!
a #SRFI from 02022 that reconciles #Scheme #records from R6RS and R7RS.