0xd34df00d 07.09.2012 10:20 Azoth_primary

ghc 7.6.1. А я только 7.4.2 собрал, эх.
Впрочем, очень клево продвинули систему типов. Только вот http://www.haskell.org/ghc/docs/7.6.1/ht... делает из моего няшного хаскеля какую-то питонятню.

Recommended by:

@pooq: моча съела говно

and @Elemir
1. magog 07.09.2012 10:29 Azoth@Work

все языки кроме плюсов рано или поздно становятся питоном

2. magogmagog /1 07.09.2012 10:29 Azoth@Work

,, — запятые

3. Elemir 07.09.2012 11:13 BitlBee

Где почитать диффы системы типов с 7.4?

4. borman 07.09.2012 22:25

http://hackage.haskell.org/trac/ghc/wiki... ← такой рафинированно блевотный код, просто мимими. Знаю, что пример.

5. kb 14.09.2012 16:16

Deferring type errors to runtime — хорошая фича для билд-сервера какого-нибудь, типа если не компилируется, то запустить тесты без проверки type errors. Может быть вполне ок.

6. kbkb /5 14.09.2012 16:17

ну, либо снова таки, даже не билд-сервера, а если кто-то сломал где-то типы, пока он не починил чтоб запускать свой код, который кода того чувака не трогает вовсе. вполне жизненно.

7. Elemirkb /6 14.09.2012 16:24 BitlBee

Если программист не осилил модульное программирование, то его даже к клаве подпускать нельзя, не то что к коду

8. kbElemir /7 14.09.2012 16:25

у тебя каждая функция в отдельном модуле?

9. 0xd34df00dElemir /7 14.09.2012 16:25 Azoth_primary

О, лямирка. А пошел-ка ты нахуй.

10. 0xd34df00dkb /8 14.09.2012 16:25 Azoth_primary

Ему не до функций, у него еще пстач не обкукареканный.

11. Elemirkb /8 14.09.2012 16:25 BitlBee

> который кода того чувака не трогает вовсе

12. kbElemir /11 14.09.2012 16:26

ну, рядом две функции. одну ты пилишь, одну тот чувак.

13. Elemirkb /12 14.09.2012 16:27 BitlBee

Если эти функции логически независимы, то они ОБЯЗАНЫ быть в разных модулях.

14. 0xd34df00dElemir /13 14.09.2012 16:28 Azoth_primary

foldr и какой-нибудь там nubBy логически охуительно независимы, но оба, сцуко, в Data.List.

15. kbElemir /13 14.09.2012 16:30

а если логически зависимы, то что? твой код (/ реализация текущей фичи) обязан вызывать обе?

16. Elemir0xd34df00d /14 14.09.2012 16:31 BitlBee

Да, конечно. Потому что стандартные либы хаскеля, — пережиток тех времён, когда в хаскеле и модульности не было.

17. 0xd34df00dElemir /16 14.09.2012 16:31 Azoth_primary

> в модуле Data.List
> модульности не было

18. Elemirkb /15 14.09.2012 16:32 BitlBee

Если они логически зависимы, то сломанные типы === сломанной программе

19. 0xd34df00d0xd34df00d /17 14.09.2012 16:32 Azoth_primary

И да, почему тогда какое-нибудь *** тоже не в Data.List?
Лямирка, твои способности к поиску простейших крайних случаев для твоих гипотез меня печалят ввиду их полного отсутствия.

20. Elemir0xd34df00d /17 14.09.2012 16:34 BitlBee

Ты идиот? Нет, ну правда, иди и сравни этот Data.List с List 98-ого года

21. Elemir0xd34df00d /19 14.09.2012 16:35 BitlBee

А что ему там делать? Вообще Data.List сам по себе идиотизм, иди и посмотри как всё сделано в нормальном диалекте haskell (типа ddc), а не ровняйся на кучу легаси дерьма

22. 0xd34df00dElemir /20 14.09.2012 16:36 Azoth_primary

Я не идиот, я возражаю на то, что ваше величество изволит озвучить. Извини за отсутствие телепатических навыков.

23. 0xd34df00dElemir /21 14.09.2012 16:36 Azoth_primary

А по мне вполне норм, базовые операции со списками все в одной куче, нормик.

24. kbElemir /18 14.09.2012 16:38

ну да, программа сломана, я и не спорю. вопрос только в том, что текущей разрабатываемой фичи поломка программы не касается, а значит пока программист трудится и исправляет свои ошибки типизации, ты можешь несколько часов продолжать работать / запускать свой тест.

25. Elemir0xd34df00d /23 14.09.2012 16:38 BitlBee

Ну да, а то, что там функции имеют не максимально возможный тип в рамках System FC это тоже нормально?

26. 0xd34df00dElemir /25 14.09.2012 16:38 Azoth_primary

например?

27. Elemirkb /24 14.09.2012 16:41 BitlBee

Покажи мне идиота, который будет коммитить в master неработающий код? Для этого есть ветки vcs.

29. Elemir0xd34df00d /26 14.09.2012 16:44 BitlBee

map, тот же озвученный выше foldr. http://hackage.haskell.org/packages/arch...

30. Elemir0xd34df00d /26 14.09.2012 16:49 BitlBee

Вообще там сложнее найти функции, имеющие более или менее адекватный тип. Необходимость в обратной совместимости приводит к такому маразму, что в самом Data.List находится genericLength :: Num i => [b] → i, ибо нельзя нормальному length присвоить такой тип. Совместимость же

31. kbElemir /27 14.09.2012 20:17

ага, и пре-коммит хуки и всё что угодно. но идиоты есть, и они среди нас.

Do you really want to delete ?