Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

"Oh what wouldn't I give to be spat at in the face..." -- a prisoner in "Life of Brian"


devel / comp.lang.lisp / on a (racket) procedure for reading an article from stdin

SubjectAuthor
* on a (racket) procedure for reading an article from stdinJulieta Shem
`* Re: on a (racket) procedure for reading an article from stdinKaz Kylheku
 `* Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  +* Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  |`- Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  +* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |+- Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  |`* Re: on a (racket) procedure for reading an article from stdinGeorge Neuner
  | +* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  | |`* Re: on a (racket) procedure for reading an article from stdinGeorge Neuner
  | | `- Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  | `* Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  |  `* Re: on a (racket) procedure for reading an article from stdinGeorge Neuner
  |   `* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |    `* Re: on a (racket) procedure for reading an article from stdinKaz Kylheku
  |     `* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |      `* Re: on a (racket) procedure for reading an article from stdinKaz Kylheku
  |       `* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |        +* Re: on a (racket) procedure for reading an article from stdinDe ongekruisigde
  |        |`* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |        | `- Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  |        +* Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  |        |`* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |        | `* Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  |        |  +- Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |        |  `* Re: on a (racket) procedure for reading an article from stdinAxel Reichert
  |        |   `* Re: on a (racket) procedure for reading an article from stdinJulieta Shem
  |        |    +- Re: on a (racket) procedure for reading an article from stdinRaymond Wiker
  |        |    `* Choosing between Lisps and Schemes (was: on a (racket) procedure for reading an Axel Reichert
  |        |     +* Re: Choosing between Lisps and SchemesLawrence D'Oliveiro
  |        |     |+- Re: Choosing between Lisps and SchemesAxel Reichert
  |        |     |`* Re: Choosing between Lisps and SchemesStefan Ram
  |        |     | `* Re: Choosing between Lisps and SchemesLawrence D'Oliveiro
  |        |     |  `* Re: Choosing between Lisps and SchemesStefan Ram
  |        |     |   `* Re: Choosing between Lisps and SchemesJulieta Shem
  |        |     |    `* Re: Choosing between Lisps and SchemesStefan Ram
  |        |     |     `- Re: Choosing between Lisps and SchemesJulieta Shem
  |        |     +* Re: Choosing between Lisps and Schemes (was: on a (racket) procedure for readingGeorge Neuner
  |        |     |+- Re: Choosing between Lisps and SchemesLawrence D'Oliveiro
  |        |     |`* Re: Choosing between Lisps and SchemesAxel Reichert
  |        |     | `- Re: Choosing between Lisps and SchemesJulieta Shem
  |        |     `* Re: Choosing between Lisps and SchemesJulieta Shem
  |        |      +* Re: Choosing between Lisps and SchemesAxel Reichert
  |        |      |`* Re: Choosing between Lisps and SchemesJulieta Shem
  |        |      | `- Re: Choosing between Lisps and SchemesAxel Reichert
  |        |      `* Re: Choosing between Lisps and SchemesGeorge Neuner
  |        |       `* Re: Choosing between Lisps and SchemesJulieta Shem
  |        |        +* Re: Choosing between Lisps and SchemesPaolo Amoroso
  |        |        |`* Re: Choosing between Lisps and SchemesJulieta Shem
  |        |        | +* Re: Choosing between Lisps and SchemesPaolo Amoroso
  |        |        | |`- Re: Choosing between Lisps and SchemesJulieta Shem
  |        |        | `* Re: Choosing between Lisps and SchemesKaz Kylheku
  |        |        |  `* Re: Choosing between Lisps and SchemesJulieta Shem
  |        |        |   `- Re: Choosing between Lisps and SchemesSpiros Bousbouras
  |        |        +- Re: Choosing between Lisps and SchemesGeorge Neuner
  |        |        `* Re: Choosing between Lisps and SchemesAxel Reichert
  |        |         `* Re: Choosing between Lisps and SchemesJulieta Shem
  |        |          `- Re: Choosing between Lisps and SchemesAxel Reichert
  |        `* Re: on a (racket) procedure for reading an article from stdinKaz Kylheku
  |         `* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |          `* Re: on a (racket) procedure for reading an article from stdinKaz Kylheku
  |           +- Re: on a (racket) procedure for reading an article from stdinKaz Kylheku
  |           `* Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  |            `* Re: on a (racket) procedure for reading an article from stdinKaz Kylheku
  |             `- Re: on a (racket) procedure for reading an article from stdinLawrence D'Oliveiro
  `* using poll or select in SBCL (Was: Re: on a (racket) procedure for reading an arJulieta Shem
   `* Re: using poll or select in SBCL (Was: Re: on a (racket) procedure for reading aKaz Kylheku
    `* Re: using poll or select in SBCLJulieta Shem
     +* Re: using poll or select in SBCLMadhu
     |+* Re: using poll or select in SBCLJulieta Shem
     ||`* Re: using poll or select in SBCLMadhu
     || `* Re: using poll or select in SBCLJulieta Shem
     ||  `* Re: using poll or select in SBCLLawrence D'Oliveiro
     ||   `* Re: using poll or select in SBCLJulieta Shem
     ||    `* Re: using poll or select in SBCLMadhu
     ||     `* Re: using poll or select in SBCLJulieta Shem
     ||      `- Re: using poll or select in SBCLMadhu
     |`* Re: using poll or select in SBCLLawrence D'Oliveiro
     | `- Re: using poll or select in SBCLJulieta Shem
     `- Re: using poll or select in SBCLJulieta Shem

Pages:1234
on a (racket) procedure for reading an article from stdin

<87edf9hi2z.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17606&group=comp.lang.lisp#17606

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: on a (racket) procedure for reading an article from stdin
Date: Mon, 25 Dec 2023 22:24:04 -0300
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <87edf9hi2z.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="1c14dcd6524403f1ed3608d23a44c6c6";
logging-data="3394615"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX197107AgUjVpZXvZhzgwhKnYn2pqZeNXTU="
Cancel-Lock: sha1:oxfVJlGgdPe9z3kEE6axdcpmqEM=
sha1:8XXjk7o0tGMlwhC9gTXoCviL87k=
 by: Julieta Shem - Tue, 26 Dec 2023 01:24 UTC

Here's a procedure for reading lines from the stdin. It implements the
handling of a POST command from NNTP. It seems to work, but it looks
like work from a beginner. I wonder if there's anything you can say to
illuminate me.

What does it do? A thread will kill the program if the user takes too
long. (Otherwise we kill the thread.) The reading ends gracefully if
the user types a ``.'' on a line by itself. Otherwise we append the
current line read onto the end of a LINES-SO-FAR list and repeat. (Yes,
if a ``..'' is on a line by itself, that's the user escaping the dot
that's not the end of input. I decided to implement this corner-case
with that /let/ before repeating.)

(define (read-with-timeout [lines-so-far '()] [timeout 60])
(define killer
(thread (lambda ()
(sleep timeout)
(displayln "Timeout on posting article.")
(flush-output)
(exit))))
(define ln (read-line (current-input-port) 'return-linefeed))
(kill-thread killer)
(cond
[(eof-object? ln)
(displayln "fatal: eof while reading article...")
(exit)]
[(string=? ln ".")
(string-join lines-so-far "\r\n")]
[else
(let ([ln (if (string=? ln "..") "." ln)])
(read-with-timeout (append lines-so-far (list ln))))]))

Any thoughts, comments? Help to be a better Lisp programmer.

Re: on a (racket) procedure for reading an article from stdin

<20231225204959.89@kylheku.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17608&group=comp.lang.lisp#17608

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-6894@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Tue, 26 Dec 2023 04:59:52 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 50
Message-ID: <20231225204959.89@kylheku.com>
References: <87edf9hi2z.fsf@yaxenu.org>
Injection-Date: Tue, 26 Dec 2023 04:59:52 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4ed03db719374b13a72cfc71b24465a9";
logging-data="3561362"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/3XTVN7116zneK9vG45sJHXLxScrU7+K8="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:rEUPfhjU/W6wz+7fjdVcstnNo4Q=
 by: Kaz Kylheku - Tue, 26 Dec 2023 04:59 UTC

On 2023-12-26, Julieta Shem <jshem@yaxenu.org> wrote:
> Here's a procedure for reading lines from the stdin. It implements the
> handling of a POST command from NNTP. It seems to work, but it looks
> like work from a beginner. I wonder if there's anything you can say to
> illuminate me.
>
> What does it do? A thread will kill the program if the user takes too
> long. (Otherwise we kill the thread.) The reading ends gracefully if
> the user types a ``.'' on a line by itself. Otherwise we append the
> current line read onto the end of a LINES-SO-FAR list and repeat. (Yes,
> if a ``..'' is on a line by itself, that's the user escaping the dot
> that's not the end of input. I decided to implement this corner-case
> with that /let/ before repeating.)
>
> (define (read-with-timeout [lines-so-far '()] [timeout 60])
> (define killer
> (thread (lambda ()
> (sleep timeout)
> (displayln "Timeout on posting article.")
> (flush-output)
> (exit))))
> (define ln (read-line (current-input-port) 'return-linefeed))
> (kill-thread killer)
> (cond
> [(eof-object? ln)
> (displayln "fatal: eof while reading article...")
> (exit)]
> [(string=? ln ".")
> (string-join lines-so-far "\r\n")]
> [else
> (let ([ln (if (string=? ln "..") "." ln)])
> (read-with-timeout (append lines-so-far (list ln))))]))
>
> Any thoughts, comments? Help to be a better Lisp programmer.

Using a thread just for timing out a read is ugly, like something you'd
do in a shell program, not in a serious application.

(And if the shell is Bash, you wouldn't have to; it has a timed out read!
Type "help read" in bash: you can see that read can read characters
up to a specified delimiter, with a timeout (-t)).

A proper Unix program uses select or poll, or else uses setsockopt
to set up read timeout (if the input is known to be a socket).

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: on a (racket) procedure for reading an article from stdin

<87zfxxf9ln.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17612&group=comp.lang.lisp#17612

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Tue, 26 Dec 2023 12:25:11 -0300
Organization: A noiseless patient Spider
Lines: 99
Message-ID: <87zfxxf9ln.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="97939245a34baefe33d7141d5d42fc12";
logging-data="3713699"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19B/HHlMGK1qukhnu4Fu6iltBFbpqjdJhw="
Cancel-Lock: sha1:OS3jYjEJHIoL+9BkFWrTtKYTqFc=
sha1:6H3U/y7RDyC4E4fEPw3AoGz674A=
 by: Julieta Shem - Tue, 26 Dec 2023 15:25 UTC

Kaz Kylheku <433-929-6894@kylheku.com> writes:

> On 2023-12-26, Julieta Shem <jshem@yaxenu.org> wrote:
>> Here's a procedure for reading lines from the stdin. It implements the
>> handling of a POST command from NNTP. It seems to work, but it looks
>> like work from a beginner. I wonder if there's anything you can say to
>> illuminate me.
>>
>> What does it do? A thread will kill the program if the user takes too
>> long. (Otherwise we kill the thread.) The reading ends gracefully if
>> the user types a ``.'' on a line by itself. Otherwise we append the
>> current line read onto the end of a LINES-SO-FAR list and repeat. (Yes,
>> if a ``..'' is on a line by itself, that's the user escaping the dot
>> that's not the end of input. I decided to implement this corner-case
>> with that /let/ before repeating.)
>>
>> (define (read-with-timeout [lines-so-far '()] [timeout 60])
>> (define killer
>> (thread (lambda ()
>> (sleep timeout)
>> (displayln "Timeout on posting article.")
>> (flush-output)
>> (exit))))
>> (define ln (read-line (current-input-port) 'return-linefeed))
>> (kill-thread killer)
>> (cond
>> [(eof-object? ln)
>> (displayln "fatal: eof while reading article...")
>> (exit)]
>> [(string=? ln ".")
>> (string-join lines-so-far "\r\n")]
>> [else
>> (let ([ln (if (string=? ln "..") "." ln)])
>> (read-with-timeout (append lines-so-far (list ln))))]))
>>
>> Any thoughts, comments? Help to be a better Lisp programmer.
>
> Using a thread just for timing out a read is ugly, like something you'd
> do in a shell program, not in a serious application.
>
> (And if the shell is Bash, you wouldn't have to; it has a timed out read!
> Type "help read" in bash: you can see that read can read characters
> up to a specified delimiter, with a timeout (-t)).
>
> A proper Unix program uses select or poll, or else uses setsockopt
> to set up read timeout (if the input is known to be a socket).

In C I would have used select. But how do I select in Racket? I found
Racket's sync/timeout, a procedure based on Racket's ``events''. The
reference dissertates briefly about events at

https://docs.racket-lang.org/reference/sync.html

and they cite

John H. Reppy, Concurrent Programming in ML, Cambridge University
Press, 1999. https://doi.org/10.1017/CBO9780511574962

as a reference. It's unclear to me that this is what I'm looking for,
but it might very well be.

--8<---------------cut here---------------start------------->8---
#lang racket/base
(define (read-line-timeout [timeout 60] [port (current-input-port)])
(define port-or-false
(sync/timeout timeout port))
(and port-or-false (read-line port-or-false)))

(define (interact-with-timeout timeout)
(define ln (read-line-timeout timeout))
(cond [(not ln)
(say "> God, you're slow.")]
[(eof-object? ln)
(say "> Okay, see you later.")]
[else
(say (format "< ~a" ln))
(say "> But why do you say that?")
(interact-with-timeout timeout)]))

(define (say s) (displayln s) (flush-output))

(module+ main
(say "> Hello. Say anything and press RET.")
(interact-with-timeout 3))
--8<---------------cut here---------------end--------------->8---

I see to see a complicated behavior of this program in Windows ``Command
Prompt'', but not in the GNU EMACS eshell. On the Command Prompt,
sometimes the timeout doesn't take effect. To make it easy to hit
reproduce, I reduce the timeout to 1. Here's an example. I took way
longer than 1 second to type that ``123''. The timeout only took effect
on the second wait. Weird.

c:\something>racket timezup.rkt
> Hello. Say anything and press RET.
123
< 123
> But why do you say that?
> God, you're slow.

Re: on a (racket) procedure for reading an article from stdin

<87sf3oeux9.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17613&group=comp.lang.lisp#17613

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Tue, 26 Dec 2023 14:27:14 -0300
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <87sf3oeux9.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="97939245a34baefe33d7141d5d42fc12";
logging-data="3743715"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Mqbj9HHZ+9nOg2CuSn4JWvSFpuGgNWwo="
Cancel-Lock: sha1:Ff8Z78bxvihQ35Hbjfkmq4eYd8M=
sha1:DJDfSb3TGutqbB6XtKrKCid/Wi8=
 by: Julieta Shem - Tue, 26 Dec 2023 17:27 UTC

Julieta Shem <jshem@yaxenu.org> writes:

[...]

> I see to see a complicated behavior of this program in Windows ``Command
> Prompt'', but not in the GNU EMACS eshell. On the Command Prompt,
> sometimes the timeout doesn't take effect. To make it easy to hit
> reproduce, I reduce the timeout to 1. Here's an example. I took way
> longer than 1 second to type that ``123''. The timeout only took effect
> on the second wait. Weird.
>
> c:\something>racket timezup.rkt
>> Hello. Say anything and press RET.
> 123
> < 123
>> But why do you say that?
>> God, you're slow.

Here's a better presentation. I set the timeout to 1 second. After
about ten seconds, I wrote ``No timeout'' and pressed RET.

--8<---------------cut here---------------start------------->8---
c:\something>c:/sys/emacs/usr/mingw/usr/bin/time.exe racket timezup.rkt
> Hello. Say anything and press RET.
No timeout.
< No timeout.
> But why do you say that?
> God, you're slow.
0.00user 0.00system 0:11.68elapsed 0%CPU (0avgtext+0avgdata 5228maxresident)k
0inputs+0outputs (1389major+0minor)pagefaults 0swaps
--8<---------------cut here---------------end--------------->8---

Re: on a (racket) procedure for reading an article from stdin

<umlac0$iq0h$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17649&group=comp.lang.lisp#17649

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 02:19:44 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <umlac0$iq0h$2@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 29 Dec 2023 02:19:44 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="d90672d7f8b83ec7c390dfb9e1c069cf";
logging-data="616465"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+VsBjZPcoW7EkhvZE7peDi"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:VDMgmL5w8NKxfZ5xozrddIUNDkI=
 by: Lawrence D'Oliv - Fri, 29 Dec 2023 02:19 UTC

On Tue, 26 Dec 2023 12:25:11 -0300, Julieta Shem wrote:

> https://docs.racket-lang.org/reference/sync.html

I had a look at that. Why do languages feel they have to stack on thick
layers of extra abstraction on top of basic POSIX concepts?

I do more Python than Lisp, and look how thin Python’s standard-library
abstractions on top of select/poll are:
<https://docs.python.org/3/library/select.html>. Makes it so much easier
to figure out what’s going on.

I suppose Racket could be worse. It could be Java.

Re: on a (racket) procedure for reading an article from stdin

<87le9d7li8.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17652&group=comp.lang.lisp#17652

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 00:09:19 -0300
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <87le9d7li8.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: dont-email.me; posting-host="7741ef366a696abb4a978b8c32f83242";
logging-data="761723"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX190zYXoyT1uhn+lpp+HINl/t9e9eFeVC44="
Cancel-Lock: sha1:XB8PcT6dbugQY996F1uKI5uXbz4=
sha1:QRHQXYz8wx0nSfFgFm8fQZv7nvg=
 by: Julieta Shem - Fri, 29 Dec 2023 03:09 UTC

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> On Tue, 26 Dec 2023 12:25:11 -0300, Julieta Shem wrote:
>
>> https://docs.racket-lang.org/reference/sync.html
>
> I had a look at that. Why do languages feel they have to stack on thick
> layers of extra abstraction on top of basic POSIX concepts?

That seems to be the wrong thing to do for people who know the POSIX
concepts. I believe the Racket people want to create their own world
from scratch.

> I do more Python than Lisp, and look how thin Python’s standard-library
> abstractions on top of select/poll are:
> <https://docs.python.org/3/library/select.html>. Makes it so much easier
> to figure out what’s going on.

True.

> I suppose Racket could be worse. It could be Java.

Yes! Way worse.

Re: on a (racket) procedure for reading an article from stdin

<87v88h66dr.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17655&group=comp.lang.lisp#17655

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 00:21:20 -0300
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <87v88h66dr.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <87sf3oeux9.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="7741ef366a696abb4a978b8c32f83242";
logging-data="761723"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18NKcACVkbUtaYjf8v4cOWTXmnF6s+NqfA="
Cancel-Lock: sha1:D4Nt6A94Tn/z7Hg3LV1jsay8H84=
sha1:V03XIqoVqvp4m9iOuMZ6cR7Zjkc=
 by: Julieta Shem - Fri, 29 Dec 2023 03:21 UTC

Julieta Shem <jshem@yaxenu.org> writes:

> Julieta Shem <jshem@yaxenu.org> writes:
>
> [...]
>
>> I see to see a complicated behavior of this program in Windows ``Command
>> Prompt'', but not in the GNU EMACS eshell. On the Command Prompt,
>> sometimes the timeout doesn't take effect. To make it easy to hit
>> reproduce, I reduce the timeout to 1. Here's an example. I took way
>> longer than 1 second to type that ``123''. The timeout only took effect
>> on the second wait. Weird.
>>
>> c:\something>racket timezup.rkt
>>> Hello. Say anything and press RET.
>> 123
>> < 123
>>> But why do you say that?
>>> God, you're slow.
>
> Here's a better presentation. I set the timeout to 1 second. After
> about ten seconds, I wrote ``No timeout'' and pressed RET.
>
> c:\something>c:/sys/emacs/usr/mingw/usr/bin/time.exe racket timezup.rkt
>> Hello. Say anything and press RET.
> No timeout.
> < No timeout.
>> But why do you say that?
>> God, you're slow.
> 0.00user 0.00system 0:11.68elapsed 0%CPU (0avgtext+0avgdata 5228maxresident)k
> 0inputs+0outputs (1389major+0minor)pagefaults 0swaps

This happens to be a known problem on Windows.

https://github.com/racket/racket/issues/4728

Re: on a (racket) procedure for reading an article from stdin

<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17657&group=comp.lang.lisp#17657

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!.POSTED!not-for-mail
From: gneuner2@comcast.net (George Neuner)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 00:50:32 -0500
Organization: i2pn2 (i2pn.org)
Message-ID: <lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com> <87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
logging-data="1510533"; mail-complaints-to="usenet@i2pn2.org";
posting-account="h5eMH71iFfocGZucc+SnA0y5I+72/ecoTCcIjMd3Uww";
User-Agent: ForteAgent/8.00.32.1272
X-Spam-Checker-Version: SpamAssassin 4.0.0
 by: George Neuner - Fri, 29 Dec 2023 05:50 UTC

On Fri, 29 Dec 2023 02:19:44 -0000 (UTC), Lawrence D'Oliveiro
<ldo@nz.invalid> wrote:

>On Tue, 26 Dec 2023 12:25:11 -0300, Julieta Shem wrote:
>
>> https://docs.racket-lang.org/reference/sync.html
>
>I had a look at that. Why do languages feel they have to stack on thick
>layers of extra abstraction on top of basic POSIX concepts?

For one thing, because Windows is not POSIX compliant. Languages that
try to be cross-platform have to do *something* to hide the
differences.

Whether you like the choices made by the implementors is a different
matter. ;-)

>I do more Python than Lisp, and look how thin Python’s standard-library
>abstractions on top of select/poll are:
><https://docs.python.org/3/library/select.html>. Makes it so much easier
>to figure out what’s going on.

Agreed, Python does a better job of looking like POSIX. However, in
1989 Guido had the benefit of (at least) POSIX.1 when he began to
develop Python. And as "dictator for life", it was easy to add things
when he thought they were needed.

Although the Racket project technically began in 2015, it grew out of
"PLT Scheme" which began in 1994. Scheme itself goes back to 1973 -
far before POSIX to a time when things like GUIs, modular programming,
networking, asynchronous I/O, threading, etc. were much less
important.

As a Scheme, PLT was hampered by compatibility concerns with a
language from the 1970s.

That's part of the reason the PLT group began Racket. Racket actually
is not a Scheme but rather is a unique language that syntactically
resembles Scheme and has similar (but greater) functionality.

Racket, in fact, supports readers (as in Lisp) with more or less
arbitrary parsing ability. If you are ambitous, you can create your
own DSL language having any syntax you like ... as long as it can
compile to Racket, it can be intermixed with Racket or with code from
any of a number of other DSLs that are available.

The Racket group currently is developing a new surface syntax -
tentatively called "Rhombus" - which will be more conventional infix
syntax. However, it still will be Racket underneath, so Racket and
Rhombus code will be able to be intermixed.

>I suppose Racket could be worse. It could be Java.

As a technical matter the JVM isn't bad ... it's only the Java
language that sucks. But there are compilers for many languages that
target the JVM, and most can interface to Java code if necessary. You
can code for JVM in Lisp or Scheme if you want to.

But Racket handles cross-platform quite nicely. Programs have to be
recompiled with the native compiler of course, but as long as they
don't use any non-Racket C libraries, they will be 100% *source*
portable and almost everything will just work.
[Windows and Linux return different native error codes, and of course
there is the CR/LF problem, but Racket can identify the host system
and it is pretty easy to write portable code - including GUI code -
that will run on either system.]

Current versions of Racket actually are built on Chez Scheme, and
there is a (somewhat customized) Chez runtime underneath. Using
Racket's foreign function interface (FFI) you can drop into Chez, or
into C, or into any language that supports being called from C.

With some restrictions, Racket itself supports being called from C, so
it is possible for a C program to embed a Racket instance to use
Racket libraries or even run a whole Racket program (in parallel if
the Racket instance is executed in a C thread).

Re: on a (racket) procedure for reading an article from stdin

<umlni4$o72u$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17658&group=comp.lang.lisp#17658

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 06:04:52 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <umlni4$o72u$1@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 29 Dec 2023 06:04:52 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="d90672d7f8b83ec7c390dfb9e1c069cf";
logging-data="793694"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Lo2AlRxdCvT9odAefQkJo"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:L3Jj6ewEQ9p2CIBKzdzLCc85pls=
 by: Lawrence D'Oliv - Fri, 29 Dec 2023 06:04 UTC

On Fri, 29 Dec 2023 00:50:32 -0500, George Neuner wrote:

> ... Windows is not POSIX compliant.

Wasn’t NT supposed to be POSIX-compliant in the beginning? Seems like that
whole part of the system has bitrotted away ...

So you have to ask yourself: is your return from supporting Windows users
worth the greatly increased expense?

Re: on a (racket) procedure for reading an article from stdin

<85qtoi5il7k4f4tlrl1d9bpd545pe46b58@4ax.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17664&group=comp.lang.lisp#17664

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!.POSTED!not-for-mail
From: gneuner2@comcast.net (George Neuner)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 10:54:14 -0500
Organization: i2pn2 (i2pn.org)
Message-ID: <85qtoi5il7k4f4tlrl1d9bpd545pe46b58@4ax.com>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com> <87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me> <lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <umlni4$o72u$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
logging-data="1560410"; mail-complaints-to="usenet@i2pn2.org";
posting-account="h5eMH71iFfocGZucc+SnA0y5I+72/ecoTCcIjMd3Uww";
User-Agent: ForteAgent/8.00.32.1272
X-Spam-Checker-Version: SpamAssassin 4.0.0
 by: George Neuner - Fri, 29 Dec 2023 15:54 UTC

On Fri, 29 Dec 2023 06:04:52 -0000 (UTC), Lawrence D'Oliveiro
<ldo@nz.invalid> wrote:

>On Fri, 29 Dec 2023 00:50:32 -0500, George Neuner wrote:
>
>> ... Windows is not POSIX compliant.
>
>Wasn’t NT supposed to be POSIX-compliant in the beginning? Seems like that
>whole part of the system has bitrotted away ...

Not exactly. NT's "POSIX support" was to add limited signal
capability. Adopting the POSIX function APIs was never even
considered.

>So you have to ask yourself: is your return from supporting Windows users
>worth the greatly increased expense?

More people directly use Windows than directly use Unix/Linux.

Re: on a (racket) procedure for reading an article from stdin

<87le9dx86e.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17666&group=comp.lang.lisp#17666

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 13:52:41 -0300
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <87le9dx86e.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="09c47c3a94ba78c630fbbd0a05a774bf";
logging-data="955863"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+C6ElRxW0kT3AmWSSILfjcMM4nwBxc3gg="
Cancel-Lock: sha1:q98JX9GXaOv/DLVUF9GK3DkLhH4=
sha1:W3e4njIa5NATPzkzOW0GOGJ6s9k=
 by: Julieta Shem - Fri, 29 Dec 2023 16:52 UTC

George Neuner <gneuner2@comcast.net> writes:

> On Fri, 29 Dec 2023 02:19:44 -0000 (UTC), Lawrence D'Oliveiro
> <ldo@nz.invalid> wrote:
>
>>On Tue, 26 Dec 2023 12:25:11 -0300, Julieta Shem wrote:
>>
>>> https://docs.racket-lang.org/reference/sync.html
>>
>>I had a look at that. Why do languages feel they have to stack on thick
>>layers of extra abstraction on top of basic POSIX concepts?
>
> For one thing, because Windows is not POSIX compliant.

Microsoft lawyers called me to say Microsoft supports ISO-IEC
9945-1:1990 --- and, having installed Cygwin, they could not distinguish
a POSIX compliant system from Microsoft Windows. I said our team would
get back to them.

Re: on a (racket) procedure for reading an article from stdin

<umnbk5$v826$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17667&group=comp.lang.lisp#17667

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Fri, 29 Dec 2023 20:53:25 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <umnbk5$v826$2@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <umlni4$o72u$1@dont-email.me>
<85qtoi5il7k4f4tlrl1d9bpd545pe46b58@4ax.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 29 Dec 2023 20:53:25 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f536652bae91a1dbcdb87f947245eba8";
logging-data="1024070"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/xLcrUhOZvkAqzGc1Y+yQp"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:6vg8hr9PZzXQz8k7GZJXb65aqxQ=
 by: Lawrence D'Oliv - Fri, 29 Dec 2023 20:53 UTC

On Fri, 29 Dec 2023 10:54:14 -0500, George Neuner wrote:

> On Fri, 29 Dec 2023 06:04:52 -0000 (UTC), Lawrence D'Oliveiro
> <ldo@nz.invalid> wrote:
>
>>So you have to ask yourself: is your return from supporting Windows
>>users worth the greatly increased expense?
>
> More people directly use Windows than directly use Unix/Linux.

If you are publishing an open-source project, then it’s not the number of
users that matters, but the level of contributions you get back from an
active community.

Bringing out a Windows build will almost certainly lead to a massive
increase in your user base and in numbers of bug reports and complaints
and general noise, without a concomitant increase in the level of
contributions back from those Windows users. Comparatively very few
Windows users have any idea about software development (or how to write
good bug reports), and the platform itself is inherently not very friendly
to open-source development.

Re: on a (racket) procedure for reading an article from stdin

<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17676&group=comp.lang.lisp#17676

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!.POSTED!not-for-mail
From: gneuner2@comcast.net (George Neuner)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 01:31:34 -0500
Organization: i2pn2 (i2pn.org)
Message-ID: <7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com> <87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me> <lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: i2pn2.org;
logging-data="1744802"; mail-complaints-to="usenet@i2pn2.org";
posting-account="h5eMH71iFfocGZucc+SnA0y5I+72/ecoTCcIjMd3Uww";
User-Agent: ForteAgent/8.00.32.1272
X-Spam-Checker-Version: SpamAssassin 4.0.0
 by: George Neuner - Sun, 31 Dec 2023 06:31 UTC

On Fri, 29 Dec 2023 13:52:41 -0300, Julieta Shem <jshem@yaxenu.org>
wrote:

>George Neuner <gneuner2@comcast.net> writes:
>
>> On Fri, 29 Dec 2023 02:19:44 -0000 (UTC), Lawrence D'Oliveiro
>> <ldo@nz.invalid> wrote:
>>
>>>On Tue, 26 Dec 2023 12:25:11 -0300, Julieta Shem wrote:
>>>
>>>> https://docs.racket-lang.org/reference/sync.html
>>>
>>>I had a look at that. Why do languages feel they have to stack on thick
>>>layers of extra abstraction on top of basic POSIX concepts?
>>
>> For one thing, because Windows is not POSIX compliant.
>
>Microsoft lawyers called me to say Microsoft supports ISO-IEC
>9945-1:1990 --- and, having installed Cygwin, they could not distinguish
>a POSIX compliant system from Microsoft Windows. I said our team would
>get back to them.

The key part there is "after installing cygwin".

The Windows APIs are not POSIX, but for the most part they provide
equivalent functionality, so POSIX calls can be translated into
Windows call (with varying degrees of difficulty, the asynch stuff in
particular is completely different). This is what cygwin does.

cygwin, however, has its own problems ... it is known to be unstable.

Moreover, Windows supports only a handful of signals, so if you want
to use one it doesn't support, your're out of luck.
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/signal?view=msvc-170
https://www.man7.org/linux/man-pages/man7/signal.7.html

Re: on a (racket) procedure for reading an article from stdin

<umr40u$1lbs5$3@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17678&group=comp.lang.lisp#17678

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!news.nntp4.net!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 07:08:15 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <umr40u$1lbs5$3@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 31 Dec 2023 07:08:15 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="bd4079529680d5d55fee8a00114cbf27";
logging-data="1748869"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+EEfMFX+ylCdU/z7yu/DHW"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:h4T2AywQPo6UNTXm5IfY/2hNQfs=
 by: Lawrence D'Oliv - Sun, 31 Dec 2023 07:08 UTC

On Sun, 31 Dec 2023 01:31:34 -0500, George Neuner wrote:

> The Windows APIs are not POSIX, but for the most part they provide
> equivalent functionality, so POSIX calls can be translated into Windows
> call (with varying degrees of difficulty, the asynch stuff in particular
> is completely different). This is what cygwin does.

Actually, Cygwin actually manages to do something a bit better than that.

Consider the select/poll calls
<https://docs.python.org/3/library/select.html>: note the caveat that, on
Windows, they only work on sockets, whereas on regular POSIX OSes they
work on other things, in particular pipes.

Cygwin manages to implement its select/poll calls on pipes, on Windows.

Re: on a (racket) procedure for reading an article from stdin

<20231230232054.577@kylheku.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17679&group=comp.lang.lisp#17679

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-6894@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 07:27:56 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <20231230232054.577@kylheku.com>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
Injection-Date: Sun, 31 Dec 2023 07:27:56 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="dc5f0f430fe1b4bd6cdf246437f21a94";
logging-data="1752236"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+7qGm4/kGRizc2pX+jmpuTprIeSABosow="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:34kxgxg3uQIKTluMFdUeyyU4w9I=
 by: Kaz Kylheku - Sun, 31 Dec 2023 07:27 UTC

On 2023-12-31, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
> On Sun, 31 Dec 2023 01:31:34 -0500, George Neuner wrote:
>
>> The Windows APIs are not POSIX, but for the most part they provide
>> equivalent functionality, so POSIX calls can be translated into Windows
>> call (with varying degrees of difficulty, the asynch stuff in particular
>> is completely different). This is what cygwin does.
>
> Actually, Cygwin actually manages to do something a bit better than that.
>
> Consider the select/poll calls
><https://docs.python.org/3/library/select.html>: note the caveat that, on
> Windows, they only work on sockets, whereas on regular POSIX OSes they
> work on other things, in particular pipes.
>
> Cygwin manages to implement its select/poll calls on pipes, on Windows.

In 2016 I started a small project called Cygnal which turns the Cygwin
DLL into a "Native Windows" run-time library.

Since then, I've been using that as the basis of the Windows port of
the TXR language: that version that uses the executable installer.

You can compile a program under Cygwin, as a Cygwin program. Then
bundle it with the CYGWIN1.DLL from Cygnal, and ship it as a Cygnal
program.

As a Cygnal program, it enjoys a number of native-like conventions:

- native paths like C:\Users\bob\file.txt (no /cygdrive stuff).
- the otherwise POSIX chdir() function implements the DOS/Windows
"logged drive" concept.
- PATH is semicolon separated, once again.

- ... other things, all documented:

http://kylheku.com/cygnal

Cygnal is probably the best way to port a POSIX program to Windows.

(If there were a better way, I'd have used that instead of bothering
with making a Cygwin DLL fork.)

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: on a (racket) procedure for reading an article from stdin

<umr985$1lv17$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17680&group=comp.lang.lisp#17680

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 08:37:25 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 5
Message-ID: <umr985$1lv17$2@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
<20231230232054.577@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 31 Dec 2023 08:37:25 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="bd4079529680d5d55fee8a00114cbf27";
logging-data="1768487"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19MLfffSoEm3vDsQiOc34q4"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:DdhpwQn2X4QZVqD4C9cmwIxVJgU=
 by: Lawrence D'Oliv - Sun, 31 Dec 2023 08:37 UTC

On Sun, 31 Dec 2023 07:27:56 -0000 (UTC), Kaz Kylheku wrote:

> Cygnal is probably the best way to port a POSIX program to Windows.

There is a better way now, and that is WSL2.

Re: on a (racket) procedure for reading an article from stdin

<20231231091517.358@kylheku.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17683&group=comp.lang.lisp#17683

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-6894@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 17:20:16 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <20231231091517.358@kylheku.com>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
<20231230232054.577@kylheku.com> <umr985$1lv17$2@dont-email.me>
Injection-Date: Sun, 31 Dec 2023 17:20:16 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="dc5f0f430fe1b4bd6cdf246437f21a94";
logging-data="1897829"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18n2Lei8ZJUZWpiUqqKkhvfOY0bgrP2S3Y="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:kYiwx+fppYByWVh7bhIPWN9a68Y=
 by: Kaz Kylheku - Sun, 31 Dec 2023 17:20 UTC

On 2023-12-31, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
> On Sun, 31 Dec 2023 07:27:56 -0000 (UTC), Kaz Kylheku wrote:
>
>> Cygnal is probably the best way to port a POSIX program to Windows.
>
> There is a better way now, and that is WSL2.

I don't think so. With Cygnal, you deliver an .exe accompanied by
a DLL or two, and that's it.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: on a (racket) procedure for reading an article from stdin

<umslvf$1ro5b$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17684&group=comp.lang.lisp#17684

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 21:20:47 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <umslvf$1ro5b$2@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
<20231230232054.577@kylheku.com> <umr985$1lv17$2@dont-email.me>
<20231231091517.358@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 31 Dec 2023 21:20:47 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="bd4079529680d5d55fee8a00114cbf27";
logging-data="1958059"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19aj98QYCsgn4wxW4Smw8jt"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:IDcbzEQQd0wiZpqQYRxGYfYk6j4=
 by: Lawrence D'Oliv - Sun, 31 Dec 2023 21:20 UTC

On Sun, 31 Dec 2023 17:20:16 -0000 (UTC), Kaz Kylheku wrote:

> On 2023-12-31, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
>
>> On Sun, 31 Dec 2023 07:27:56 -0000 (UTC), Kaz Kylheku wrote:
>>
>>> Cygnal is probably the best way to port a POSIX program to Windows.
>>
>> There is a better way now, and that is WSL2.
>
> I don't think so. With Cygnal, you deliver an .exe accompanied by a DLL
> or two, and that's it.

WSL2 at least lets you run a proper Linux distro, with proper package
management.

Re: on a (racket) procedure for reading an article from stdin

<umsmha$1rqtq$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17685&group=comp.lang.lisp#17685

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: verstotene@holymen.invalid (De ongekruisigde)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 21:30:18 -0000 (UTC)
Organization: Verstotenen
Lines: 20
Message-ID: <umsmha$1rqtq$1@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
<20231230232054.577@kylheku.com> <umr985$1lv17$2@dont-email.me>
<20231231091517.358@kylheku.com> <umslvf$1ro5b$2@dont-email.me>
Reply-To: verstotene@invalid
Injection-Date: Sun, 31 Dec 2023 21:30:18 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="8e6fb8c2611c05537787125d3d6f6c8c";
logging-data="1960890"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+2uOgv8iRqTl9O3K+oQ95I8f26xwC3ytCdkUQkkHxTSg=="
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:qfPq6OTfvmbBiKniKp9dQa56ZPQ=
 by: De ongekruisigde - Sun, 31 Dec 2023 21:30 UTC

On 2023-12-31, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
> On Sun, 31 Dec 2023 17:20:16 -0000 (UTC), Kaz Kylheku wrote:
>
>> On 2023-12-31, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
>>
>>> On Sun, 31 Dec 2023 07:27:56 -0000 (UTC), Kaz Kylheku wrote:
>>>
>>>> Cygnal is probably the best way to port a POSIX program to Windows.
>>>
>>> There is a better way now, and that is WSL2.
>>
>> I don't think so. With Cygnal, you deliver an .exe accompanied by a DLL
>> or two, and that's it.
>
> WSL2 at least lets you run a proper Linux distro, with proper package
> management.

Frickin Windows as a host for Linux? That's a recipe for disaster
(MS Windows must die; thank you).

Re: on a (racket) procedure for reading an article from stdin

<umsulu$1snq9$3@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17686&group=comp.lang.lisp#17686

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 23:49:18 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <umsulu$1snq9$3@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
<20231230232054.577@kylheku.com> <umr985$1lv17$2@dont-email.me>
<20231231091517.358@kylheku.com> <umslvf$1ro5b$2@dont-email.me>
<umsmha$1rqtq$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 31 Dec 2023 23:49:18 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="942470baad9a35e821becc4bfe3b8b3b";
logging-data="1990473"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19PHqC0JN8lQPPIegY0C1if"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:XcgTwlIadw9pIiCnfmHUfEA5teI=
 by: Lawrence D'Oliv - Sun, 31 Dec 2023 23:49 UTC

On Sun, 31 Dec 2023 21:30:18 -0000 (UTC), De ongekruisigde wrote:

> Frickin Windows as a host for Linux? That's a recipe for disaster (MS
> Windows must die; thank you).

Microsoft has no choice: it has to do something to stem the tide of
developers deserting Windows for Linux. Of course WSL2 is a kludge. But
then the whole history of Windows is of piling kludges on kludges, for
short-term profit-driven reasons.

Re: on a (racket) procedure for reading an article from stdin

<8734vhswvf.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17687&group=comp.lang.lisp#17687

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 21:47:16 -0300
Organization: A noiseless patient Spider
Lines: 13
Message-ID: <8734vhswvf.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com>
<87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com>
<umr40u$1lbs5$3@dont-email.me> <20231230232054.577@kylheku.com>
<umr985$1lv17$2@dont-email.me> <20231231091517.358@kylheku.com>
<umslvf$1ro5b$2@dont-email.me> <umsmha$1rqtq$1@dont-email.me>
<umsulu$1snq9$3@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="ee1b6412bd99bc669457fc94e0234628";
logging-data="2005566"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+WfTvfajLHZdaDNrKFBpr7RxAgMnB90AI="
Cancel-Lock: sha1:Wpgc/mUyOqrCvkhYwRSaESx/26o=
sha1:B+u1uOcUqFF4+y/RuHHgr5IOQ2I=
 by: Julieta Shem - Mon, 1 Jan 2024 00:47 UTC

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> On Sun, 31 Dec 2023 21:30:18 -0000 (UTC), De ongekruisigde wrote:
>
>> Frickin Windows as a host for Linux? That's a recipe for disaster (MS
>> Windows must die; thank you).
>
> Microsoft has no choice: it has to do something to stem the tide of
> developers deserting Windows for Linux. Of course WSL2 is a kludge. But
> then the whole history of Windows is of piling kludges on kludges, for
> short-term profit-driven reasons.

It's pretty useful.

Re: on a (racket) procedure for reading an article from stdin

<87sf3hri9l.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17688&group=comp.lang.lisp#17688

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Sun, 31 Dec 2023 21:48:06 -0300
Organization: A noiseless patient Spider
Lines: 20
Message-ID: <87sf3hri9l.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com>
<87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com>
<umr40u$1lbs5$3@dont-email.me> <20231230232054.577@kylheku.com>
<umr985$1lv17$2@dont-email.me> <20231231091517.358@kylheku.com>
<umslvf$1ro5b$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Info: dont-email.me; posting-host="ee1b6412bd99bc669457fc94e0234628";
logging-data="2005566"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18plQ2z8aWyUgprDD5uZTz0/p9Gn7cQCno="
Cancel-Lock: sha1:Gf9VMtXc5e/LreHzdsEyTHmI6Ao=
sha1:2xrkAnEEA9oQlSG+tJV9qt6pBdQ=
 by: Julieta Shem - Mon, 1 Jan 2024 00:48 UTC

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> On Sun, 31 Dec 2023 17:20:16 -0000 (UTC), Kaz Kylheku wrote:
>
>> On 2023-12-31, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
>>
>>> On Sun, 31 Dec 2023 07:27:56 -0000 (UTC), Kaz Kylheku wrote:
>>>
>>>> Cygnal is probably the best way to port a POSIX program to Windows.
>>>
>>> There is a better way now, and that is WSL2.
>>
>> I don't think so. With Cygnal, you deliver an .exe accompanied by a DLL
>> or two, and that's it.
>
> WSL2 at least lets you run a proper Linux distro, with proper package
> management.

Funny you say proper package management as if UNIX ever had this ---
before GNU Guix.

Re: on a (racket) procedure for reading an article from stdin

<umt8gj$1trvk$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17689&group=comp.lang.lisp#17689

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Mon, 1 Jan 2024 02:37:07 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 7
Message-ID: <umt8gj$1trvk$1@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
<20231230232054.577@kylheku.com> <umr985$1lv17$2@dont-email.me>
<20231231091517.358@kylheku.com> <umslvf$1ro5b$2@dont-email.me>
<87sf3hri9l.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 1 Jan 2024 02:37:07 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="942470baad9a35e821becc4bfe3b8b3b";
logging-data="2027508"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19AJ5ATGnv96qGCvoL8rOAP"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:dhGijrZ5m4alh7tQ6B50DLgP4pk=
 by: Lawrence D'Oliv - Mon, 1 Jan 2024 02:37 UTC

On Sun, 31 Dec 2023 21:48:06 -0300, Julieta Shem wrote:

> Funny you say proper package management as if UNIX ever had this ---
> before GNU Guix.

Where was there a “Unix” that had this? It was pretty much developed and
refined by Debian and Red Hat, from about 1993 onwards.

Re: on a (racket) procedure for reading an article from stdin

<87o7e5rc0u.fsf@yaxenu.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17690&group=comp.lang.lisp#17690

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jshem@yaxenu.org (Julieta Shem)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Mon, 01 Jan 2024 00:02:57 -0300
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <87o7e5rc0u.fsf@yaxenu.org>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com>
<87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com>
<umr40u$1lbs5$3@dont-email.me> <20231230232054.577@kylheku.com>
<umr985$1lv17$2@dont-email.me> <20231231091517.358@kylheku.com>
<umslvf$1ro5b$2@dont-email.me> <87sf3hri9l.fsf@yaxenu.org>
<umt8gj$1trvk$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: dont-email.me; posting-host="ee1b6412bd99bc669457fc94e0234628";
logging-data="2155702"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Dot4yhPdMA63319RBn/58TXpmx/PxhkI="
Cancel-Lock: sha1:+L4IT5+kx3TQT0aCeN86yoGoVkY=
sha1:L2wFklsNUR+XGVj9MwC9UxR4j5k=
 by: Julieta Shem - Mon, 1 Jan 2024 03:02 UTC

Lawrence D'Oliveiro <ldo@nz.invalid> writes:

> On Sun, 31 Dec 2023 21:48:06 -0300, Julieta Shem wrote:
>
>> Funny you say proper package management as if UNIX ever had this ---
>> before GNU Guix.
>
> Where was there a “Unix” that had this? It was pretty much developed and
> refined by Debian and Red Hat, from about 1993 onwards.

Funny you think that Debian and Red Hat ever had it. What they seem to
have done --- with all due respect --- is to compress files with
metadata. Pretty useful, but I think that /management/ should be
applied to GNU Guix, with due credit to Nix, the pioneer.

Re: on a (racket) procedure for reading an article from stdin

<umta8u$21rav$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=17691&group=comp.lang.lisp#17691

  copy link   Newsgroups: comp.lang.lisp
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.lisp
Subject: Re: on a (racket) procedure for reading an article from stdin
Date: Mon, 1 Jan 2024 03:07:10 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <umta8u$21rav$1@dont-email.me>
References: <87edf9hi2z.fsf@yaxenu.org> <20231225204959.89@kylheku.com>
<87zfxxf9ln.fsf@yaxenu.org> <umlac0$iq0h$2@dont-email.me>
<lncsoidoa50petj7nsd4i1oebsc9nrr099@4ax.com> <87le9dx86e.fsf@yaxenu.org>
<7622pi96qbhs3lb5rhbd8ualh4srog80fl@4ax.com> <umr40u$1lbs5$3@dont-email.me>
<20231230232054.577@kylheku.com> <umr985$1lv17$2@dont-email.me>
<20231231091517.358@kylheku.com> <umslvf$1ro5b$2@dont-email.me>
<87sf3hri9l.fsf@yaxenu.org> <umt8gj$1trvk$1@dont-email.me>
<87o7e5rc0u.fsf@yaxenu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 1 Jan 2024 03:07:10 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="942470baad9a35e821becc4bfe3b8b3b";
logging-data="2157919"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/CyteB795SsfOjjNPwojbf"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:AzNK445Adzn2pUbZsCXnWNVr/QM=
 by: Lawrence D'Oliv - Mon, 1 Jan 2024 03:07 UTC

On Mon, 01 Jan 2024 00:02:57 -0300, Julieta Shem wrote:

> Lawrence D'Oliveiro <ldo@nz.invalid> writes:
>
>> On Sun, 31 Dec 2023 21:48:06 -0300, Julieta Shem wrote:
>>
>>> Funny you say proper package management as if UNIX ever had this ---
>>> before GNU Guix.
>>
>> Where was there a “Unix” that had this? It was pretty much developed
>> and refined by Debian and Red Hat, from about 1993 onwards.
>
> Funny you think that Debian and Red Hat ever had it. What they seem to
> have done --- with all due respect --- is to compress files with
> metadata.

They do dependency management, which is a crucial capability. It allows
for code reuse, sharing one copy of a dependency among multiple client
packages, and one-stop upgradeability for everything installed.

No offence if you didn’t understand that. Seems most Windows users have
difficulty appreciating it.

Pages:1234
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor