2016-06-30 17 views
2

Ich versuche definieren Typen zu verwenden, um einen geeigneten algebraischen Datentyp für Referenzen zu kompilieren:Racket: define-Typ Referenz

Books:     Author. Title. Publisher, City Year 
Articles from Magazines: Author. Title. Name of Magazine, Year 
Conference Contributions: Author. Title. Name of Conference. Publisher, City Year 

Leider habe ich keine Ahnung, wie dieses Problem zu nähern. Ich kenne zwar die Eigenschaften von define-type und dessen Unterschied zu define-struct.

Kann mir jemand in die richtige Richtung zeigen? Es würde sehr geschätzt werden!

Antwort

1

define-type Unter der Annahme, bezieht sich auf die von define-typehtdp2/abstraction:

(define-type reference 
    (book (author string?) (title string?) (publisher string?) (city string?) (year number?)) 
    (magazine-article (author string?) ...etc...) 
    (conference-contribution (author string?) ...etc...))