diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/i-coerfn.boot | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0d54fe8f..976a40ee 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2009-06-09 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/i-coerfn.boot (Expr2Up): Fix regression introduced by + name$Kernel removal. + +2009-06-09 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/compiler.boot (compLogicalNot): Tidy. * interp/define.boot (doIt): Tidy conditional case. * boot/tokens.boot: 'fourth' is a now a builtin function. diff --git a/src/interp/i-coerfn.boot b/src/interp/i-coerfn.boot index fa8eaeb6..1dd78d14 100644 --- a/src/interp/i-coerfn.boot +++ b/src/interp/i-coerfn.boot @@ -431,9 +431,12 @@ Expr2Up(u,source is [Expr,S], target is [.,var,T]) == u = '_$fromCoerceable_$ => canCoerce(source, T) kernelFunc := getFunctionFromDomain("kernels", source, [source]) kernelDom := ['Kernel, source] - nameFunc := getFunctionFromDomain("name", kernelDom, [kernelDom]) + operatorFunc := getFunctionFromDomain("operator",kernelDom,[kernelDom]) + bopDom := ["BasicOperator"] + nameFunc := getFunctionFromDomain("name", bopDom, [bopDom]) kernels := SPADCALL(u,kernelFunc) - v1 := [SPADCALL(kernel, nameFunc) for kernel in kernels] + v1 := [SPADCALL(SPADCALL(kernel, operatorFunc),nameFunc) + for kernel in kernels] not member(var, v1) => coercionFailure() |