Dom96's answer no.1 is correct

> 1\. Maybe --force flag will affect this?

How can this be?, if Nim compiler detect that your .nim(on disk) not modified, 
and there is already .c/.o for the .nim in /nimcache, Nim compiler will skip 
codegen for the .c/.o file(if the dependencies/imports also not changed). Using 
staticRead(x) indeed change .nim file(in memory) if you change/update the 'x', 
but the compiler will not know about this(the compiler hash the file on disk, 
not the AST in memory).

That's why, it looks cached somehow. Perhaps you can request a new feature for 
Nim compiler to hash the 'x' too as a dependency.

No.3 Compile time FFI

if I am not mistaken, araq has a branch of Nim implementing compile time FFI, 
but then abandoned/postponed because it would be a nightmare for maintainer to 
deal with upcoming issues related to compile time FFI while the Nim compiler 
itself already had many issues. But I believe, in the future we can revive this 
idea. It will be cool although a bit nasty.

Reply via email to