PasteRack.org
Paste # 18339
2018-02-18 00:43:27

Fork as a new paste.

Paste viewed 133 times.


Embed:

class/c for some but not all methods

  1. #lang racket/base
  2.  
  3. (module A racket/base
  4.   (require racket/class racket/contract)
  5.   (define c%
  6.     (class object%
  7.       (super-new)
  8.       (define/public (a x)
  9.         (+ x 1))
  10.       (define/public (b x)
  11.         (- x 1))))
  12.   (provide (contract-out [c% (class/c (a (->m integer? integer?)))])))
  13.  
  14. (require 'A racket/class)
  15.  
  16. (define x (new c%))
  17.  
  18. (send x a 1)
  19. (send x b 1)

=>

2

0