Dear all,
I have used ForSyDe to translate a Haskell script to VHDL for a while, and I have one problem by applying where-clause during the translation.
I wrote a small function Plus2.hs which is implied as following
addTwof :: ProcFun (Int32 -> Int32)
addTwof = $(newProcFun [d|addTwof :: Int32 -> Int32
addTwof n = addOnef+1
where
addOnef = n +1
|])
*Plus2> writeVHDL plus2SysDef
*** Exception: VHDL Compilation Error: Untranslatable function: where constructs are not supported in functions:
where addOnef_0 = n_1 GHC.Num.+ 1
in process function `addTwof' (created in Plus2) used by process `plus2Proc' belonging to system definition `plus2' (created in <unkown>)
The compiling process was fine, but the script could not be translated into VHDL, like the error i mentioned above.
Is there any way to solve this problem if a where-clause is a must. Thanks all.
Hanyi
更多热辣资讯尽在新版MSN首页! 立刻访问!