pushed updated library tests Felix Thibault (21 Aug 2020 22:28 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (22 Aug 2020 15:27 UTC)
Re: pushed updated library tests Felix Thibault (22 Aug 2020 16:23 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (25 Aug 2020 07:04 UTC)
Re: pushed updated library tests Alex Shinn (25 Aug 2020 07:20 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (25 Aug 2020 07:40 UTC)
Re: pushed updated library tests Alex Shinn (25 Aug 2020 07:58 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (25 Aug 2020 08:13 UTC)
Re: pushed updated library tests Alex Shinn (27 Aug 2020 02:14 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (27 Aug 2020 07:35 UTC)
Re: pushed updated library tests John Cowan (27 Aug 2020 17:43 UTC)
Re: pushed updated library tests Felix Thibault (27 Aug 2020 22:19 UTC)
Re: pushed updated library tests Arthur A. Gleckler (27 Aug 2020 23:23 UTC)
Re: pushed updated library tests Alex Shinn (28 Aug 2020 00:43 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (28 Aug 2020 05:26 UTC)
Re: pushed updated library tests Alex Shinn (28 Aug 2020 05:35 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (28 Aug 2020 05:52 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (28 Aug 2020 13:47 UTC)
Re: pushed updated library tests Alex Shinn (28 Aug 2020 14:24 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (28 Aug 2020 15:03 UTC)
Re: pushed updated library tests Alex Shinn (31 Aug 2020 13:14 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (31 Aug 2020 14:44 UTC)
Re: pushed updated library tests Alex Shinn (31 Aug 2020 21:15 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (01 Sep 2020 06:52 UTC)
Re: pushed updated library tests Alex Shinn (01 Sep 2020 07:18 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (01 Sep 2020 07:24 UTC)
Re: pushed updated library tests Alex Shinn (01 Sep 2020 07:29 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (01 Sep 2020 07:47 UTC)
Re: pushed updated library tests Alex Shinn (02 Sep 2020 01:19 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (02 Sep 2020 07:02 UTC)
Re: pushed updated library tests Marc Nieper-Wißkirchen (31 Aug 2020 15:50 UTC)

Re: pushed updated library tests Marc Nieper-Wißkirchen 01 Sep 2020 07:47 UTC

Am Di., 1. Sept. 2020 um 09:29 Uhr schrieb Alex Shinn <xxxxxx@gmail.com>:

>> >> Given the program
>> >>
>> >> (import (scheme base) (scheme write))
>> >> (define-syntax print
>> >>   (syntax-rules ()
>> >>     ((print a) (begin (write a) (newline)))))
>> >> (print "Hello, World!")
>> >>
>> >> by your reading, "Hello, World!" is not a literal because by following
>> >> the production rules without taking macro expansion into account, you
>> >> will never get to the production rule of <literal>. You will end up
>> >> with <macro use> and be stuck there.
>> >
>> >
>> > The restriction and the entirety of section 7.1 refer to the _lexical_ structure
>> > of the program, well before macro expansion.
>>
>> So, "Hello, World!" is not a literal in my above program in sense of
>> your reading?
>
>
> Of course it is, it's self-evaluating.

Lexically, <self-evaluating> is a production rule in 7.1.3, which can
only be reached through <literal>. But you don't reach the production
rule <literal> if you just look at the lexical structure.

Maybe someone else should try to explain it better than I am
apparently able to, but let me try again: We are talking about two
meanings of "literal" here and what must be meant by the restriction
in 2.4.

(1) "literal" as an expression type.
(2) "literal" as some lexical property of a datum in the source.

My argument is that only (1) makes sense. You seem to want to read
"literal" as in (2). But this will always lead to some contradiction.

First of all, without expanding macro uses, the production rules are
always stuck at a <macro use>. But let's ignore it. Then, by your
answer you gave me about "Hello, World!", every datum of "(quote
<datum>)" or every self-evaluating datum in the source code is
considered to be a literal for (2). This, however, would make the
restriction in 2.4 nonsensical:

(import (scheme base))
(define-syntax strip
  (syntax-rules ()
    ((_ (kwd arg)) arg)))
(strip (quote #1=(begin (display #\x) #1#)))

would then not be covered by 2.4.