1. Haskell / Говнокод #28539

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    #!/usr/bin/guile -s
    !#
    
    (define (pt n s)
      (cond ((< n 1) 0)
            ((= n 1) 1)
            ((= s 0) 0)
            ((= s 1) 1)
            ((= s n) 1)
            ((> s n) 0)
            (else (+ (pt (- n 1) s) (pt (- n 1) (- s 1))))))
    
    (display (pt 1 1)) ;; 1
    (newline)
    
    (display (pt 3 2)) ;; 2
    (newline)
    
    (display (pt 5 3)) ;; 6
    (newline)

    Лисп-загадка: угадайте, что делает этот (вышеприведённый) код.

    JloJle4Ka, 05 Января 2023

    Комментарии (33)
  2. Haskell / Говнокод #28529

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    ;; Sound.
    (xbindkey '(Alt F7) "amixer set Master 1%-")
    (xbindkey '(Alt F8) "amixer set Master 1%+")
    
    (define muted 0)
    (run-command "amixer set Master 3%")
    
    (xbindkey-function '(Alt F6)
                       (lambda()
                         (cond ((equal? muted 0)
                                (run-command "amixer set Master 0%")
                                (set! muted 1)
                                )
                               (else (begin
                                       (run-command "amixer set Master 3%")
                                       (set! muted 0)
                                       ))
    ;; какой багор
                               )))

    Линукс-загадка!

    JloJle4Ka, 30 Декабря 2022

    Комментарии (18)
  3. Haskell / Говнокод #27930

    −2

    1. 1
    not' = isInfinite . (1/)

    digitalEugene, 06 Января 2022

    Комментарии (1)
  4. Haskell / Говнокод #27033

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    zero :: Integer -> Bool
    zero = (==0)
    
    ieq :: Num p => Bool -> p
    ieq x = if x then 1 else 0
    
    elem' :: (Foldable t, Eq a) => t a -> a -> Bool
    elem' xs x = not $ zero func
                where 
                    func = foldl (\acc y -> acc + (ieq $ x == y)) 0 xs

    Петуху дали поиграть в Haskell.

    digitalEugene, 16 Октября 2020

    Комментарии (7)
  5. Haskell / Говнокод #26021

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    module Voretion.Kobenation (
        trySort
      , natalyze
      , toBase64
      , fromBase64
      , dbgKob
      ) where

    https://github.com/k32/zenmaster

    Чей петух, кто знает?

    Konardinho, 10 Ноября 2019

    Комментарии (58)
  6. Haskell / Говнокод #25996

    0

    1. 1
    2. 2
    3. 3
    4. 4
    f :: [Int] -> [Int]
    f [] = []
    f [a] = []
    f (a:b:lst) = b: f lst

    Как вытащить каждый второй элемент из массива.

    bot, 26 Октября 2019

    Комментарии (138)
  7. Haskell / Говнокод #25851

    0

    1. 1
    http://hackage.haskell.org/package/haskelldb-2.1.1/docs/Database-HaskellDB-BoundedList.html#t:N94

    MAKAKA, 18 Сентября 2019

    Комментарии (3)
  8. Haskell / Говнокод #25323

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    doit({txs, [Tx]}) ->
        X = tx_pool_feeder:absorb(Tx),
        Y = case X of
    	    ok -> hash:doit(testnet_sign:data(Tx));
    	    _ -> <<"error">>
    		     end,
        {ok, Y};

    Прекраснейший код на Erlang из великолепнейшей криптовалюты AMOVEO
    Здесь мы видим эндпоинт для отправки транзакций в сеть, возвращающий в случае ошибки ["ok","ZXJyb3I="]
    Приглядевшись можно увидеть закодированное в base64 слово «error»

    silvesterdrago, 24 Января 2019

    Комментарии (70)
  9. Haskell / Говнокод #24452

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    instance Arbitrary ProjectConfig where
        arbitrary =
          ProjectConfig
            <$> (map getPackageLocationString <$> arbitrary)
            <*> (map getPackageLocationString <$> arbitrary)
            <*> shortListOf 3 arbitrary
            <*> arbitrary
            <*> arbitrary
            <*> arbitrary
            <*> arbitrary
            <*> arbitrary
            <*> arbitrary
            <*> (MapMappend . fmap getNonMEmpty . Map.fromList
                   <$> shortListOf 3 arbitrary)
            -- package entries with no content are equivalent to
            -- the entry not existing at all, so exclude empty
    
        shrink ProjectConfig { projectPackages = x0
                             , projectPackagesOptional = x1
                             , projectPackagesRepo = x2
                             , projectPackagesNamed = x3
                             , projectConfigBuildOnly = x4
                             , projectConfigShared = x5
                             , projectConfigProvenance = x6
                             , projectConfigLocalPackages = x7
                             , projectConfigSpecificPackage = x8
                             , projectConfigAllPackages = x9 } =
          [ ProjectConfig { projectPackages = x0'
                          , projectPackagesOptional = x1'
                          , projectPackagesRepo = x2'
                          , projectPackagesNamed = x3'
                          , projectConfigBuildOnly = x4'
                          , projectConfigShared = x5'
                          , projectConfigProvenance = x6'
                          , projectConfigLocalPackages = x7'
                          , projectConfigSpecificPackage = (MapMappend
                                                             (fmap getNonMEmpty x8'))
                          , projectConfigAllPackages = x9' }
          | ((x0', x1', x2', x3'), (x4', x5', x6', x7', x8', x9'))
              <- shrink ((x0, x1, x2, x3),
                          (x4, x5, x6, x7, fmap NonMEmpty (getMapMappend x8), x9))
          ]

    В хачкеле мало бойлерплейта, говорили они. Это ещё далеко не самый длинный список, см. x43 ниже.

    https://github.com/haskell/cabal/blob/4e0c701a2feb520d369ef506a18288c47f64b06a/cabal-install/tests/UnitTests/Distribution/Client/ProjectConfig.hs

    roman-kashitsyn, 06 Июля 2018

    Комментарии (18)
  10. Haskell / Говнокод #23859

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    data Foo a = Foo {a :: a, b :: Int}
               | Bar {b :: Int}
    
    foo :: (a -> b) -> Foo a -> Foo b
    foo f [email protected]{a = a} = x{a = f a}
    foo _ [email protected]{} = x   -- error: Couldn't match type ‘a’ with ‘b’
    foo _ [email protected]{} = x{} -- error: Empty record update

    Рекорды всё-таки дубовые

    cast @HaskellGovno

    CHayT, 03 Марта 2018

    Комментарии (32)