|
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
|
||||||
Haskell и -fno-warn-type-defaults29.12.2014, 14:32. Показов 3582. Ответов 34
Метки нет (Все метки)
Недавно начал изучать Haskell, пользуюсь связкой emacs + haskell-mode + company-ghc + shm.
В Dispersion.cabal прописаны флаги: -O2 -Wall Возникла следующая ситуация, которая не дает мне покоя : допустим, я пишу такой простой код:
Как я понял здесь имеется ввиду, что Haskell будет использовать тип Integer по умолчанию или что-то типа того. Такие предупреждения немного поднадоели, как решить проблему? Нашел 2 способа: 1) Прописать явно типы ==> скрин2 2) Использовать флаг -fno-warn-type-defaults ==> скрин3 2 Вопроса: Как правильно бороться с такими надоедливыми предупреждениями, 1-м способом или 2-м? Куда лучше прописывать флаги, в Dispersion.cabal или все-таки в каждый модуль отдельно?
0
|
||||||
| 29.12.2014, 14:32 | |
|
Ответы с готовыми решениями:
34
Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?) Warning: return type defaults to ‘int’ Что значит этот варнинг? |
|
Модератор
|
|
| 29.12.2014, 16:15 | |
|
Я за максимальное кол-во предупреждений. Оно окупается. Прописать явно.
Добавлено через 8 минут Но если уж очень не хочется, для копирования учебных примеров, то лучше в .cabal заменить -Wall на -W
0
|
|
|
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
|
||
| 29.12.2014, 17:11 [ТС] | ||
![]() Вообщем буду тогда пользоваться 1-м способом. Просто почему я задался таким вопросом, например в книжках или на том же codewars, смотришь на решения, а никто вроде бы и не прописывает явно типы, вот я и подумал, может это дурной тон прописывать явно типы и люди пользуются флагом -fno-warn-type-defaults, поэтому и не заморачиваются с такими вопросами. А про этот флаг случайно узнал из книги Изучаем Haskell. А что вы скажете по 2-му вопросу? Я понимаю, что это наверное вопрос вкуса, но все же. P.S. Хочется сразу привыкать к правильному
0
|
||
|
Модератор
|
|
| 29.12.2014, 17:25 | |
|
В учебных примерах можно и не заморачиваться. А в настоящей программе лучше максимум предупреждеий, позволяет выловить больше ошибок во время компиляции (правило годится для любых языков).
У меня с ключом -W такие предупреждения не выдаются.
0
|
|
|
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
|
||
| 29.12.2014, 17:38 [ТС] | ||
|
0
|
||
|
Модератор
|
|
| 29.12.2014, 17:54 | |
|
Я http://community.haskell.org/~ndm/hlint/ -ом пользуюсь для подсказок. Но я emacs -ом то вообще то не пользовался, поставил eclipse, а надо бы и emacs с Хаскеллом испытать.
0
|
|
|
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
|
||
| 29.12.2014, 18:18 [ТС] | ||
|
KolodeznyDiver, как я понял, у меня flycheck автоматом hlint подхватил. Вообщем hlint тоже работает
![]() Не по теме: Есть еще для emacs'а вот такой плагин: https://github.com/bbatsov/prelude И потом по желанию добавлять нужный функционал: haskell-mode, company-ghc (автокомплит), shm (нормальная работа с отступами).
1
|
||
|
650 / 260 / 16
Регистрация: 02.03.2014
Сообщений: 587
|
|
| 29.12.2014, 20:12 | |
|
а я вот хлинт недолюбливаю, он порою на мой взгляд придирается. Да и не все прагмы которыми пользуюсь поддерживает
![]() хотя зачастую да очень полезен. Особенно свежим взглядом прогнать по коду...
0
|
|
|
650 / 260 / 16
Регистрация: 02.03.2014
Сообщений: 587
|
|||||||||||
| 29.12.2014, 21:32 | |||||||||||
Добавлено через 2 минуты и лямбдакэйс ему упорно не нравиться. Эх, печаль
0
|
|||||||||||
|
Модератор
|
|||||||
| 29.12.2014, 21:52 | |||||||
0
|
|||||||
|
650 / 260 / 16
Регистрация: 02.03.2014
Сообщений: 587
|
|
| 29.12.2014, 22:10 | |
|
у меня... HLint v1.8.53 но не суть...
0
|
|
|
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
|
|
| 29.12.2014, 22:17 [ТС] | |
|
У меня тоже ругается.
0
|
|
|
Модератор
|
|||||||
| 29.12.2014, 23:22 | |||||||
|
Видать, думает так быстрее. Добавлено через 32 минуты А ежели ещё подумать, то код эквивалентен
0
|
|||||||
|
650 / 260 / 16
Регистрация: 02.03.2014
Сообщений: 587
|
|
| 30.12.2014, 02:03 | |
|
KolodeznyDiver, ну так я и пишу - дело вкуса.
0
|
|
| 07.01.2015, 15:12 | ||||||||||||||
|
Не по теме:
Пакеты haskell-mode, company-ghc, shm пощёлкал в списке пакетов, вроде установились. Теперь только и эффекта что исчезли из списка пакетов. А что должно быть? Файл с расширением .hs открывается с подсветкой. hlint прикрутил скопировав hs-lint.el в emacs\24.4\lisp\, где el-и самого емакса. В .emacs вписал
А автокомплит-а, нет. В .emacs.d\elpa появился файл company-ghc-readme.txt в котором говорится что
Ещё и при установке shm ругалось
Мрак, жуть и пингвины! Научится пользоваться этим emacs-ом, похоже, куда сложнее чем самим Haskell-ем. :(
0
|
||||||||||||||
|
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
|
||||||||||||||||||||||||||||||||||||
| 07.01.2015, 15:47 [ТС] | ||||||||||||||||||||||||||||||||||||
|
Рассказываю пошагово:
1) После того, как я скачал Haskell Platform, я запускаю cmd.exe и пишу
3) После того, как emacs установлен, главное его не запускать, чтобы не создалась папка .emacs.d в
Для начала нужно скачать git под windows. http://git-scm.com/downloads Потом в пуске находим git bash, запускаем, вводим
Кликните здесь для просмотра всего текста
Далее создаем файл custom.el здесь: C:\Users\smoke\AppData\Roaming\.emacs.d\ personal\ В нем будут наши настройки, в моем случае: Кликните здесь для просмотра всего текста
5) Ставим отдельно structured-haskell-mode, а не через list-packages. Как это сделать: https://github.com/chrisdone/s... skell-mode Вообщем: Опять запускаем git bash Вводим git clone https://github.com/chrisdone/s... l-mode.git cd structured-haskell-mode cabal install cd elisp/ make И вот эту папку нужно скопировать в .emacs.d Также я еще отдельно скачивал make, unzip, wget. http://gnuwin32.sourceforge.net/packages.html Теперь запускаем emacs и он сам поставит все нужные пакеты. Вроде все
1
|
||||||||||||||||||||||||||||||||||||
| 07.01.2015, 15:49 | |
|
Не по теме: Большое спасибо заранее! Буду пытаться. Но не сейчас. Сейчас я выдохся в неравной борьбе с emacs. Буду копить силы для нового сражения.
0
|
|
| 07.01.2015, 15:57 [ТС] | |
|
Не по теме:
0
|
|
| 07.01.2015, 15:57 | |
|
Помогаю со студенческими работами здесь
20
радио пульт лебёдки Warn - ищу протокол обмена UEFI defaults have been loaded
IntelliJ IDEA, выдает ошибку: [main] WARN io.netty.util.internal.ThreadLocalRandom, как починить? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|