> Panic no more!
> You've been bitten by the "where-is-the-rest-of-the-program" bug.
>
> You have a definition:
>
> kcm_top dataSigned k kSize  dataSize
>   = do clk <- globalClock "c"
>        d <- inputVec "a" (bit_vector (dataSize-1) downto 0)
>        p <- splitKCM dataSigned k kSize d
>        outputVec p "prod" (bit_vector (dataSize+kSize-1) downto 0)
>      where
>
> [.. rest of program...]
>
> and the 'where' captured the rest of the program in the inner scope,
> not allowing the to level bindings to take place.
>
> To fix: remove where, or use 'where {}' if you explicitly need an
> empty where.

Hi Satnam,

After being bitten so many times by the layout rule in Haskell and got so
ugly from the scars all over my brain, that I decided on the spot to never
ever again depend on the layout rule and write everything with explicit
braces and semicolons.

I have never been so happy in my life!

Erik "leave the layout rule in the 20th century" Meijer

PS Didn't *you* tell me once that Ada is so great because all the explicit
begin/end keywords :-)

Reply via email to