Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Clojure can make alphabet list like Haskell? [duplicate]

Haskell can do this:

['a'..'z']

Have Clojure easy expression like Haskell?

like image 954
thanksnote Avatar asked Feb 18 '14 01:02

thanksnote


2 Answers

There isn't a straightforward equivalent to Haskell's syntax, but there are several alternatives, to mention a few:

(map char (range (int \a) (inc (int \z))))

(seq "abcdefghijklmnopqrstuwvxyz")

Either way, the result will be:

(\a \b \c \d \e \f \g \h \i \j \k \l \m \n \o \p \q \r \s \t \u \v \w \x \y \z)
like image 67
Óscar López Avatar answered Nov 15 '22 10:11

Óscar López


If it doesn't exist, you could always write it.

(defn letter-range [start end]
  (map char (range (int (.charAt start 0))
                   (inc (int (.charAt end 0))))))

(letter-range "a" "z")
=> (\a \b \c \d \e \f \g \h \i \j \k \l \m \n \o \p \q \r \s \t \u \v \w \x \y \z)
like image 32
deadghost Avatar answered Nov 15 '22 10:11

deadghost