Search code examples
schemelispracketsicp

SICP - Procedures versus Process


What's the conceptual difference between a procedure and a process?

If the answers depends on the language, I am thinking about this while studying the SICP book which uses lisp (scheme).


Solution

  • In the context of SICP:

    • Procedure is the description (if you want, a recipe) of the process.
    • Process is the result (in a broad meaning, not just a returned value) of applying a procedure to arguments: all the contexts that are set up, variables with defined or set values, all the computation that will take place, etc. None of this happens in the procedure itself.

    Another analogy: procedure is a blueprint, a schematic of the building for example, process is actual building construction.