#lang eopl
(define (expo base n )
(cond( (or (= base 1) (= n 0) ) 1)
(else ( (* base (expo(base (- n 1))) ) ) )))
-> (enter! "expo.rkt")
"expo.rkt"> (expo (2 1) )
; application: not a procedure;
; expected a procedure that can be applied to arguments
; given: 2
; [,bt for context]
我正在尝试创建一个简单的递归求幂,但我得到了上面的错误。代码是不言自明的。我是球拍编程的新手。我一直在阅读手册,但找不到我的错误。据说,它显示错误是因为我的函数返回的是 void 而不是过程,但我不明白为什么它会返回 void。我返回 1 或计算。请帮忙 :/