WinHugs - как объявить переменную и функцию
Я загрузил WinHugs 2 часа назад и до сих пор не могу понять, как объявить простые вещи. Я пытаюсь следовать книге "7 языков за 7 недель", но такие вещи, как let x = 10
и double x = x * 2
выдает синтаксические ошибки.
2 ответов
Я не на 100% уверен, что то, что вы пытаетесь сделать, не работает. Вы не можете объявлять привязки в сеансе WinHugs, вы можете оценивать только полные выражения. Таким образом, вы могли бы делать такие вещи, как let x = 10 in x * x + x
, но вы не можете сказать let x = 10
в интерактивном сеансе. Другими словами, вы не можете сделать заявление "палкой".
чтобы обойти это, либо поместите свои декларации в .hs
файл и загрузите его в WinHugs или используйте GHCi вместо этого (это лучший вариант , на мой взгляд-WinHugs довольно старый). Вы можете установить GHCi, загрузив Платформа Haskell.
в winhugs следующее дает синтаксическую ошибку
пусть double x = x * 2
но работает следующее:
пусть double x = x * 2 в double 10
однако в ghc у них есть интерактивная среда ghci, где все работает
пусть double x = x * 2
работает
двойной 10
работает
эта ссылка объясняет, как работать с средой ghci: https://downloads.haskell.org/~ghc/7.2.2/docs/html/users_guide/interactive-evaluation.html
одна незначительная проблема заключается в том, что в windows вам нужно присутствие cygwin - в противном случае ghci, скомпилированный для windows, не будет работать.