|
|
On 04/03/2015 09:45 AM, scott wrote:
> An interesting read, so it turns out you are actually quite good at C#
> programming then :-) I bet you not many applicants for *any* programming
> jobs could manage what you've described here.
As an aside... If I wrote something like
True && x = x
False && x = False
it looks almost like magic. Writing it out as
public static Bool FN_And(Thunk<Bool> a, Thunk<bool> b)
{
var left = a.Execute();
if (left)
{
return b;
}
else
{
return new Thunk<Bool>(false);
}
}
is a damned-site more verbose, but arguably it's more explicit what the
hell the code actually *does*.
Or am I just imagining it?
One of the things Warp complained about a lot was Haskell's execution
model being utterly incomprehensible. Does spelling it all out
explicitly like this actually make it any clearer what the machine is
doing? Or is it just so much extra signal noise?
(The *other* thing Warp complained about was being unable to mentally
parse Haskell's syntax. Which I guess is valid... Making a parser that
handles 70% of Haskell's syntax is easy. Making one that handles 100% of
it is *really* hard. Even GHC deviates from the official language
specification slightly. The specification is ambiguous in a few obscure
places...)
Post a reply to this message
|
|