Quantcast
Channel: Cadence Custom IC Skill Forum
Viewing all articles
Browse latest Browse all 5067

Can SKILL++ symbols be unbound?

$
0
0

In SKILL mode, you can unbind a symbol's value slot by assigning the special symbol unbound to it:

> f = 3
3> boundp 'f
t> f = 'unbound
unbound> f
*Error* toplevel: undefined variable - f<<< Stack Trace >>>> boundp 'f
nil

You can also unbind the function slot by putting nil there:

> putd 'f (getd 'car)
primop:car> fboundp 'f
primop:car> (f '(1 2 3))
1> putd 'f nil
nil> fboundp 'f
nil> (f '(1 2 3))
*Error* eval: undefined function - f

However, in SKILL++ mode, symbols use the function slot exclusively, so putting nil there is the same as assigning the symbol to nil.  Continuing from the previous example:

> toplevel 'ils
ILS-> f
nil

Is there a way to actually undefine a SKILL++ symbol?  It seems you would need to unintern it from the SKILL oblist and/or remove it from the toplevel environment frame.


Viewing all articles
Browse latest Browse all 5067

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>