[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Miscellaneous loose ends



Andre van Tonder <andre@xxxxxxxxxxxxxxxxxxx> writes:

>  Additional questions:
>  
>  - What is the scope of the bindings of the accessors?  Can I write
>  
>    (define-type point (previous)
>      (fields (x (point-x)) (point-x previous))
>              (y (point-y)) (point-y previous))))

Yes; I'll try to clarify.
              
>  - Same question for the constructor and predicate.

Yes.
             
>  - What is the scope of the binding of the type itself?  Can I write
>    
>    (define-type foo ()
>      (fields (x mutable) (......(type-descriptor foo).......)))

No, because it may be a syntactic binding.  (This might need to be
worked out at some point.)
      
> - Can I use (parent <parent name> ...) in the syntactic layer to extend
>   a record type that has been defined procedurally?  

No; this is the second-to-last issue.

> - Related to previous:  Do <record name>s belong to a separate namespace    
>   from ordinary identifiers?  

No.  This is Scheme, after all.
   
> - Does TYPE-DESCRIPTOR need to be syntax, or can it be a procedure?   

Needs to be syntax.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla