lomeo: (лямбда)
[personal profile] lomeo
Паттерн-матчинг в Haskell всё наворачивают.

А вот почему не сделают как в Прологе - если два идентификатора в паттерне совпадают, значит по этим позициям должны быть равные значения.

isDup (x:x:_) = True
isDup _       = False


аналогично более сложному

isDup (x:y:_) | x == y = True
isDup _                = False


И ещё! Не нравится мне, что при использовании многострочном объявлении функции приходится писать её название несколько раз.
А как было бы чудесно (объединяя оба примера)

isDup (x:x:_) = True
_     _       = False


Подчерк как повторение имени функции здесь условность, можно придумать что нибудь другое.
Это неважно.

Date: 2007-01-24 04:50 pm (UTC)
From: [identity profile] potan.livejournal.com
Прямо Рефал какой-то получается. Скоро дойдет до
isDup (x++x) = True
isDup _ = False

Date: 2007-01-24 05:08 pm (UTC)
From: [identity profile] lomeo.livejournal.com
:-)) Кстати, идея!

Profile

lomeo: (Default)
Dmitry Antonyuk

April 2024

S M T W T F S
 123456
7891011 1213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 20th, 2025 05:07 pm
Powered by Dreamwidth Studios