Я пытаюсь преобразовать программу на Haskell в программу с графическим интерфейсом на Haskell, но, поскольку я очень новичок в Haskell, каждый раз, когда я что-то пробую, я получаю много ошибок.Я много раз спрашивал об переполнении стека для этой программы, но всякий раз, когда ошибка исчезает, возникают две ошибки.
Извините, что задаю подобный вопрос, но способность программы, которую я собираюсь преобразовать, - очень простой поиск слов.Получите строку ввода, найдите слово, напечатайте в окне.
Любой совет, подсказка или пример был бы очень полезен для меня.
Я на Windows XP.Извините за очень плохой код.
--GUI routine
import Graphics.UI.Gtk
import Text.Regex.Posix ((=~))
import Control.Monad (when)
--core routine
matchWord :: String -> String -> Int
matchWord file word = length . filter (== word) . concat $ file =~ "[^- \".,\n]+"
--main start
main :: IO ()
main =
do initGUI
win <- windowNew
windowSetTitle win "WORD SEARCHER"
win `onDestroy` mainQuit
fch <- fileChooserWidgetNew FileChooserActionOpen
containerAdd win fch
targetFile <- fileChooserGetFilename fch --wrong?
ent <- entryNew
btn <- buttonNewWithLabel "Click to search"
st <- labelNew $ Just "Found : 0 "
col <- vBoxNew False 5
containerAdd col ent
containerAdd col btn
containerAdd col st
btn `onClicked` do targetWord <- entryGetText ent
fileData <- readFile Just targetFile
found <- matchWord fileData targetWord
labelSetText st found
containerAdd win col
widgetShowAll win
mainGUI
спасибо за чтение