Greetings all,
This message is a sort of a poll to find out how much interest the community
has in an implementation of rebindable syntax for monads and arrows. You can
send your answers directly to me (sabry ... indiana edu) and I will summarize
to the list if appropriate.
An example using monad
**
*** Early registration rates expire 25 August 2004 ***
**
The 2004 International Conference on Functional Programming (ICFP)
Snowbird,
The 2004 International Conference on Functional Programming (ICFP)
Snowbird, Utah
September 19-22, 2004
Call for Participation
*
*** Early regis
The 2004 ICFP Poster Session
http://abstract.cs.washington.edu/~djg/icfp-poster.html
Part of the 2004 International Conference on Functional Programming
http://www.cs.indiana.edu/icfp04/
The 2004 International Conference on Functional Programming (ICFP) will
include a poster sess
Kevin S. Millikin <[EMAIL PROTECTED]> wrote:
> Oh, sure. I didn't mean to quibble with the idea that continuations
> are computational effects. Just wanted to point out that (I think) you
> can't macro express mutation with call/cc, unless you've already got
> mutation anyway.
That's right:
> Another approach to value recursion was recently given by Sabry and Moggi
> in their latest FICS paper: They have an mfix-like operator for
> continuations there, but it doesn't satisfy left-shrinking either.
The paper in question is available at:
http://www.cs.indiana.edu/~sabry/papers/val
Hi,
I believe this can be done with enough type hacking but I am not sure
how...
Consider the use existentials to implement a list of composable
functions using something like:
data F a b =
forall c. PushF (a -> c) (F c b)
| Bottom (a -> b)
For example:
f1 :: Char
> [EMAIL PROTECTED] (Marcin 'Qrczak' Kowalczyk)
> I'm curious how the generic translation into mfix could look like if
> everything is visible everywhere ...
The implementation of recursive definitions when the right-hand sides
have computational effects is ancient (dates back to at least Landin'
I don't have the paper in front of me but I am familiar with the idea ...
Given the definition:
f v = runST ( newVar v 'thenST' \w ->
readVar w)
Let's confirm that f :: (MutVar s a) -> (MutVar s a).
Let v be of type (MutVar s a), then:
newVar v :: ST s' (MutVar s' (MutVar s a)
> Is this true in practice? That is, are there programs which have
> different asymptotic running times when compiled under ghc or hbc
> than when running under Hugs?
I haven't tried in ghc, hbc, and Hugs specifically but it is a
possible scenario. Consider:
max [] = 0
max(x:xs) = if (x > (max
> One of the wonderful things about functional languages is that they
> do not prescribe the order of evaluation. To achieve the effect you
> want would require us to completely prescribe that order, with very
> bad effects on efficiency. For example, consider
> ...
> But if we are required to e
11 matches
Mail list logo