在循环记录中打结
Tying the knot in cyclic records
重写以下代码以便编译的最佳方法是什么?两种数据类型相互依赖。
{-# LANGUAGE OverloadedStrings, DuplicateRecordFields #-}
data Syn = S { inputs :: [Neu] }
data Neu = N { weigth :: Double, inputs :: [ Syn ] }
你的代码编译正常(我冒昧地给它起了一个模块名),没有错误:
% ghc -c so.hs
% cat so.hs
{-# LANGUAGE OverloadedStrings, DuplicateRecordFields #-}
module So where
data Syn = S { inputs :: [Neu] }
data Neu = N { weigth :: Double, inputs :: [ Syn ] }
% ls -l so.o
-rw-r--r-- 1 tommd wheel 4888 Aug 8 14:02 so.o
如果您遇到错误,请务必 post 实际代码、用于编译或解释的命令、编译器的版本以及错误消息本身。
重写以下代码以便编译的最佳方法是什么?两种数据类型相互依赖。
{-# LANGUAGE OverloadedStrings, DuplicateRecordFields #-}
data Syn = S { inputs :: [Neu] }
data Neu = N { weigth :: Double, inputs :: [ Syn ] }
你的代码编译正常(我冒昧地给它起了一个模块名),没有错误:
% ghc -c so.hs
% cat so.hs
{-# LANGUAGE OverloadedStrings, DuplicateRecordFields #-}
module So where
data Syn = S { inputs :: [Neu] }
data Neu = N { weigth :: Double, inputs :: [ Syn ] }
% ls -l so.o
-rw-r--r-- 1 tommd wheel 4888 Aug 8 14:02 so.o
如果您遇到错误,请务必 post 实际代码、用于编译或解释的命令、编译器的版本以及错误消息本身。