Nemerle : взаимная видимость локальных функций
От: chudo19  
Дата: 18.09.06 10:31
Оценка:
Где то тут был пример как организовать взаимную видимосnm для локальных функций.
Ткните носом плиз.

30.01.07 18:17: Перенесено модератором из 'Декларативное программирование' — IT
Re: Nemerle : взаимная видимость локальных функций
От: ie Россия http://ziez.blogspot.com/
Дата: 18.09.06 10:50
Оценка: +1
Здравствуйте, chudo19, Вы писали:

C>Где то тут был пример как организовать взаимную видимосnm для локальных функций.

C>Ткните носом плиз.

def f(a) { g(a) }
and g(a) { f(a) }

?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Превратим окружающую нас среду в воскресенье.
Re: Nemerle : взаимная видимость локальных функций
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.09.06 11:02
Оценка: +1
Здравствуйте, chudo19, Вы писали:

C>Где то тут был пример как организовать взаимную видимосnm для локальных функций.

C>Ткните носом плиз.

Ссылку тоже не помню, но суть запомнил:
using System.Console;

def f1()
{
  f2()
}
and f2()
{
  WriteLine("f2()")
}

f1();


В принципе можно и явно CPS использовать, передавая функцию f2 в качестве параметра.

using System.Console;

def f1(f2)
{
  f2()
}

def f2()
{
  WriteLine("f2()")
}

f1(f2);
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Nemerle : взаимная видимость локальных функций
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 18.09.06 11:29
Оценка: +1 :)
VladD2,

VD>using System.Console;

VD>def f1() { f2() }
VD>and f2() { WriteLine("f2()") }
VD>f1();


Окамльская фича:

let rec even n =
  match n with
    0 -> true
  | x -> odd (x-1)
and odd n =
  match n with
    0 -> false
  | x -> even (x-1)
  ;;
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re: Nemerle : взаимная видимость локальных функций
От: chudo19  
Дата: 18.09.06 12:26
Оценка:
Большое спасибо.
Re[3]: Nemerle : взаимная видимость локальных функций
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.09.06 21:04
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Окамльская фича:


Не удивительно. В Немерле многое из него потырили. Вот только без обяснения такое не понять. По крайней мере я когда нарвался в коде компилятора на подобный код был в ступоре.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.