Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: HenHanna
Newsgroups: comp.lang.lisp
Subject: Re: string chains
Date: Tue, 6 Aug 2024 10:02:30 -0700
Organization: A noiseless patient Spider
Lines: 63
Message-ID:
References:
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 06 Aug 2024 19:02:32 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="e8f11e744464abe1aea113e5c87782ad";
logging-data="1812026"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ZDCWM1bRvUGvd76nrXqhHofsANl2BBZk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:IamhzVnu7bCA5bRPohTwVF0+/qg=
Content-Language: en-US
In-Reply-To:
Bytes: 2967
On 8/5/2024 4:34 PM, B. Pym wrote:
>> The task is to somehow implement Amb, and demonstrate it with
>> a program which chooses one word from each of the following
>> four sets of character strings to generate a four-word
>> sentence:
>>
>> "the" "that" "a"
>> "frog" "elephant" "thing"
>> "walked" "treaded" "grows"
>> "slowly" "quickly"
>>
>> The constraint to be satisfied is that the last character of
>> each word (other than the last) is the same as the first
>> character of its successor.
>>
>> The only successful sentence is "that thing grows slowly";
>> other combinations do not satisfy the constraint and thus
>> fail.
>
> newLISP
>
> (define (cartesian-product lists)
> (if (null? lists)
> '(())
> (let (subproduct (cartesian-product (rest lists)))
> (apply append
> (map
> (fn (x) (map (fn (xs) (cons x xs)) subproduct))
> (first lists))))))
>
> (define (good? xs)
> (for-all
> (fn (pair) (starts-with (pair 1) ((pair 0) -1)))
> (map list (0 -1 xs) (rest xs))))
>
> (filter good?
> (cartesian-product
> '(("preconize" "cozy" "Lilliputian")
> ("climb" "nub" "snob" "end" "yet")
> ("however" "by" "but" "so" "tot")
> ("the" "that" "a" "tack" "of")
> ("frog" "elephant" "thing")
> ("walked" "treaded" "grows")
> ("slowly" "quickly")
> ("yank" "can" "you" "choose")
> ("won't" "understand"))))
>
> (("cozy" "yet" "tot" "that" "thing" "grows" "slowly" "you"
> "understand")
> ("Lilliputian" "nub" "but" "that" "thing" "grows" "slowly"
> "you" "understand"))
Did you avoid using Scheme because it's bad for this
type of string manipulation?
----- e.g. in Python the last char of string is just String[-1]
>>> May 12, 2019 — newLISP is a general purpose scripting
language for developing web applications and programs in general in the
domains of artificial ...