Имя: Пароль:
IT
 
Подскажите плз по F#
0 megabax
 
10.03.13
15:36
Пробую пример с правосторонней разверткой списка.
let a=1L;
let b=1000000L;
let list=[a..b];

let fold_right func acc list =
let rec loop list cont = //сюда мы передаем текущую функцию континуации
match list with
|[] -> cont acc //а вот и наше ключевое вычисление.
|head::tail -> loop tail (fun racc -> cont (func head racc))
loop list (fun x -> x)



let reverse = fold_right(fun _ acc -> acc + 1) 0



let sl=reverse(list);
System.Console.Write(sl);
System.Console.Read();

но поечему то вылетает с переполненеим стека, хотя такой код вреод как должне решить проблемы переполнен стека (взял тсюуда http://habrahabr.ru/post/57503/)
подскажите плз, где грабли?
1 HeroShima
 
11.03.13
20:35
Ответа не знаю. Знаю http://tool.yoihj.ru/lang/17/52 )
2 PiVa123
 
11.03.13
20:39
Ё - и тут Фа диез, откуда вы беретесь ? Из секретной лаборатории мелкомягких ?
3 HeroShima
 
11.03.13
21:11
http://tool.yoihj.ru/stmt/69 -хм... нас так долго обманывали
4 фобка
 
11.03.13
21:18
(3) опрос среди дебилов?)

Я бы использовал этот язык в качестве языка для скриптинга другой (большей) программы 10.SQL (+8) - какой "скриптинг" на скуле?) и фортран обошел вб, тоже смешно)
5 HeroShima
 
11.03.13
21:27
(4) сам на скуль там пялился) или прикололись, или имели в виду x/SQL какой-нть
6 HeroShima
 
11.03.13
21:30
или подразумевали работу с данными проги