Re: string chains

Liste des GroupesRevenir à cl lisp 
Sujet : Re: string chains
De : HenHanna (at) *nospam* devnull.tb (HenHanna)
Groupes : comp.lang.lisp
Date : 06. Aug 2024, 19:02:30
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v8tkv7$1n9hq$3@dont-email.me>
References : 1
User-Agent : Mozilla Thunderbird
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 ...

Date Sujet#  Auteur
6 Aug 24 * string chains3B. Pym
6 Aug 24 `* Re: string chains2HenHanna
7 Aug 24  `- Re: string chains1Kaz Kylheku

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal