/tags/rel-1-3-26/SWIG/Examples/chicken/overload/test-overload.scm
Lisp | 45 lines | 32 code | 8 blank | 5 comment | 0 complexity | f72bbca964ad0f98730b11749b975b82 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- ;; This file demonstrates the overloading capabilities of SWIG
- (load-library 'example "overload.so")
- ;; Low level
- ;; ---------
- (display "
- Trying low level code ...
- (foo 1)
- (foo \"some string\")
- (define A-FOO (new-Foo))
- (define ANOTHER-FOO (new-Foo A-FOO)) ;; copy constructor
- (Foo-bar A-FOO 2)
- (Foo-bar ANOTHER-FOO \"another string\" 3)
- ")
- (primitive:foo 1)
- (primitive:foo "some string")
- (define A-FOO (slot-ref (primitive:new-Foo) 'swig-this))
- (define ANOTHER-FOO (slot-ref (primitive:new-Foo A-FOO) 'swig-this)) ;; copy constructor
- (primitive:Foo-bar A-FOO 2)
- (primitive:Foo-bar ANOTHER-FOO "another string" 3)
- ;; TinyCLOS
- ;; --------
- (display "
- Trying TinyCLOS code ...
- (+foo+ 1)
- (+foo+ \"some string\")
- (define A-FOO (make <Foo>))
- (define ANOTHER-FOO (make <Foo> A-FOO)) ;; copy constructor
- (-bar- A-FOO 2)
- (-bar- ANOTHER-FOO \"another string\" 3)
- ")
- (foo 1)
- (foo "some string")
- (define A-FOO (make <Foo>))
- (define ANOTHER-FOO (make <Foo> A-FOO)) ;; copy constructor
- (bar A-FOO 2)
- (bar ANOTHER-FOO "another string" 3)
- (exit)