Size: a a a

2021 January 05

Dv

Dr. Friedrich von Ne... in F# Chat
отец Григорий
Расслабьте булки. В ук берут только тех, кто уже там
што
источник

IC

Ilya L Che in F# Chat
UK
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Ugolovny Kodex?
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Я вообще не понял, как вы с туплей на эту тему свернули.
источник

IC

Ilya L Che in F# Chat
Юнитед киндом. Там выше вакансию скинули.
источник

оГ

отец Григорий... in F# Chat
Оно было выше
источник

Dv

Dr. Friedrich von Ne... in F# Chat
А, лан.
источник

оГ

отец Григорий... in F# Chat
До белочки ещё далеко!
источник

VL

Vladimir Lozhnikov in F# Chat
привет
можно в F# обойти дерево (посчитать количество узлов) с использованием хвостовой рекурсии?
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Lozhnikov
привет
можно в F# обойти дерево (посчитать количество узлов) с использованием хвостовой рекурсии?
можно
источник

AH

Ayrat Hudaygulov in F# Chat
можно даже не на фшарпе
источник

VL

Vladimir Lozhnikov in F# Chat
я вот в книге по F# 4 наткнулся на такое решение

type Tree =
   | Node of string * Tree * Tree
   | Tip of strin

let rec sizeCont tree cont =
   match tree with
   | Tip _ -> cont 1
   | Node(_, treeLeft, treeRight) ->
       sizeCont treeLeft (fun leftSize ->
           sizeCont treeRight (fun rightSize ->
               cont (leftSize + rightSize))

let size tree = sizeCont tree (fun x -> x)

и что то не могу понять, как это работает. не пояснишь?
источник

O

Ortofax in F# Chat
вместо стека продолжения кладутся в хип и передаются через аргумент
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Lozhnikov
я вот в книге по F# 4 наткнулся на такое решение

type Tree =
   | Node of string * Tree * Tree
   | Tip of strin

let rec sizeCont tree cont =
   match tree with
   | Tip _ -> cont 1
   | Node(_, treeLeft, treeRight) ->
       sizeCont treeLeft (fun leftSize ->
           sizeCont treeRight (fun rightSize ->
               cont (leftSize + rightSize))

let size tree = sizeCont tree (fun x -> x)

и что то не могу понять, как это работает. не пояснишь?
а ты скажи что именно непонятно, потому что мне неясно что неясно!
источник

I

IdiocyAcceptance in F# Chat
Ortofax
вместо стека продолжения кладутся в хип и передаются через аргумент
это не про хвостовую рекурсию)
источник

I

IdiocyAcceptance in F# Chat
Если я вообще понял что человек хотел сказать
источник

VL

Vladimir Lozhnikov in F# Chat
да, это сам принцип хвостовой рекурсии. он понятен. мне не понятна вот эта часть.

sizeCont treeLeft (fun leftSize ->
           sizeCont treeRight (fun rightSize ->
               cont (leftSize + rightSize))

то есть эта конструкция вычисляет аргумент, который передается в след кадр.
источник

VL

Vladimir Lozhnikov in F# Chat
не могу уловить сути. надо будет под дебагом видимо прогнать
источник

O

Ortofax in F# Chat
continuation passing style
источник

I

IdiocyAcceptance in F# Chat
Vladimir Lozhnikov
да, это сам принцип хвостовой рекурсии. он понятен. мне не понятна вот эта часть.

sizeCont treeLeft (fun leftSize ->
           sizeCont treeRight (fun rightSize ->
               cont (leftSize + rightSize))

то есть эта конструкция вычисляет аргумент, который передается в след кадр.
эта конструкция проходится по левой части дерева, захватывает правую, в конце суммирует их длины
источник