Haskell – Hello World với VS Code

3/5 - (2 votes)

Trong phần trước chúng ta đã cài đặt GHCI và sử dụng trong Command Prompt. Trong phần này chúng ta sẽ dùng Visual Studio Code làm IDE để có thể viết và quản lý code dễ dàng hơn.

VS Code

Đầu tiên chúng ta tải và cài đặt VS Code tại địa chỉ https://code.visualstudio.com/.

Cài Extension trên VS Code

Chúng ta cài các extension sau đây:

  • Haskell Syntax Highlighting: hiển thị màu chữ các keyword, comment, biến…v.v
  • haskell-linter: kiểm tra cú pháp và đề xuất cách viết clean code

Chúng ta chỉ cần 2 extension đó là đủ rồi, không cần quá nhiều.

Cài hlint

Ở thời điểm hiện tại, haskell-linter chỉ là một wrapper của phần mềm hlint, nghĩa là extension này thực chất sẽ sử dụng hlint để thực hiện các công việc của một phần mềm linter. Vì vậy sau khi cài, extension này sẽ báo lỗi không tìm thấy hlint.

Nên chúng ta phải cài hlint trước, chúng ta có thể cài thông qua Cabal – đây là bộ công cụ giúp quản lý các gói phần mềm dành cho Haskell, đi kèm khi chúng ta cài Haskell Platform.

Đầu tiên chúng ta chạy lệnh cabal update:

C:>cabal update
Downloading the latest package list from package.haskell.org

Tiếp theo chúng ta cài hlint bằng lệnh cabal install hlint:

C:>cabal install hlint
Resolving dependencies...
...

Cabal sẽ tải và cài đặt hlint, việc này có thể tốn tầm 5-10 phút.

Sau khi đã cài xong, chúng ta có thể kiểm tra bằng cách chạy lệnh hlint -V để xem phiên bản hlint hiện tại:

C:>hlint -V
HLint v3.1.1, Copyright Neil Mitchell 2006-2020

Tạo project

Chúng ta tạo một thư mục nào đó, rồi mở thư mục đó trong VS Code, sau đó tạo một file, đặt tên chẳng hạn như main.hs, *.hs là đuôi của file Haskell. Viết đoạn code sau vào file này:

main :: IO()
main = putStrLn "Hello World"

Để chạy thì chúng ta mở Terminal trong VS Code lên, biên dịch bằng lệnh ghc main.hs:

Trình ghc sẽ biên dịch và link file main.hs và tạo ra file main.exe. Để chạy thì chúng ta chỉ việc gọi file này:

Ngoài ra chúng ta cũng có thể dùng lệnh runhaskell main.hs, lệnh này sẽ sẽ làm công việc thông dịch, nghĩa là không biên dịch ra file .exe mà chỉ chạy từng lệnh như các ngôn ngữ Python, Perl, Ruby…v.v

Lưu ý

Khi chúng ta viết một đoạn code Haskell thì trình biên dịch sẽ luôn luôn tìm một biến có tên là main và có kiểu là IO(). Ngoài ra quy tắc của Haskell là khi đã khai báo một biến thì phải gán dữ liệu cho biến đó. Ở đây dòng main :: IO() là dòng khai báo kiểu, còn dòng main = putStrLn "Hello World" tiếp theo là dòng gán, nếu không có dòng đầu và dòng thứ 2 thì trình biên dịch sẽ luôn luôn báo lỗi.

Ở đây để ví dụ nên chúng ta viết dòng in ra màn hình. Trên thực tế chúng ta có thể viết như sau:

main :: IO()
main = return() --- Không làm gì cả
0 0 votes
Article Rating
Subscribe
Thông báo cho tôi qua email khi
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
Inline Feedbacks
View all comments
trackback

[…] Haskell – Hello World với VS Code […]

Tan Le
1 năm trước

Ở chỗ hlint -v thì nó phải cài vào biến môi trường mới xem version được ấy ạ.
Không thì ở vscode add cái path như trong mô tả extension của haskell-linter