[Haskell-cafe] Channel9 Interview: Software Composability and
the Future of Languages
Bulat Ziganshin
bulat.ziganshin at gmail.com
Wed Jan 31 11:46:15 EST 2007
Hello Tomasz,
Wednesday, January 31, 2007, 12:01:16 PM, you wrote:
>> there are also many other similar issues, such as lack of good syntax
>> for "for", "while", "break" and other well-known statements,
> On the other hand you have an ability to define your own control
> structures.
i have a lot, but their features are limited, both in terms of
automatic lifting and overall syntax. let's consider
while (hGetBuf h buf bufsize == bufsize)
crc := updateCrc crc buf bufsize
break if crc==0
print crc
how this can be expressed in Haskell, without losing clarity?
>> inability to use "return" inside of block and so on
> "inability" is an exaggeration - you can use the ContT monad
> transformer, which even allows you to choose how "high" you
> want to jump. But you probably already know this and just want to point
> that it is cumbersome?
don't know and don't want to use such a hard way. there is a simpler
solution, but it still requires to write more boilerplate code than C:
res <- doSomething
if isLeft res then return$ fromLeft res else do
let (Right x) = res
...
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe
mailing list