Đây là lệnh runhugs có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
hugs, runhugs, ffihugs - Hugs 98, hệ thống lập trình chức năng
SYNOPSIS
hugs [ lựa chọn ] [ mô-đun ]
chạy ôm [ lựa chọn ] mô-đun [ args. ]
ffihug [ lựa chọn ] mô-đun [ trình biên dịch_argument ] ...
MÔ TẢ
Hugs là một trình thông dịch cho Haskell, một ngôn ngữ lập trình chức năng không nghiêm ngặt tiêu chuẩn.
Hugs thực hiện hầu hết tất cả các tiêu chuẩn Haskell 98, ngoại trừ đệ quy lẫn nhau
các mô-đun. Tên Những cái ôm là một cách ghi nhớ cho Haskell Của người dùng Gofer WELFARE.
Trình thông dịch được bắt đầu sử dụng hugs chỉ huy. Sau khi xử lý các tùy chọn, nó sẽ tải
mô-đun tiêu chuẩn Dạo thử và bất kỳ mô-đun nào khác được liệt kê trên dòng lệnh.
Mỗi mô-đun Haskell được lưu trữ trong một tệp riêng biệt. Khi tải một mô-đun tên, Những cái ôm
thay thế mỗi `.' trong tên với một/'và tìm trong từng thư mục trên tìm kiếm của nó
đường dẫn (xem -P Dưới LỰA CHỌN) cho các tệp tên.hs và tên.lhs. (Các hậu tố được công nhận
có thể được thay đổi bằng cách sử dụng -S tùy chọn, được mô tả dưới LỰA CHỌN.) Nó cũng cố gắng tên như là một
tên tệp theo nghĩa đen. Các tệp kết thúc bằng ".lhs"được coi như những chữ viết biết chữ.
LỰA CHỌN
Một số tùy chọn được chuyển đổi với + or - để bật hoặc tắt chúng, tương ứng.
Ngôn ngữ sự phù hợp
+98 Chỉ chấp nhận Haskell 98 (không thể thay đổi trong Những cái ôm; mặc định: bật). Biến cái này
tắt bật một số tiện ích Cái ôm đặc biệt, được mô tả trong Những cái ôm 98
người sử dang Hướng dẫn sử dụng.
+o Cho phép các phiên bản chồng chéo (tiện ích mở rộng Hugs; mặc định: tắt)
+O Cho phép các trường hợp chồng chéo không an toàn (tiện ích mở rộng Hugs; mặc định: tắt)
+H Cho phép `` tại đây tài liệu '' (một tiện ích mở rộng Hugs; mặc định: tắt)
Mô-đun tải
+l Xử lý các tệp có tên không kết thúc bằng `.hs'cũng không'.lhs'như những chữ viết biết chữ
(mặc định: tắt)
+. In dấu chấm để hiển thị tiến trình trong khi tải mô-đun (mặc định: tắt)
+q Không in gì để hiển thị tiến trình trong khi tải mô-đun (mặc định: bật)
+w Luôn hiển thị tệp nào được tải (mặc định: tắt)
Biểu hiện đánh giá
+s In số lượng giảm / ô sau mỗi lần đánh giá (mặc định: tắt)
+t Loại in sau mỗi lần đánh giá (mặc định: tắt)
+T Áp dụng các quy tắc mặc định Haskell trước khi in các loại (mặc định: tắt)
+g In số lượng ô được khôi phục sau mỗi lần thu gom rác (mặc định: tắt)
+Q Đủ điều kiện tên khi in (mặc định: tắt)
+k Hiển thị đầy đủ các lỗi loại (mặc định: tắt)
+u Sử dụng "hiển thị"để hiển thị kết quả (mặc định: bật)
+I Hiển thị kết quả của các chương trình IO (mặc định: tắt)
Thông số
Các tùy chọn khác (trong đó - có thể được thay thế bởi +, sự lựa chọn không tạo ra sự khác biệt) là:
-hnum Đặt kích thước đống (không thể thay đổi trong Những cái ôm; mặc định: 250K)
-pstr Đặt chuỗi lời nhắc thành str (mặc định: `% s> '). Không tí nào %s trong lời nhắc sẽ được thay thế
theo tên mô-đun hiện tại.
-rstr Đặt lặp lại chuỗi biểu thức cuối cùng thành str (vỡ nợ: $$).
-Pstr Đặt đường dẫn tìm kiếm cho các tệp nguồn thành str, phải là danh sách được phân tách bằng dấu hai chấm về
các thư mục. Mục nhập rỗng trong danh sách này sẽ được thay thế bằng tìm kiếm trước đó
con đường; một null str nghĩa là đường dẫn mặc định. Bất kỳ sự xuất hiện nào của {Ôm} trong chuỗi này
được mở rộng sang thư mục thư viện Hugs, cụ thể là / usr / lib / hugs. Tương tự, {Nhà}
được mở rộng sang thư mục chính của bạn (giá trị của TRANG CHỦ biến môi trường).
Mục nhập của biểu mẫu `thư mục/*'có nghĩa là tất cả các thư mục con ngay lập tức của
thư mục. Giá trị mặc định là
.: {Home} / lib / hugs / pack / *: / usr / local / lib / hugs / pack / *: {Hugs} / pack / *: {Hugs} / thư viện
-Sstr Đặt danh sách các hậu tố tệp nguồn được phân tách bằng dấu hai chấm thành str (vỡ nợ: .hs: .lhs). Các
mục nhập rỗng trong danh sách này sẽ được thay thế bằng danh sách hậu tố trước đó; một null str
nghĩa là danh sách mặc định.
-Estr Sử dụng cài đặt trình chỉnh sửa do str (mặc định: giá trị của EDITOR môi trường
Biến đổi). Bất kỳ sự xuất hiện nào của %d và %s trong tùy chọn trình chỉnh sửa được thay thế bằng
số dòng bắt đầu và tên của tệp sẽ được chỉnh sửa, tương ứng. Điểm chung
cài đặt là "vi +% d %s".
-cnum Đặt giới hạn ngưỡng ràng buộc trong trình kiểm tra loại thành num (mặc định: 40).
-Fcmd Đặt bộ lọc tiền xử lý cho các tệp nguồn thành cmd (không được đặt theo mặc định). Thay vì
đọc trực tiếp tệp nguồn, Những cái ôm sẽ đọc đầu ra tiêu chuẩn của cmd chạy với
tên tệp nguồn làm đối số.
-Xstr Chuỗi str được hiểu là một chuỗi tùy chọn. Điều này rất hữu ích, chẳng hạn như
để chuyển nhiều đối số tới chạy ôm trong một #! kịch bản.
HÀNG
Khi trình thông dịch đã được tải, các lệnh sau sẽ khả dụng:
:trọng tải [mô-đun] xóa tất cả các mô-đun ngoại trừ phần dạo đầu và tải các mô-đun được chỉ định.
:cũng mô-đun đọc các mô-đun bổ sung.
: tải lại lặp lại lần cuối tải chỉ huy.
chỉnh sửa: hồ sơ chỉnh sửa hồ sơ.
chỉnh sửa: chỉnh sửa tệp cuối cùng.
: mô-đun mô-đun thiết lập mô-đun để đánh giá các biểu thức.
thể hiện đánh giá biểu thức.
:kiểu thể hiện kiểu in của biểu thức.
:? hiển thị danh sách các lệnh này.
:bộ lựa chọn thiết lập các tùy chọn dòng lệnh.
:bộ trợ giúp về các tùy chọn dòng lệnh.
: tên [mô hình] liệt kê các tên hiện có trong phạm vi phù hợp với bất kỳ mẫu kiểu shell nào.
:thông tin tên mô tả các đối tượng được đặt tên.
: duyệt mô-đun duyệt các tên được xuất bởi mô-đun.
:tìm thấy tên chỉnh sửa tệp chứa định nghĩa của tên.
:!lệnh thoát vỏ.
:đĩa CD dir thay đổi thư mục.
: gc buộc thu gom rác thải.
:phiên bản bản in Hugs.
: bỏ thoát khỏi trình thông dịch Hugs.
Bất kỳ lệnh nào cũng có thể được viết tắt thành :c Ở đâu c là ký tự đầu tiên trong tên đầy đủ. Trên
hầu hết các hệ thống, bạn cũng có thể thoát khỏi Những cái ôm bằng cách nhập ký tự cuối tệp (^ D).
Lưu ý rằng khóa ngắt (^ C trên hầu hết các hệ thống) có thể được sử dụng bất kỳ lúc nào trong khi sử dụng
Những cái ôm để từ bỏ quá trình đọc trong một tệp định nghĩa hàm hoặc
đánh giá của một biểu thức. Khi ngắt được phát hiện, Những cái ôm in chuỗi
"{Bị gián đoạn!}"và in lời nhắc để có thể nhập các lệnh khác.
ĐÁ CHƯƠNG TRÌNH
Sản phẩm chạy ôm lệnh là một trình thông dịch cho một tập lệnh Hugs có thể thực thi, tập lệnh này phải chứa
Haskell Chủ yếu mô-đun. Ví dụ: tệp thực thi xin chào có thể chứa các dòng
#! / usr / bin / runhugs +l
> mô-đun Chủ yếu Ở đâu
> chính = putStr "Xin chào, Thế giới \ n "
Khi tệp này được thực thi, chạy ôm sẽ gọi chính hàm số. Bất kỳ đối số nào được đưa ra trên
dòng lệnh sẽ có sẵn thông qua lấy Args.
Lưu ý rằng #! chỉ chuyển một đối số cho tập lệnh. Các -X tùy chọn có thể được sử dụng để có được
xung quanh điều này.
C GIAO DIỆN
Trên các kiến trúc hỗ trợ liên kết động, Những cái ôm thực hiện một phần của Haskell 98
Nước ngoài Chức năng Giao thức (FFI) cho phép các hàm Haskell gọi C thường trình. (Trên
kiến trúc x86, PowerPC và Sparc, tất cả nước ngoài nhập khẩus được hỗ trợ; cho người khác,
có thể tĩnh nhập khẩu được cung cấp.) Các mô-đun chứa như vậy nước ngoài tuyên bố phải được
được biên dịch bằng cách sử dụng ffihug lệnh trước khi sử dụng với hugs. Các đối số bổ sung cho C
trình biên dịch có thể được cung cấp qua trình biên dịch_argumentNS. Ví dụ: giả sử bạn có một số C
chức năng trong kiểm tra.c và một số khai báo FFI cho các chức năng đó trong Kiểm tra.hs và mã
in kiểm tra.c cần được biên dịch với -lm. Sau đó, bạn sẽ biên dịch mô-đun với
lệnh
ffihug Kiểm tra.hs kiểm tra.c -lm
tạo ra một tệp đối tượng Kiểm tra.so. Sau đó, khi hugs tải Kiểm tra.hs, nó cũng sẽ tải
Kiểm tra.so.
Trong FFI tiêu chuẩn, mỗi nước ngoài nhập khẩu khai báo nên đặt tên tệp tiêu đề C
chứa nguyên mẫu của hàm. Bởi vì điều này thường cồng kềnh, ffihug
cung cấp tùy chọn bổ sung sau:
-istr Chỉ định một bao gồm cho tệp C đã tạo. Chuỗi bao gồm phải là
một cái gì đó có thể theo sau "#include"trong một chương trình C, như trong
ffihug '-tôi ' '-i "mydefs.h"' Kiểm tra.hs kiểm tra.c -lm
MÔI TRƯỜNG
HUGSFLAGS
Các tùy chọn bổ sung cho hugs, được xử lý trước bất kỳ được đưa ra trên dòng lệnh.
HUGSDIR
Thư mục thư viện Hugs (mặc định: / usr / lib / hugs).
EDITOR Trình chỉnh sửa mặc định, nếu -E không được đưa ra.
SHELL Được sử dụng để chỉ định trình bao được gọi bởi :! chỉ huy.
Sử dụng runhugs trực tuyến bằng dịch vụ onworks.net