Artifact caba0b155455469b6604d473c47a9af5e0f9c2f89202613a4fe6a035c919cf94:
- File
psl-1983/3-1/kernel/cont-error.red
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1287) [annotate] [blame] [check-ins using] [more...]
- File
psl-1983/kernel/cont-error.red
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1287) [annotate] [blame] [check-ins using]
% % CONT-ERROR.RED - Nice macro to set up arguments for ContinuableError % % Author: Eric Benson % Symbolic Computation Group % Computer Science Dept. % University of Utah % Date: 23 August 1981 % Copyright (c) 1981 University of Utah % % <PSL.INTERP>CONT-ERROR.RED.3, 2-Sep-82 09:10:04, Edit by BENSON % Made handling of ReEvalForm more robust % format is: % ContError(ErrorNumber, FormatString, {arguments to PrintF}, ReEvalForm) % ReEvalForm is something like % Foo(X, Y) % which becomes % list('Foo, MkQuote X, MkQuote Y) macro procedure ContError U; %. Set up for ContinuableError begin scalar ErrorNumber, Message, ReEvalForm; U := cdr U; ErrorNumber := car U; U := cdr U; if null cddr U then % if it's just a string, don't << Message := car U; % generate call to BldMsg U := cdr U >> else << while cdr U do << Message := AConc(Message, car U); U := cdr U >>; Message := 'BldMsg . Message >>; ReEvalForm := car U; ReEvalForm := if not PairP ReEvalForm then list('MkQuote, ReEvalForm) else 'list . MkQuote car ReEvalForm . for each X in cdr ReEvalForm collect list('MkQuote, X); return list('ContinuableError, ErrorNumber, Message, ReEvalForm); end; END;