From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [IPv6:2600:3c01:e000:146::1]) by inbox.vuxu.org (Postfix) with ESMTP id 0AEC925EC0 for ; Tue, 12 Mar 2024 17:41:26 +0100 (CET) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 606A14131A; Wed, 13 Mar 2024 02:41:22 +1000 (AEST) Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) by minnie.tuhs.org (Postfix) with ESMTPS id D959240120 for ; Wed, 13 Mar 2024 02:41:18 +1000 (AEST) Received: by mail-pg1-x52b.google.com with SMTP id 41be03b00d2f7-5bdbe2de25fso4791531a12.3 for ; Tue, 12 Mar 2024 09:41:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710261678; x=1710866478; darn=tuhs.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=sB5VOvFjr5VPcIon6HMstqMJnloWIYAO+Emk47rjb+s=; b=GyaFOxUPnHPmQVvPZViZf29zibVAfen5XhSGvjx9xYoKDLRSfXKl/mIAWUu+U7fn65 +Szm7qUdSB5tGO+xUpwmCRgLPulITPTtA24HneY90eMlcH7wQOyDK8v78fz5pD3kAFpD 1/dJr9YfnlmBT0SKDBrwiL1iJjqaNKYitoove3FsvY8lJdn2wSYJ0nBsWDEbj+P8LOhc DHc9+tlRrtP3C1OmRxQ7JQr5lx/+rE3PQvY8kSO17hYcvkk965shBWDS1Hbho7IZQKv3 grVQPshIthCG4G2o05gigpGq6xC3F+YUUKDX3KvuFuPQ1hE2NFBEY4SWZyfX8WusY1s5 +c8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710261678; x=1710866478; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sB5VOvFjr5VPcIon6HMstqMJnloWIYAO+Emk47rjb+s=; b=hbGYxm2xvKeA8n61vJo3k4FoxnwkA9nttLGmehKWyjPIw96C5iZYHk6pWd7bSAp9BV oCWEqUDIJ1mNMLd7QRv3FyIBK3AxMfikNvIxdOWrcf/gVz5qtEP85f5Vv7Qox6nwCMox BMjIQt2coUx10Z9MVY99ekYGdoQ9E+jzs3HxsretFOaHpSPEq8HdrcftxCEkEGYTKQLO whLM9h91XbJn5BzwBSF4pRnyMv35vkkkdqh0x2mcmwnMnIuSHVmV2PCSqMgEO4O+532U KRU0TxKr2kpPKRu96IwVNtzEMCEEuUmVYmAV2HdFmrtN75HPdVZYoe4fCkyE5NwaRa+p X1MQ== X-Forwarded-Encrypted: i=1; AJvYcCWOOYJwuw5ghu9dKMseGTjvx4ILflR+SwVf2oT6FSn9aXJDq+7Xilv0Sz4uAsz8J/tcNo28yb7JPMJD6j+X X-Gm-Message-State: AOJu0YxO2gk7y4ffsWZLh4jYKH1uO815L4KH+nZx64rVQKEhDDlEpbGw 8zboq2vBTPR/qnKINQ7dhS3E59ZGtlCNwFinyYloGznn+IV7jz5RHJ5sTUQwMcL3bCmr3I/Jw9v K6WHy2roQOpggVW2oUoHaJmad3yl8rTnC X-Google-Smtp-Source: AGHT+IHizwbZ1JxAQ+yDEaLoLq9ZdJWkNymW4Ss0SgY22pVzr3V7v1nOquRQTtSpvEl8ELg5GTrGNaDACamuMVRsqW8= X-Received: by 2002:a17:90a:b28b:b0:299:87ba:8a2 with SMTP id c11-20020a17090ab28b00b0029987ba08a2mr8308979pjr.41.1710261678356; Tue, 12 Mar 2024 09:41:18 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:6a10:d602:b0:53d:14e:3576 with HTTP; Tue, 12 Mar 2024 09:41:17 -0700 (PDT) In-Reply-To: References: <12CFE503-ACC8-44B5-BA41-28DB5450E521@planet.nl> From: Paul Winalski Date: Tue, 12 Mar 2024 12:41:17 -0400 Message-ID: To: Peter Yardley Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: JJATXSO4DR4RCKELMFJCPJINYTNCZACH X-Message-ID-Hash: JJATXSO4DR4RCKELMFJCPJINYTNCZACH X-MailFrom: paul.winalski@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Marc Rochkind , "tuhs@tuhs.org" X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: History of non-Bell C compilers? List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On 3/11/24, Peter Yardley wrote: > I used the DEC VMS C compiler extensively while I was at NSWIT. I ported = a > lot of Berkley (I think) C code to VMS. Some of their VLSI design suite, = KIC > etc. There weren=E2=80=99t a lot of changes to make, the compiler and lib= rary was > pretty K&R from what I remember. The usual small header issues applied The developers of the original DEC VMS C compiler took great pains to be K&R-friendly by default. There was a strict ANSI C option available. There later was a later, C89 compiler produced by Dave Cutler's DECwest engineering team in Seattle. I think it ran on Unix as well as VMS. It enforced the C89 standard very strictly--no option for relaxations or extensions and no K&R compatibility. One customer described it as the Rush Limbaugh of C compilers--extremely conservative and you can't argue with it. > VMS IO is a bit different from UNIX IO Understatement of the century. :-) > but they had a mode (stream I think) > that meant minimal changes to UNIX code. VMS's device-independent I/O layer is called Record Management Services (RMS) and as its name implies it is record-oriented. They did eventually add a stream mode to RMS, but that didn't happen until well into the 1990s. When DEC C for VMS first came out (ca. 1980) there was no stream mode in RMS. The C RTL had to implement stream I/O as a layer on top of RMS. It's fairly easy to build record-oriented I/O on top of stream I/O but it's very difficult to do it the other way around. At first release the VMS C RTL's I/O had a lot of buggy edge conditions. It took them several releases to get the I/O working properly. Circa 1985 there was a port of the Bourne shell to VAX/VMS. It of course needed pipes, and I wrote a pipe pseudo-device driver for VMS. It supported both stream and record read and write operations. -Paul W.