[bitc-dev] monads
Jonathan S. Shapiro
shap at eros-os.com
Tue Mar 25 16:33:40 EDT 2008
So to summarize: the hard part is laziness. I concur, and I have
absolutely no plans to consider making BitC a lazy language.
Another issue is that we might need to move to rank-2 polymorphism,
which is a jump that I would prefer not to take.
On Tue, 2008-03-25 at 13:59 -0500, James Graves wrote:
> I am not a Haskell expert, but I do have several comments.
>
> 1) Monads have been added onto other languages. Particularly functional
> languages like Ocaml. So it may be possible to add if later if desired.
> Though it can be an advantage getting this in early the programming
> language lifecycle, so it becomes standard.
>
> 2) I didn't think the coding style of a typical Haskell program matched
> the style encouraged by BitC. I'm talking about stuff like currying,
> which is commonly used.
>
> 3) I'd think that translating lazy and pure code to strict would be
> difficult in many cases. More like writing completely new code.
>
> 4) Monads are useful when it comes to analysis of program code, formally
> or informally. Their use, especially in Haskell, forces the programmer
> to directly and explicitly reason about mutable state. It is "all right
> there" in terms of seeing who is changing what. There are no hidden
> little side effects in an innocuous function named
> "retrieve_calculated_result", for example.
>
> James
> _______________________________________________
> bitc-dev mailing list
> bitc-dev at coyotos.org
> http://www.coyotos.org/mailman/listinfo/bitc-dev
More information about the bitc-dev
mailing list