← Feed
@vnikolov@ieji.de @pascal_costanza@functional.cafe @screwlisp@gamerplus.org @ramin_hal9001@fe.disroot.org @SDF@mastodon.sdf.org
The history archive I'm building on github is willing to hold files that are not well-stored elsewhere but I don't want to weigh it down with things that are already safely stored. But safely stored is blurrier than I would have expected because sometimes they're stored in ways that are poorly indexed. The Internet Archive and MIT's DSpace are examples of things not well-indexed, but I suspect most archival storage is really not intelligible. I have had an LLM helping me navigate painful indexes, but it's slow-going sometimes.
For example, I have some documents that it turned out were already in the Internet Archive, just badly positioned.
Like there is a thing called the Lagout Museum that was on the web for a while and held a lot of interesting Symbolics documents. They are still there in the Internet Archive, but you don't look under Symbolics, you have to find them under this museum. It's not an easy thing. I only ran into it because there was a live-web pointer to a 404 of the Lagout Museum live on the web, and I traced into whether the IA had a archival copy, which it did.
But if you go to https://web.archive.org/web/20251010122927/https://doc.lagout.org/science/0_Computer%20Science/0_Computer%20History/old-hardware/symbolics/ you can see a lot of Symbolics documents that are hard to find elsewhere. People should bookmark this and link it from more prominent sites.
Each page, incidentally, asks you to donate, but the museum site is gone. I guess not enough people donated. There is a sad irony in the donate button popping up in the archive.
But, relevant to this thread, this file has information and a very small code sample for defwhopper. It also mentions defwhopper-subst, which it says is really just syntactic sugar for a defwrapper. The relevant file is software/genera_8/Symbolics_Common_Lisp_Programming_Constructs.pdf which you can find in the Internet Archive at https://web.archive.org/web/20191013221848/https://doc.lagout.org/science/0_Computer%20Science/0_Computer%20History/old-hardware/symbolics/software/genera_8/Symbolics_Common_Lisp_Programming_Constructs.pdf
Last time this Lagout Museumcame up for discussion, I think @brewsterkahle@mastodon.archive.org had asked @internetarchive@mastodon.archive.org
to get them better placement, but I don't know if they did. The relevant task, in my opinion, is just to make a symbolic link, or whatever the Internet Archive equivalent of same is, so that there's a Symbolics documentation area that's more easily findable and just points to https://web.archive.org/web/20251010122927/https://doc.lagout.org/science/0_Computer%20Science/0_Computer%20History/old-hardware/symbolics/ which is much harder to find.
In general, it would be nice if someone had a curated map of old manuals that was by device type, including links so that if some devices shared documentation, you could find the doc under any applicable. It's probably work to do that, but maybe if it was set up right, volunteers would help organize, as happens at Wikipedia either by having a set of trusted curators (perhaps partitioned by area of expertise) or some way for the public to vote on suggested changes. But right now it's just an unintelligible sea of undifferentiated duplicates in some of the areas, and I find that a real impediment to knowing whether documents I possess are already properly archived.
#KentsHistoryProject #InternetArchive #Symbolics #SymbolicsDocumentation #Documentation #RetroComputing
Replies (1)
-
@vnikolov@ieji.de @pascal_costanza@functional.cafe @screwlisp@gamerplus.org @ramin_hal9001@fe.disroot.org @SDF@mastodon.sdf.org
(This returns to the topic of defwhopper semantics. Brewster and IA removed, as they probably don't care about this thread beyond my last message.)
Here is the example from the links I offered in the previous message:
==========
Examples of Whoppers
The following whopper adds code around the execution of the method that performs the generic function print-integer on instances of the foo flavor. Specifically, the whopper binds the value of the special variable base to 3 around the execution of the method. This function takes one argument, n:
(defwhopper (print-integer foo) (n)
(let ((base 3))
(continue-whopper n)))
The following whopper sets up a catch around the execution of the compute-height method of flavor giant, regardless of what arguments this methods accepts:
(defwhopper (compute-height giant) (&rest args)
(catch ’too-high
(lexpr-continue-whopper args)))
==========
And this information may be helpful as well:
==========
Summary of Functions Related to Wrappers and Whoppers
defwrapper (generic-function flavor) (arglist &rest combined-method-body) &body body
Defines a wrapper.
defwhopper (generic-function flavor) arglist &body body
Defines a whopper.
continue-whopper &rest args
Calls the methods for the generic function that was intercepted by the whopper. This is intended for use in defwhopper forms.
lexpr-continue-whopper &rest args
Like continue-whopper, but the last argument should be a list of arguments to be passed. This is useful when the arguments to the intercepted generic function include an &rest argument.
defwhopper-subst (generic-function flavor) arglist &body body
Defines a wrapper by combining the convenient syntax of defwhopper with the efficiency of defwrapper.
==========
EDIT: I should have said the source of this and related concept information is: https://web.archive.org/web/20191013221848/https://doc.lagout.org/science/0_Computer%20Science/0_Computer%20History/old-hardware/symbolics/software/genera_8/Symbolics_Common_Lisp_Programming_Constructs.pdf (pages 621-624)
Open ##4760485