簡體   English   中英

如何在模板 Haskell 中“編碼”這個簡單的表達式?

[英]How to "encode" this simple expression in template Haskell?

我有一個電話myFun @m @d 現在我想為我的模板 Haskell 編碼。我試試

let myFunCall = AppTypeE (VarE $ mkName "myFun") (AppT (VarT $ mkName "m") (VarT $ mkName "d"))

但它是無效的,因為我得到myFun @(md)

老實說,我什至不知道如何實現它。

與 Haskell 中的任何其他類型的 function 應用程序一樣,它通過參數關聯參數。 myFun @m @d(myFun @m) @d 每個@都是它自己的AppTypeE ,即你需要

   AppTypeE (AppTypeE (VarE $ mkName "myFun") ...) ...

暫無
暫無

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

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