Тут не исправить уже ничего, Господь, жги! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.1 пользователей не могут ошибаться!
?6941
прекрасное6443
говно5904
говнорашка5512
хуита4710
anime3065
linux2651
music2633
bnw2601
рашка2565
log2354
ололо2166
дунч1821
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1417
дыбр1238
гімно1158

<voker57> ТАК factorial ТРЕБУЕТ Num ** ДАЕТ FRACTIONAL НО ЕСЛИ round ТО ПРЕВРАЩАЕТСЯ В Integral ЩЯ ПАДАЖЖИ ЁБАНА
#J9PAV5 (3+3) / @komar / 3679 дней назад
Старался, короче, писал свой тупой вопрос, а они молчат :( http://stackoverflow.com/questions/26439597/type-safe-named-fields-in-haskell-adts
#6M23U0 (25) / @kb / 3682 дня назад
Какое же зло эти именованые поля внутри GADT. Для тех, кто не понял, из хаскеля делается питон при помощи вот таких вот строчек: ``` data Foo = Bar { barField :: String } | Baz { bazField :: String } myFunc :: Foo -> String myFunc foo = bazField foo main = print (myFunc (Bar "lalalala")) ``` Пойду пробовать https://www.haskell.org/ghc/docs/7.8.3/html/users_guide/promotion.html
#C9YGET (11) / @kb / 3682 дня назад
На лоре тут продолжается лиспосрач. Интересная программка на хаскеле. Тут мы забыли написать ```x``` в конце. Бывает хули. ``` $ cat Test.hs module Test where strlen x = length ``` Модуль компилируется, все ок, потому что в хаскеле подефолту каррирование и тайпинференс. ``` $ ghc Test.hs [1 of 1] Compiling Test ( Test.hs, Test.o ) ``` Здесь обычное использование бажного strlen, который мы написали. ``` $ cat Main.hs import Test main = do putStrLn "Please enter a word" num <- getLine let size = strlen num putStrLn $ "The size of your string is: " ++ show size ++ "!" ``` Компилируем его и получаем клевые сообщения об ошибках! ``` $ ghc Main.hs [2 of 2] Compiling Main ( Main.hs, Main.o ) Main.hs:7:48: No instance for (Show ([a0] -> Int)) arising from a use of `show' Possible fix: add an instance declaration for (Show ([a0] -> Int)) In the first argument of `(++)', namely `show size' In the second argument of `(++)', namely `show size ++ "!"' In the second argument of `($)', namely `"The size of your string is: " ++ show size ++ "!"' ``` В чем тут проблема? В том, что тайпчекер не заставил нас написать аннотацию для top-level функции strlen, а вывел типы из определения функции, причем типы вывел не те, которые мы хотели. То есть, вместо того чтобы сказать программисту, чтобы он предоставил сигнатуру функции и сказал чего хочет, компилятор вывел типы и зафейлился уже в другом месте. В хаскеле есть флаг чтобы запретить декларирование top-level функций без сигнатурок? tldr: с type inference надо быть аккуратным.
#TCXQ01 (21) / @ninesigns / 3688 дней назад
Зачем нужен ghc, когда появился WolframAlpha?
#ZIEO1P (8+1) / @komar / 3696 дней назад
http://habrahabr.ru/post/225393/ Неплохо запилили, жаль, что *ненужно.
#4PZNSK (5) / @minoru / 3698 дней назад
vared для ghci
#I6KCVE (0) / @fix / 3699 дней назад
voker57 is Offline *** voker57 is Online <voker57> У меня от твоих фолдов впервые после настройки thinkfan перегрелся хинкпад.
#LLR1QL (0+1) / @komar / 3704 дня назад
sum [1/20000, 1/19999..1/1] Я пытался понять, почему это не работает, и сломал себе голову (почти буквально). У sum правый фолд, что ли?
#F5I2QI (36+1) / @komar / 3704 дня назад
норм ``` promote :: (Read a, Show b) => (a -> b) -> String -> StringSource promote2 :: (Read a, Read b, Show c) => (a -> b -> c) -> String -> String -> StringSource promote3 :: (Read a, Read b, Read c, Show d) => (a -> b -> c -> d) -> String -> String -> String -> StringSource promote4 :: (Read a, Read b, Read c, Read d, Show e) => (a -> b -> c -> d -> e) -> String -> String -> String -> String -> StringSource promote5 :: (Read a, Read b, Read c, Read d, Read e, Show f) => (a -> b -> c -> d -> e -> f) -> String -> String -> String -> String -> String -> StringSource promote6 :: (Read a, Read b, Read c, Read d, Read e, Read f, Show g) => (a -> b -> c -> d -> e -> f -> g) -> String -> String -> String -> String -> String -> String -> StringSource promote7 :: (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Show h) => (a -> b -> c -> d -> e -> f -> g -> h) -> String -> String -> String -> String -> String -> String -> String -> StringSource promote8 :: (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Show i) => (a -> b -> c -> d -> e -> f -> g -> h -> i) -> String -> String -> String -> String -> String -> String -> String -> String -> StringSource promote9 :: (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Show j) => (a -> b -> c -> d -> e -> f -> g -> h -> i -> j) -> String -> String -> String -> String -> String -> String -> String -> String -> String -> StringSource promote10 :: (Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h, Read i, Read j, Show k) => (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k) -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String ```
#6RU0RD (46+1) / @ninesigns / 3705 дней назад
Теперь можно писать на хаскеле как на пыхе: http://hackage.haskell.org/package/acme-stringly-typed-1.0.0.0/docs/Acme-StringlyTyped.html
#1TBPQI (0+1) / @l29ah / 3705 дней назад

mfw приличный оффер по хачкелю // правда, под шиндошсом, и с анальным банковским файрволом вместо интернета

#VGD4IO (34) / @ulidtko / 3711 дней назад
Перепись работающих программ, написанных на хаскеле, стартует здесь. Итак: 1) xmonad
#06OJP0 (101) / @komar / 3714 дней назад
#OFQ1QU (3) / @plhk / 3718 дней назад
#M8CYS5 (12) / @komar / 3720 дней назад

бумага про Ivory & Tower // свежак с ICFP

https://github.com/GaloisInc/smaccmpilot-experiencereport/blob/master/embedded-experience.pdf

#8JZ6GB (3+1) / @ulidtko / 3728 дней назад

а на сколько ghc-шный cmm отличается от классического c--?

#3DM71X (8) / @qnikst / 3732 дня назад

читнул про палецдеревья; норм тема, проникся

#86K5X0 (0) / @ulidtko / 3733 дня назад

https://hackage.haskell.org/package/acme-lookofdisapproval-0.1/docs/Acme-LookOfDisapproval.html

Типа, джва года ждал эту фичу и всё такое. Вот теперь-то хипсторы точно перейдут на Haskell!

#DH01ZM (1) / @minoru / 3740 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.