Поисковая система www.qwate.ru

На главную портала | Словарь веб-терминов | Статистика запросов | Новости Интернет индустрии

Новости Интернет индустрии

Haskell / Комбинатор неподвижной точки

30.12.2009 17:11
Когда мне впервые задали вопрос о том может ли существовать функция вида Func<Func<T,T>,T> без использования конструкций вида default(T) он поверг меня в глубокий когнитивный диссонанс.
Как может существовать функция у которой неоткуда взять значения? Об очевидном варианте
T Fix<T>(Func<T,T> func){
   return func(Fix(func));
}
я не мог даже подумать. Разве возможно делать такие функции? Она будет вызываться бесконечно и не даст результата. В языках типа C# такая конструкция и правда вызовет зацикливание, но вполне может работать в языках вроде питона или хаскеля. Сейчас будет немного кода на Haskell, надеюсь синтаксис будет более-менее понятен всем.
Читать дальше →


По данным: http://habrahabr.ru/blogs/Haskell/79713/

Назад в содержание