Question about define syntax
I'm new to programming, working my way through SICP, and loving it. Though I'm a bit confused about scheme's define syntax, mainly, what's the difference between:

    (define foo bar)
and:

    (define (foo) bar)

Is the first one just assigns bar to foo and execute it? While the second assigns and waits for the call?

if so how would you go about calling the function inside another function, say within an if statement,

    (if (foo) ...)
or

    (if foo ...)


Question about define syntax
===

I'm new to programming, working my way through SICP, and loving it. Though I'm a bit confused about scheme's define syntax, mainly, what's the difference between:

    (define foo bar)
and:

    (define (foo) bar)

Is the first one just assigns bar to foo and execute it? While the second assigns and waits for the call?

if so how would you go about calling the function inside another function, say within an if statement,

    (if (foo) ...)
or

    (if foo ...)

