Tôi đã chương trình sau đây:Làm thế nào để kết xuất đầu ra của bộ khuếch đại GHC ở dạng người có thể đọc được?
data Peano = Zero | Succ Peano deriving (Show)
add Zero b = b
add (Succ a) b = add a (Succ b)
mul Zero b = Zero
mul (Succ a) b = add b (mul a b)
four x = let two = Succ (Succ Zero) in mul two two
Tôi muốn để có được một cái gì đó như thế này từ GHC:
add =
\ ds b ->
case ds of
Zero ->
b
Succ a ->
add
a
(Succ b)
mul =
\ ds b ->
case ds of
Zero ->
Zero
Succ a ->
add
b
(mul a b)
four =
let
two =
Succ
(Succ Zero)
in
mul two two
Điều tốt nhất tôi quản lý để có được là
ghci -ddump-simpl -dsuppress-module-prefixes -dsuppress-uniques foo.hs
nhưng nó thép cần thiết rất nhiều việc loại bỏ thủ công các công cụ tạo ra GHC để lấy mã ở trên. Có chuyển đổi cho GHC hoặc tập lệnh của bên thứ ba có thực hiện việc dọn dẹp không?
Có cách nào ít nhất để loại bỏ case {tick (main:Main, 8)} @ (State# RealWorld) of _ { __DEFAULT ->
không?
Lệnh 'chú thích tick' được tạo ra bởi HPC, vì vậy việc vô hiệu hóa nó nên để loại bỏ chúng, tôi nghĩ. –
Tôi không biết làm thế nào. Tôi không bật nó lên - xem dòng lệnh. – nponeccop