Где то тут был пример как организовать взаимную видимосnm для локальных функций.
Ткните носом плиз.
30.01.07 18:17: Перенесено модератором из 'Декларативное программирование' — IT
Здравствуйте, chudo19, Вы писали:
C>Где то тут был пример как организовать взаимную видимосnm для локальных функций.
C>Ткните носом плиз.
def f(a) { g(a) }
and g(a) { f(a) }
?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Здравствуйте, 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>>
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)
;;
Здравствуйте, Lazy Cjow Rhrr, Вы писали:
LCR>Окамльская фича:
Не удивительно. В Немерле многое из него потырили. Вот только без обяснения такое не понять. По крайней мере я когда нарвался в коде компилятора на подобный код был в ступоре.
... << RSDN@Home 1.2.0 alpha rev. 637>>