gpt4 book ai didi

haskell - 如何在 Haskell 中定义 Lispy 数据类型?

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:53 25 4
gpt4 key购买 nike

我正在为 Coursera 的 AI 规划类(class)编写 Lispy PDDL 解析器。

如何在 Haskell 中定义 Lispy 数据类型?

最佳答案

它看起来像 Lispy,不是吗?

{-# LANGUAGE FlexibleInstances #-}

import Data.List

data S s = T s | S [S s] deriving (Eq)

instance Show (S String) where
show (T s) = s
show (S list) = "(" ++ (intercalate " " $ map show list) ++ ")"

sExpr = S [T "define",T "x",T "10",S [T "print",T "hello"],S []]

main = do
putStrLn $ show sExpr

运行main的结果:

(define x 10 (print hello) ())

关于haskell - 如何在 Haskell 中定义 Lispy 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14918140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com