Hi Hany,

> *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>)
I don't know much about ForSyDe, but it seems that where clauses simply aren't
supported. Perhaps let expressions are?

The would mean something like the following:

  addTwof :: ProcFun (Int32 -> Int32)
  addTwof = $(newProcFun [d|addTwof :: Int32 -> Int32
                            let addOnef = n +1 in
                            addTwof n = addOnef+1
                         |])

(Not sure if this is completely valid code, I'm not too familiar with TH..).

Gr.

Matthijs

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to