Pull to refresh
0
Send message
Посмотрите на Clojure. Приведенные вами типы примеров там сделаны лучше, чем где либо.

(def v1 [1 2 3]) ;; определение вектора v1

определим операцию ++, которой нет в языке как (def ++ (partial mapv inc))

[i j k] v1    ;; "деструктуризация" (без let)  вектора v1 в виде i j k, т.е. {i,j,k}={1,2,3}; 

(++ [i j k])  ;;=> [2 3 4]. а тут применение ++ к i j k {i,j,k}++;


После Лиспов, в особенности Clojure, трудно найти более лаконичный и законченный дизайн языка, а также более совершенную работу с коллекциями.

Information

Rating
Does not participate
Registered
Activity