Хламидомонада / Говнокод #13849 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
sel :: Int -> Int -> Expr
sel i n = lam [pvar "x"] (caseE (var "x") [alt])
where alt :: Match
alt = simpleM pat rhs
pat :: Patt
pat = ptup (map pvar as)
rhs :: Expr
rhs = var (as !! (i-1)) -- !! is 0 based
as :: [String]
as = ["a"++show i | i <- [1..n] ]

[quote]The code for sel is more verbose than that for printf because it
uses explicit constructors for expressions rather than implicit ones.[/quote]
Сообственно это все объяснение к данному коду:
http://research.microsoft.com/en-us/um/people/simonpj/papers/meta-haskell/meta-haskell.pdf
, так как и это все очень очевидно для автора, в то время как printf был и без объяснений очевиден даже мне. Автор хоть бы одно значение сокращения потрудился объяснить. Впрочем сокращениями стандартная библиотека хаскеля любит страдать...

Запостил: HaskellGovno HaskellGovno, (Updated )

Комментарии (5) RSS

  • > microsoft.com
    > haskell
    Казалось бы причем тут хаскель? Поделил на ноль.
    Ответить
        • Как и Knuth, Steele, Bloch, Armstrong, упомянутый Саймон Пейтон Джонс и много кто ещё. Но это не значит, что использование emacs сделает кого-то хорошим программистом.
          Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8