Re: [Haskell] Re: [Haskell-cafe] SimonPJ and Tim Harris explain STM - video

2006-11-24 Thread C.M.Brown
Hi,

I got this working on Mac OS X. I had to download media player 9:

http://www.microsoft.com/windows/windowsmedia/software/Macintosh/osx/default.aspx

This contains the WMV3 codec.

Cheers,
Chris.


On Fri, 24 Nov 2006, James William Pye wrote:

> On Fri, Nov 24, 2006 at 10:26:38AM +0100, Tomasz Zielonka wrote:
> > Does anybody know how to watch this on Linux? I would prefer to simply
> > download the movie file and use MPlayer on that, but I failed.
> >
> > . or on Mac OS X (haven't tried yet)
>
> The latest mplayer works for me on FreeBSD/amd64 (1.0rc1, iirc).
> ___
> Haskell mailing list
> Haskell@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
>
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] refactoring, catamorphism, termination of programs

2007-05-02 Thread C.M.Brown
Hi Jahannes,

> I don't want to make a big research project out of this,
> rather I think of quickly putting together a prototype
> that proves the concept.
>
> I figure it could be distilled from some existing refactoring suite,
> or be manufactured from existing building blocks.

Well, HaRe -- the Haskell refactorer -- offers a full API for building
transformations and refactorings for the full Haskell 98 standard.

http://www.cs.kent.ac.uk/projects/refactor-fp/hare.html

A new release will hopefully be released very soon (even in the next
few days) which will be compatible with ghc-6.6.1.
The releases on our refactoring page currently only work with GHC-6.4.*.

> E.g. Language.Haskell.* from the ghc libs,
> and perhaps "Typing Haskell in Haskell"?
> http://citeseer.ist.psu.edu/424440.html

HaRe also uses the GHC API and type checker, with parts of the HaRe API
extended to retrieve type information from GHC on abritrary expressions
and functions.

Kind regards,
Chris.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] What makes a functional language functional?

2007-08-09 Thread C.M.Brown
Hi,

Is lazy evaluation necessary for a functional language to remain
functional?

The reason I ask is that because it violates beta-reduction, and also
referential transparency (I think). In haskell, we can transform:

g x + f x

into:

f x + g x

as both f and g do not change the parameter x.

If g always evaluates to a normal form (in both a lazy and a strict world)

g x = x

but f is defined thus:

f x = (\y -> if x /= 0 then x else y/x)

And we apply f to 0 (1/0) then f becomes _|_

therefore:

0 + _|_ /= _|_ + 0

Or, does this just become:

_|_ = _|_ ?

Or, am I missing something totally obvious?

Regards,
Chris.


___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] What makes a functional language functional?

2007-08-09 Thread C.M.Brown
Hi Jeremy,

Thanks for this very informative answer! This has certainly helped to
clear up a number of points.

Thanks,
Chris.


> Many arguments have been had about what it means for a language to be
> "functional", so that's probably not a productive line of discussion.
> (ICFP carefully doesn't stipulate language choice for the programming
> contest, for example.)
>
> Both eager and lazy evaluation can be "pure", providing referential
> transparency: all that matters of an expression is its value, and a
> subexpression may be substituted with a different one having the same
> value without changing the meaning of the surrounding context. This
> fails on languages supporting side effects.
>
> Lazy evaluation is necessary, however, in order to treat a function
> definition as a (universally applicable) equation. In Haskell, I can
> define
>
>  > three x = 3
>
> and then infer, for any expression x, that the equation
>
>three x = 3
>
> holds. With eager evaluation, that's no longer the case: if x denotes
> a non-terminating or error-raising computation, then
>
>three x /= 3
>
> The equation then requires a side condition:
>
>three x = 3,  for well-defined x
>
> which complicates equational reasoning, but it doesn't break
> referential transparency.
>
> Jeremy
>
>
> On 9 Aug 2007, at 10:30, C.M.Brown wrote:
>
> > Hi,
> >
> > Is lazy evaluation necessary for a functional language to remain
> > functional?
> >
> > The reason I ask is that because it violates beta-reduction, and also
> > referential transparency (I think). In haskell, we can transform:
> >
> > g x + f x
> >
> > into:
> >
> > f x + g x
> >
> > as both f and g do not change the parameter x.
> >
> > If g always evaluates to a normal form (in both a lazy and a strict
> > world)
> >
> > g x = x
> >
> > but f is defined thus:
> >
> > f x = (\y -> if x /= 0 then x else y/x)
> >
> > And we apply f to 0 (1/0) then f becomes _|_
> >
> > therefore:
> >
> > 0 + _|_ /= _|_ + 0
> >
> > Or, does this just become:
> >
> > _|_ = _|_ ?
> >
> > Or, am I missing something totally obvious?
> >
> > Regards,
> > Chris.
> >
> >
> > ___
> > Haskell mailing list
> > Haskell@haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell
>
>
>
> [EMAIL PROTECTED]
>Oxford University Computing Laboratory,TEL: +44 1865 283508
>Wolfson Building, Parks Road,  FAX: +44 1865 283531
>Oxford OX1 3QD, UK.
>URL: http://www.comlab.ox.ac.uk/oucl/people/jeremy.gibbons.html
>
>
>
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell