[bitc-dev] Syntax of effect types (with request for input)

Jonathan S. Shapiro shap at eros-os.com
Wed Aug 6 11:37:14 CDT 2008


On Wed, 2008-08-06 at 12:10 -0400, Jonathan S. Shapiro wrote:
>   ([effect] fn ('argType0 .. 'argTypeN) 'returnType)

This syntax could equally well be:

  (fn [effect] ('argType0 .. 'argTypeN) 'returnType)

The motivation to put the effect first was that it reads better: pure
and impure are adjectives. Unfortunately it doesn't read very well for
things like MAP.

On reflection, I'm less and less convinced that 

> where "effect" may be... missing, meaning presumptively impure

is useful. It is much less backwards compatible than it initially
looked. The question, I think, will come down to a matter of
conciseness. If impure functions are the rule, then absence of effect
should mean impure.

Unfortunately we just don't have enough experience yet to know.

shap



More information about the bitc-dev mailing list