|
|
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
http://www.haskell.org/haskellwiki/Type Смотрю пример Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Возник вопрос: почему нельзя написать Код: plaintext 1. Помимо примера также непонятно, в чем разница между конструктором типа и данных (type constructor и data constructor)? Посоветуйте, где почитать про основной синтаксис Haskellа: то что fromEnum - это из Prelude я понял, а вот откуда узнать, что значит запись Код: plaintext Код: plaintext Заранее спасибо за ответы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2010, 22:50:56 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
Ну ты и эстремист! Ктож так язык изучает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2010, 23:18:49 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
mayton, да вот проблема. :) C, C#, PHP, да хоть Java - все маны начинаются с Language Reference и потом уже с Function Reference. У Haskellа как такового Language Reference не нашел. :( Будут благодарен за ссылку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2010, 23:24:52 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
Есть такой документ. Называется The Haskel 98 Report . В нем есть кое-что по языку. Но изложено очень сухим языком. Лично для меня это было не очень подходящее подручное чтиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2010, 23:58:02 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
mayton, а мне нравится! Спасибо вам. Длинный правда, придется читать по диагонали, так как осваиваю пока что для экспериментов и времени досконально вычитывать 277 страниц нет. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 00:02:29 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
А Haskell классный. :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 01:48:02 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
Что компилятору не нравится? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 11:26:42 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
an0nym, судя по всему, не может вывести тип t - с одной стороны он вроде как Integer а сдругой Float - смотрите типы операций, откуда он это взял - наверное ln и exp хотят флоат а передают int ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 11:51:14 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
belugin, то что не может тип вывести я понял. Как ни странно, проблема скорее всего в строке Код: plaintext Код: plaintext 1. 2. Т. е. по всей видимости ^ не определена для тех типов, какими выводятся (1 - srt c cl) и t, что для меня странно - ^ принимает Num и Integral - вроде достаточно общие типы. Меня другое удивляет - компилятор не может поподробнее рассказать, что вообще случилось в какой строке и т. п.? Там стек-трейс выложить... Непонятно, что с этим делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 11:57:46 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
an0nymМеня другое удивляет - компилятор не может поподробнее рассказать, что вообще случилось в какой строке и т. п.? Там стек-трейс выложить... Хочешь есть мёд, да еще и большой ложкой? Учись писать без ошибок! Это, насколько я понимаю основная концепция ФП. Пишешь мало. Получаешь много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 12:26:41 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
mayton, дык ошибок-то нет! Компилятор не может вывести типы, а это уже его проблема. Если бы он мне сообщил, где конкретно ошибка (его сообщение эквивалентно: "у тебя где-то ошибка", потому что указывает на вызов функции в самом высоком скоупе), я бы ему помог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 12:42:01 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
an0nymКомпилятор не может вывести типы, а это уже его проблема. Вкушаешь все прелести ФП... Переведи это описание фикса на русский и попробуй применить. А уже потом кричи что тебе дескать компиллятор ничено не сказал. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 12:50:41 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
mayton, да я всё перевел. Я понимаю, что случилось. Я не понимаю где (и почему), в какой строке какой операнд не того типа, потому что компилятор указывает на самый верх стэка вызовов, а ошибка явно в самом низу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 12:52:37 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
Всмысле наоборот - указывает на самый низ, а ошибка явно наверху. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 12:54:18 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
an0nymВсмысле наоборот - указывает на самый низ, а ошибка явно наверху. Знаешь, когда у меня нихрена не получается и я нихрена не понимаю - я беру и просто УПРОЩАЮ исходник до тривиального случая. Это что-то вроде "дихотомического поиска ошибок". Советую и тебе так-же поступить. А понимание толкования ошибок придёт только с опытом. Упрости функцию calc и всё заработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 13:02:19 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
еще в hugs есть инструкции типа :t - посмотреть какого типа символ - можно попробовать для составляющих функций посмотреть, что оно там понавыводило посмотри, как обычно взаимодействуют в стиле REPL Интересно, есть ли среда, чтоб как в F# - просто наводишь курсор и видишь тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 13:07:11 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
beluginеще в hugs и в ghci ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 13:11:07 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
an0nym, возведение в степень с плавающей точкой - ** ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 19:31:59 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Код: plaintext 1. а вот мы подставляем 2-м аргументом ln Код: plaintext 1. и в то же время ф-я (^) принимает значения целого типа или замени (^) на (**). или делай приведение типов с помощью fromIntegral ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2010, 19:43:56 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, спасибо! Теперь стало понятнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 12:10:23 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNа вот мы подставляем 2-м аргументом ln Код: plaintext 1. и в то же время ф-я (^) принимает значения целого типа Почему здесь ln :: Integral я понял - потому что (^) :: (Num a, Integral b) => a -> b -> a. ZyK_BotaN Код: plaintext 1. А вот почему здесь ln вещественное число? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 12:14:54 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
Ведь Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 12:19:08 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. а вот мы подставляем 2-м аргументом ln Код: plaintext 1. (fromIntegral ln), для приведения целого к вещественному ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 12:46:57 |
|
||
|
Простые вопросы по Haskell
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN Код: plaintext 1. а вот мы подставляем 2-м аргументом ln Код: plaintext 1. (fromIntegral ln), для приведения целого к вещественному туплю, неправильно определил приоритет операций но тогда ks должна возвращать число вещественного типа можно записать: Код: plaintext с вещественными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2010, 12:56:57 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36534325&tid=1343789]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 460ms |

| 0 / 0 |
