2013-02-26 4 views
-3

문을 인쇄하고 다른 함수를 호출하는 함수를 작성하려고하지만이 함수를 정의하는 데 문제가 있습니다. 여기 내가 지금까지 얻은 것이있다.하스켈 함수

코드 :

bad_input :: --dont know what goes here 
bad_input = putStrLn "Bad Input" 
      evaluate_input  
+14

http://learnyouahaskell.com –

+1

get ghci는 학습 과정에 도움이 될 것입니다. – pyCthon

+9

잘못된 용도로 StackOverflow를 사용하고 있습니다. 당신은 몇 가지 매우 실용적이지 않은 질문을 해본 적이 있는데, 적어도 한 권의 책이나 하스켈에 관한 튜토리얼을 읽었는지 물어 보지 않았을 것입니다. –

답변

1

첫째, 유형의 서명을하지 않아도, 하스켈에서 당신을 위해 거의 모든 경우 그것을 추측됩니다. 둘째, =의 올바른 위치에 표현이 필요하지만 두 개의 관련없는 표현이 있습니다. 어떻게 든 서로 연결해야합니다. 세 번째 점은 IO가 명령형 언어와 완전히 다르다는 것입니다. 왜냐하면 하스켈은 비 엄격한 언어이기 때문에 IO이라는 모나드에서 "실제 세계"와의 상호 작용을 감쌀 필요가 있기 때문입니다. 이는 계산이 " 시간에 맞춰서 "- 입력/출력에 좋지 않음)과 순수 언어 (계산 된 값은 절대로 변경되지 않는다는 것을 의미 함).

나는이 코드를 작성할 수는 있지만, 이것이 좋지 않은 것보다 더 해롭고 이전보다 훨씬 혼란 스럽다고 생각합니다. 따라서 Cat Plus Plus의 조언을 따르고 http://learnyouahaskell.com/ (또는 http://book.realworldhaskell.org/)을 읽어보십시오. 쉬운 일부터 시작하고, 하스켈에서는 입출력이 쉽지 않습니다.