Я программирую партитуру Lispy PDDL для класса планирования AI в Coursera.Как определить тип данных Lispy в Haskell?
Как определить тип данных Lispy в Haskell?
Я программирую партитуру Lispy PDDL для класса планирования AI в Coursera.Как определить тип данных Lispy в Haskell?
Как определить тип данных Lispy в Haskell?
Мой Lispy PDDL Parser:
https://dl.dropbox.com/u/46434672/Code/LispyPddlParser.hs
ДВР-файл operators.txt:
https://spark-public.s3.amazonaws.com/aiplan/resources/DWR-operators.txt
Это выглядит 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
Результат выполнения основной:
(define x 10 (print hello)())