I wrote a a program that calculates the volume of cylinders using named functions and un-named functions, however, i'm having trouble doing the same using the let-form in scheme.

here's my program although it doesn't work

(define main6(lambda ()
              (let (
                     (volumec6 (lambda (d h)
                                 (let ( pi (3.14159265))
                                 (* h(* (* (/ d 2)(/ d 2)) 3.14)))

it gives me this error
let: bad syntax in: (let ((volumec6 (lambda (d h) (let (pi (3.14159265)) (* h (* (* (/ d 2) (/ d 2)) 3.14)))))))

9 Years
Discussion Span
Last Post by azimuth0

It looks as though you're trying to write a function that returns a function, which I'm sure is not what you intended. Also, the LET form takes either an atom or a two-element list of atoms. What's the matter with just:

(define (volumec6 d h)
  (let ((pi 3.14159265))
    (* h pi (* (/ d 2) (/ d 2)))))
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.