Abstract type: Difference between revisions

racket IS scheme
m (sort omit tags)
(racket IS scheme)
Line 1,021:
for i in self.contents:
print i,</lang>
 
=={{header|Racket}}==
<lang scheme>
#lang racket
 
(define animal-interface (interface () say))
 
(define cat% (class* object% (animal-interface) (super-new))) ;; error
 
(define cat% (class* object% (animal-interface)
(super-new)
(define/public (say)
(display "meeeeew!"))))
 
(define tom (new cat%))
(send tom say)
</lang>
 
=={{header|REBOL}}==
Line 1,151 ⟶ 1,134:
 
When integrating with Java, traits without implementation appear as interfaces.
 
=={{header|RacketScheme}}==
(moved from Racket)
{{works with|Racket}}
<lang scheme>
#lang racket
 
(define animal-interface (interface () say))
 
(define cat% (class* object% (animal-interface) (super-new))) ;; error
 
(define cat% (class* object% (animal-interface)
(super-new)
(define/public (say)
(display "meeeeew!"))))
 
(define tom (new cat%))
(send tom say)
</lang>
 
=={{header|Tcl}}==
Anonymous user