Haskell

Liste des GroupesRevenir à cl lisp 
Sujet : Haskell
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp comp.lang.scheme
Date : 31. Aug 2024, 09:09:04
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vaufic$u2ps$1@dont-email.me>
User-Agent : XanaNews/1.18.1.6
Frank Buss wrote:

Barry Margolin wrote:
Which reminds me, where's the obligatory Haskell response?
 
No problem :-)
 
Assuming this is what was intended by the OP:
 
(let (res)
  (dotimes (i 11 (nreverse res))
   (dotimes (j 11)
    (push (+ i j) res))))
 
This is a solution in Haskell:
 
[x + y | x <- [0..10], y <- [0..10]]
 

It's shorter in Gauche Scheme than in Haskell.

(use srfi-42) ; list-ec

(list-ec (: x 11) (: y 11) (+ x y))

Can it be done with a single "do*"?

(do* ((r '())
      (j 0 (mod (+ j 1) 11))
      (i 0 (if (zero? j) (+ 1 i) i)))
  ((= 11 i)  (reverse r))
  (push! r (+ i j)))

(0 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 11 2 3 4 5 6 7 8 9
 10 11 12 3 4 5 6 7 8 9 10 11 12 13 4 5 6 7 8 9 10 11 12 13 14
 5 6 7 8 9 10 11 12 13 14 15 6 7 8 9 10 11 12 13 14 15 16 7 8 9
 10 11 12 13 14 15 16 17 8 9 10 11 12 13 14 15 16 17 18 9 10 11
 12 13 14 15 16 17 18 19 10 11 12 13 14 15 16 17 18 19 20)
 


Date Sujet#  Auteur
31 Aug 24 * Haskell2B. Pym
1 Sep 24 `- Re: Haskell1Kaz Kylheku

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal