Thanks, Campbell. It does works! (define (eps-func p) > (let* ((lattice->cartesian p) > (x (vector3-x p)) > (y (vector3-y p)) > (z (vector3-z p))) > (if (> (+ (* (sin (* 2 pi x)) (cos (* 2 pi y))) > (* (sin (* 2 pi y)) (cos (* 2 pi z))) > (* (sin (* 2 pi z)) (cos (* 2 pi x)))) > isoval) > (make dielectric > (epsilon epsc)) > (make dielectric > (epsilon 1)))))
One more question. The let statement syntax is (let (<binding list>) <body>) However, we put a function call first----(lattice->cartesian p)----in the binding list in the above code. Is it the correct syntax? Thanks. Regards, Simon On Thu, Jul 12, 2012 at 8:37 AM, Taylor R Campbell <campb...@mumble.net>wrote: > Date: Thu, 12 Jul 2012 08:27:11 +0800 > From: Simon Huskier <husk...@gmail.com> > > Campbell, Could you say it more directly? How should I correct my code? > > I don't know what argument you intended to pass to LATTICE->CARTESIAN, > but perhaps you should change > > (lattice->cartesian) > > to > > (lattice->cartesian p) > > Also, it looks like you mistakenly used the `f(x)' notation, rather > than `(f x)', to compute a sine below: > > (> sin(* 2 pi x y z) 0) > > That should probably be > > (> (sin (* 2 pi x y z)) 0) > > Maybe it is Guile mail list, but they are all Scheme. > > This isn't the Guile list either. It's the MIT Scheme list: > <http://www.mit-scheme.org/>. You would probably be better served -- > by reaching a wider audience -- somewhere such as comp.lang.scheme. >
_______________________________________________ MIT-Scheme-users mailing list MIT-Scheme-users@gnu.org https://lists.gnu.org/mailman/listinfo/mit-scheme-users