Date: 2013-04-19 02:18 am (UTC)
(1) The Habit language introduces new keywords if<- and case<- which do exactly what you want about getting rid of intermediate names there. I'm not sure why it's been so hard to get this backported into Haskell...

Maybe, but I don't want different syntax for it. That's clunky, unintuitive, and counter to my accessibility goal. I'm in favor of having syntactic cruft when it keeps you from doing something silly, but this is not one of those situations.

Unfortunately, of course, having a first-class effect system means you need to bake in certain effects as part of the language (IO, memory regions,...) whereas others remain second-class (lists as nondeterminism, Maybe/Either as fallible computations,...)

This actually sounds desirable. I am mostly thinking of effects in terms of RWS and IO; I'm not sure how well my approach generalizes to other things. Hopefully it works with at lest Cont, but I really need to look into monad transformers and how they compose. Maybe also some kind of error thing; I really need to investigate Bob's claim that exceptions are a comonad rather than a monad. I probably do want to have some kind of ML-like exception mechanism/extensible type(s), if possible.

Do you have a reference to Oleg's and David MacQueen's rants? They sound interesting.
From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

chooseyourownlogic

April 2013

S M T W T F S
 123456
78910111213
14151617 181920
21222324252627
282930    

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 21st, 2017 03:11 am
Powered by Dreamwidth Studios