Re: Question about call-next-method
"David McClain (as dbm at refined-audiometrics dot com)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
Along the lines of what is safe in programming… I used to think a lot about how much Forth relied on doing the right thing when given the right input. But all bets are off when faced with improper input. But Lisp itself also relies heavily on trust. If you were to pepper your code with every possible safety contingent, it would quickly become both unreadable, and unmaintainable. There are lots of Lisp puns, many centered around the use of NIL arguments, that just work for us. But if you really want to cover all possibilities, there are a lot of other ways the argument could be mis-stated. We just don’t generally mis-state them, and we are happy with our abbreviated puns. And we simply don’t expect to see deviant input data. > On Nov 16, 2025, at 12:37, David McClain (as dbm at refined-audiometrics dot com) <[email protected]> wrote: > > Hmm… sometimes your rhetoric goes off the rails. > > I applaud anyone exploring language facilities, even abusing them to see what would happen. Not all of us are steeped in the Language Legalese, and yet I do think that all of us should be permitted to continue using our computers. > > Now, if you are programming life-critical systems, or systems intended to keep us safe, then yes, one ought to have a substantial level of expertise. > > But from what I can see among the participants on LISP-HUG, the general level of expertise here, far exceeds current industry standards. > >> On Nov 16, 2025, at 11:16, Tim Bradshaw (as tfb at cley dot com) <[email protected]> wrote: >> >> On 16 Nov 2025, at 17:30, Bradford Miller (as gorbag at icloud dot com) <[email protected]> wrote: >>> >>> One can already redefine common functions in the middle of a program and use them unless their calls were compiled >> >> Try to read what I wrote. I'll quote it here: >> >>> Still less should the behaviour of programs which might add, redefine or remove methods to a generic function while it is being called be defined. >> >> >> Do you see the bit I have now emphasized above? So what you are asking or is not 'redefining functions and using them': it is redefining functions that are in the process of being called and then expecting that the new definition takes effect for that call. >> >> (Redefinition of ordinary functions is in fact allowed not 'unless they were compiled', but unless their callers were in the same file or they're declared inline.). >