![[LISPWORKS]](../Graphics/LWSmall.gif)
![[Common Lisp HyperSpec (TM)]](../Graphics/CLHS_Sm.gif) 
 ![[Previous]](../Graphics/Prev.gif)
![[Up]](../Graphics/Up.gif)
![[Next]](../Graphics/Next.gif)
Examples of the contents of the constituents of setf expansions follow.
For a variable x:
() ;list of temporary variables () ;list of value forms (g0001) ;list of store variables (setq x g0001) ;storing form x ;accessing form
Figure 5-3. Sample Setf Expansion of a Variable
For (car exp):
(g0002) ;list of temporary variables (exp) ;list of value forms (g0003) ;list of store variables (progn (rplaca g0002 g0003) g0003) ;storing form (car g0002) ;accessing form
Figure 5-4. Sample Setf Expansion of a CAR Form
For (subseq seq s e):
(g0004 g0005 g0006)         ;list of temporary variables  
(seq s e)                   ;list of value forms          
(g0007)                     ;list of store variables      
(progn (replace g0004 g0007 :start1 g0005 :end1 g0006) g0007)                              
                            ;storing form                 
(subseq g0004 g0005 g0006)  ; accessing form              
Figure 5-5. Sample Setf Expansion of a SUBSEQ Form
In some cases, if a subform of a place is itself a place, it is necessary to expand the subform in order to compute some of the values in the expansion of the outer place. For (ldb bs (car exp)):
(g0001 g0002)            ;list of temporary variables  
(bs exp)                 ;list of value forms          
(g0003)                  ;list of store variables      
(progn (rplaca g0002 (dpb g0003 g0001 (car g0002))) g0003)                              
                         ;storing form                 
(ldb g0001 (car g0002))  ; accessing form              
Figure 5-6. Sample Setf Expansion of a LDB Form
![[Starting Points]](../Graphics/StartPts.gif)
![[Contents]](../Graphics/Contents.gif)
![[Index]](../Graphics/Index.gif)
![[Symbols]](../Graphics/Symbols.gif)
![[Glossary]](../Graphics/Glossary.gif)
![[Issues]](../Graphics/Issues.gif)