Passing expression using pattern operator on certain types to kawa.standard.Scheme.eval causes crash
Maybe of interest: the following examples all work flawlessly when evaluated using either kawa.lang.Eval.eval
(from HEAD) or kawa.Shell.run
.
Minimal example with java.lang.String
:
(define scheme :: <kawa.standard.Scheme> (kawa.standard.Scheme:getInstance))
(scheme:eval "(! x :: <java.lang.String> (java.lang.String 'foo))")
;; Here comes the crash:
(scheme:eval "(display x)")
Same behavior with java.lang.Integer
:
(define scheme :: <kawa.standard.Scheme> (kawa.standard.Scheme:getInstance))
(scheme:eval "(! x :: <java.lang.Integer> (java.lang.Integer 1))")
(scheme:eval "(display x)")
gnu.mapping.Symbol
, instead, does not cause a crash:
(define scheme :: <kawa.standard.Scheme> (kawa.standard.Scheme:getInstance))
(scheme:eval "(! x :: <gnu.mapping.Symbol> 'foo)")
(scheme:eval "(display x)")