Cut (and Cute) are new to me... Did that come from MIT?

Liste des GroupesRevenir à cl scheme 
Sujet : Cut (and Cute) are new to me... Did that come from MIT?
De : HenHanna (at) *nospam* devnull.tb (HenHanna)
Groupes : comp.lang.lisp comp.lang.scheme
Date : 27. May 2024, 06:57:32
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v313rs$3sj4k$2@dont-email.me>
User-Agent : Mozilla Thunderbird
On 5/25/2024 3:34 PM, B. Pym wrote:
 > On 5/18/2024, HenHanna wrote:
 >
 >> -- Given a string  'a.bc.'   -- replace each dot(.)  with 0 or 1.
 >>
 >>         -- So the value is a list of 4 strings:
 >>                                  ('a0bc0'  'a0bc1'  'a1bc0'  'a1bc1')
 >>
 >> -- The order is not important.
 >>            If the string has 3 dots, the value is a list of length 8.
 >
 > Gauche Scheme:
 >
 > (use srfi-13)  ;; string-count
 > (use util.combinations)  ;; cartesian-product
 >
 > (define (dot s)
 >    (let ((b (cartesian-product (make-list (string-count s #\.) '(0 1))))
 >          (fs (regexp-replace-all "[.]" s "~d")))
 >      (map (cut apply format fs <>) b)))
 >
 > (dot "a.b.c")     ===>   ("a0b0c" "a0b1c" "a1b0c" "a1b1c")
 >
 > (dot "a.b")       ===>   ("a0b" "a1b")
 >
 > (dot "ab.")       ===>   ("ab0" "ab1")
 >
 > (dot ".ab")       ===>   ("0ab" "1ab")
 >
 > (dot "ab")        ===>   ("ab")
Thank you!!!   (map (cut ...   is new to me.  Did that come from MIT?
                weird   Gensym  stuff!!!
(cut cons (+ a 1) <>)    ≡ (lambda (x2) (cons (+ a 1) x2))
(cut list 1 <> 3 <> 5)   ≡ (lambda (x2 x4) (list 1 x2 3 x4 5))
(cut list)               ≡ (lambda () (list))
(cut <> a b)            ≡ (lambda (f) (f a b))
;; Usage
              (map (cut * 2 <>) ’(1 2 3 4))
              (for-each (cut write <> port) exprs)

Date Sujet#  Auteur
27 May 24 o Cut (and Cute) are new to me... Did that come from MIT?1HenHanna

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal