簡體   English   中英

第一個 Haskell 程序未啟動

[英]First Haskell program not launching

我在 Visual Studio Code 中編寫了我的第一個 Haskell 代碼。 我想實現列表列表,所以我從簡單列表開始。

module Main where
import System.Environment
import Data.List
import Data.Ord

main :: IO ()
main =  do
    let lostNumbers = [4,8,15,16,23,42]  

當我嘗試啟動我的程序時,我得到:

在此處輸入圖像描述

如何在 Haskell 中聲明列表列表? 或者至少只是一個簡單的列表?

編輯:我找到了討論在哪里尋找 Haskell 教程的主題:Haskell 入門

希望它會幫助某人

錯誤消息會告訴您究竟出了什么問題。 你的 do 塊的最后一行是 let 表達式而不是IO ()類型的值

將其更新為,例如:

lostNumbers = [4,8,15,16,23,42] 

main :: IO ()
main =  do
    print lostNumbers

如果let對你很重要..

main :: IO ()
main =  do
    let lostNumbers = [4,8,15,16,23,42] in print lostNumbers

當我編譯你的代碼時,我得到這個錯誤:

main.hs:8:5: error:
    The last statement in a 'do' block must be an expression
      let lostNumbers = [4, ....]

所以do塊的最后一條語句必須是一個表達式,例如

print lostNumbers

您的代碼有未使用的導入作為編寫 haskell 代碼的起點,我將您的代碼修改為

lostNumbers :: [Integer]
lostNumbers = [4,8,15,16,23,42]  

或者,如果您想使用模塊關鍵字,您必須注意空格,例如

module Main where
    lostNumbers :: [Integer]
    lostNumbers = [4,8,15,16,23,42]  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM