From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RDNS_NONE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.4 Received: from authenticated user by zero.zsh.org with local id 1kinfe-0005cw-Hp; Sat, 28 Nov 2020 00:00:58 +0000 Authentication-Results: zsh.org; iprev=pass (mail-wr1-f53.google.com) smtp.remote-ip=209.85.221.53; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-wr1-f53.google.com ([209.85.221.53]:37014) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1kinfL-0005OD-2x; Sat, 28 Nov 2020 00:00:40 +0000 Received: by mail-wr1-f53.google.com with SMTP id i2so7165969wrs.4 for ; Fri, 27 Nov 2020 16:00:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RtSZhPaAQwMEE4v4Up4d7TgUzA0xJQZyEpSrSwryASA=; b=s0HWV7s3AXL3VmpkBsFRY7GVQTJV0gfvDcY7Vb+7TW2t9PWu2JyK4ZiU0kLcJ9xNmC QhK7toiSS2IB5yQSYwmr+Eag1BWMnkbpc4EGFK9uEfUQmgAfUMpXqUtjmOY5ZicPd+lw KrkAPXH0vAHHlXGkF4YaylPe5014lelXqDTy3JTjbCd0Wbvsk4Qb/oB0hLH2eWQyTtvy BJxie0vPcagyE0Zjh5uu4V3o74FNL/rfgasr9+JZm1P6W94++WAG6lNH38WeiXjZy9sz maB7SkBawEUApsrvWh16SthwAkQqkoqEMA8uRCkZ+ZejFRKE/uGuxw0hAJOQj6v0BYV3 xGgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RtSZhPaAQwMEE4v4Up4d7TgUzA0xJQZyEpSrSwryASA=; b=BAsLTwR5qvaT7cItwNd8SpAWA9mSzVUID77Kh/n6MUMGbU2ZyK90440UP4E6ktDQa5 S4gCsqCrlffZDwzbP3Ax6Us5v+jOItiixoT18UMKuR21I/9z+kgX7z0ExIqGD2/t0sdN sj2KpKc8mROL4jVVLtaUwMaV9sq8CPkFoHeLi5jax9T57QUl02ZWSJ4/KCMvkXdonP0a C2vAZA6HyAz/wyI6MxxbU5IqVIJyundIly4hoQlnEdbU6B+CxyHS+tkVcIQ5Uio1R4Tq wDAnma0lfiTMNfmZ6RkXdj8kc85usKuUvz9W13Z7ANDzYH9yZYGSGFMVNtrOh1jcA6fX Ykrg== X-Gm-Message-State: AOAM532g2u4MVR1hfjithc6lYOf4ER9YtfVmOnVC19wUM7In0r0zy2TM OgSfcfmRae38nQz+D6nUpt2JN673gEiJ0h0jlPUWkw6zQEY= X-Google-Smtp-Source: ABdhPJy8u9O85aqJkUSki3KKWFqJnUgsU7wjzpaB7MBa06VWSNSuMU356X+CxLjZPuPPmwXDUYn8PsSVcSyH51FgOMA= X-Received: by 2002:a5d:4349:: with SMTP id u9mr13479855wrr.319.1606521638682; Fri, 27 Nov 2020 16:00:38 -0800 (PST) MIME-Version: 1.0 References: <20201125131921.vay7h3xk5qn4odgg@chazelas.org> In-Reply-To: From: Felipe Contreras Date: Fri, 27 Nov 2020 18:00:27 -0600 Message-ID: Subject: Re: More rabbit-holes with unset variables To: Bart Schaefer Cc: Zsh hackers list Content-Type: text/plain; charset="UTF-8" X-Seq: 47684 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: On Fri, Nov 27, 2020 at 4:39 PM Bart Schaefer wrote: > > On Fri, Nov 27, 2020 at 2:10 PM Felipe Contreras > wrote: > > > > So we can interpret what you said as 'so the only useful "declared but > > not set" variable is a string' without losing any meaning. > > That's not correct, but again I was hoping it wasn't necessary to > spell all this out. > > All of the following create parameters representing strings, none of > which are useful unless they either have a default or the "preserve > when not set" behavior applies: These are not contradictory unless you commit the fallacy of the converse. "All animals that bark are mammals" doesn't mean "all mammals bark". Analogously: "All unset variables that are useful are strings" doesn't mean "all strings are unset variables that are useful". To be pedantic: param_is_useful_unset(p) -> param_type_is_string(p). Not the other way around. This is a bit tautological, because if the variable is unset, it can't be anything else but a string: param_is_unset(p) -> param_type_is_string(p). Cheers. -- Felipe Contreras