Yesterday I demonstrated  how to transform a mundane recursive function tail recursive function. However, I received some  criticism for that position, because there are better ways to implement  run-length encoding with Clojure. While true, I think some  of my critics1 missed the point of the exercise. ;-)
That said, your points  are valid because in Clojure (and probably most if not all functional  languages) resources should be seen as a low level 2 operation and to  avoid if possible. The best way is to study  the various functions of higher order and connect them together to  create new functions. We go through great  lengths to stress in this joy of Clojure, so do not retrace threshing  floor. Instead, note the  following:
(S def '[aaabcca email  ede])
(Package definition  (partial partition identity))
(Package S)
 ((A a a) (b) (c c) (a un) (d) (e e e  e))" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">;; => ((A at a) (b) (c  c) (a) (d) (e e e e))
(Definition rle (comp  (partial map (count Juxt First)) package))
(S RLE)
 ([4 bis] [1 b] [c 2] [2 a] [1 d] [4 e])" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">=> ([4 a] [1 b] [c 2]  [2 a] [1 d] [4 e])
(Definition RLD (mapcat  part (corresponding partial repetition)))
 RLD)" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">(- Rle S> RLD)
 (A aabcca un correo electrónico ede)" onmouseover="this.style.backgroundColor='#ebeff9'" onmouseout="this.style.backgroundColor='#fff'">;; => (A aabcca an  email ede)
As a nice bonus, the  point definitions3 above are free.
: F
   1.
      Criticism is probably not  a fair statement. A better term would be  Kritik. ↩
   2.
      Low compared with levels  of abstraction and also very much the same way that hedonism is low. ↩
   3.
      Thank you very much  Christophe Gran Malloy Alan, and Alan Dipert motivating4 ideas for this  post. ↩
   4.
      That is, he stole their  ideas and made them free point. cough. cough. ↩
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment