From ... From: Erik Naggum Subject: Re: ANSI CL proposal: format Date: 1998/02/27 Message-ID: <3097559270219763@naggum.no>#1/1 X-Deja-AN: 329107090 References: <3097118960555207@naggum.no> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * Kent M Pitman | No, because LOAD binds *READTABLE* and so you can do [as I often do]: | | (IN-PACKAGE "MINE") | (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) | (SETQ *READTABLE* (MY-SPECIALIZED-READTABLE))) point taken. incidentally, this seems like a super candidate for a (standard) macro. | Note if those global resources are partitioned in a way that is "closed | over". point taken. | The problem is that format strings are a kind of data. When you see doc | for ERROR and it says "takes a format string", you need to know "what | kind?". ok, let me back out a bit and suggest that the mechanisms available to the FORMATTER macro should be available with a user-specified language. that way, FORMAT and all its users and friends continue to work as they used to do, but FORMATTER could take an optional second argument with a table of some kind that specifies the behavior of each character, so the remaining power of the FORMAT language could be utilized. the reason people want to extend FORMAT is not to make global changes to the formatter, but to be relieved of writing the entire FORMATTER engine anew when need something specific. (at least if I can extrapolate from "me" to "people".) it's a royal pain to create a macro that hacks up a string to build another string it passes to FORMATTER so it can be used the same way FORMATTER can. I tried this once with a TIME-FORMATTER, but it stranded before I got it general enough to even satisfy myself. I wrote FORMAT-TIME-STRING for Emacs because I hate hard-coded time formats that can't be made to format according to ISO 8601, and wanted something with similar power and ease. (another problem with TIME-FORMATTER was that it should be able to accept a universal-time OR a list of decoded time values, but that's not FORMAT's fault.) (and while I'm at it, it would be nice to add LOOP constructs, too. :) | Hey, what happened to that #\Erik character? I'd rather not have this | conversation again and again with a bunch of Erik clones. heh. I figured #\Erik was _way_ too constant (although EQ-ness was not guaranteed). so now it's a fresh me with every article. this _may_ be an exaggeration in the opposite direction, of course. #:Erik -- God grant me serenity to accept the code I cannot change, courage to change the code I can, and wisdom to know the difference.