Size: a a a

2020 December 28

g

gsomix in F# Chat
Дмитрий Башинский
подозреваю что это можно выразить как то через map + fold?
Можно. Но зачем?
источник

VS

Vasily Shapenko in F# Chat
В дебаге добавляется nop
источник

VS

Vasily Shapenko in F# Chat
И jit не делает tail call optimization
источник

VS

Vasily Shapenko in F# Chat
Вроде пару лет назад разбирали кейс
источник

g

gsomix in F# Chat
Vasily Shapenko
В дебаге добавляется nop
В дебаге не генерируется tail.
источник

g

gsomix in F# Chat
@vl_za Можно настроить?
источник

g

gsomix in F# Chat
А есть где-нибудь список опций компилятора, которые можно указать в файле проекта?
источник

VS

Vasily Shapenko in F# Chat
gsomix
В дебаге не генерируется tail.
Ну из-за nop скорее всего
источник

VS

Vasily Shapenko in F# Chat
Компилятор не добавляет
источник

IC

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

IC

Ilya L Che in F# Chat
А тут жалуются, что даже в дебаге оптимизация есть...
https://github.com/dotnet/fsharp/issues/6984
источник

VZ

Vlad Zaa in F# Chat
По идее можно ему —tailcals сказать. Но в компиляторе есть логика, которая убирает эмиты тейлколлов, которые считает лишними.
Вот тут можно поковырять, я завтра гляну сам, я только знаю о наличии этой фичи, не смотрел ещё как работает:

https://github.com/dotnet/fsharp/search?q=MakesNoCriticalTailcalls&unscoped_q=MakesNoCriticalTailcalls

https://github.com/dotnet/fsharp/blob/b6e798ebb4a7d54c6bd7f97c88270e6f6d016036/src/fsharp/IlxGen.fs#L3356

https://github.com/dotnet/fsharp/search?q=SetMakesNoCriticalTailcalls&unscoped_q=SetMakesNoCriticalTailcalls

Из объяснений Дона помню, что например в случае, вызова виртуальных методов.
источник

g

gsomix in F# Chat
Vlad Zaa
По идее можно ему —tailcals сказать. Но в компиляторе есть логика, которая убирает эмиты тейлколлов, которые считает лишними.
Вот тут можно поковырять, я завтра гляну сам, я только знаю о наличии этой фичи, не смотрел ещё как работает:

https://github.com/dotnet/fsharp/search?q=MakesNoCriticalTailcalls&unscoped_q=MakesNoCriticalTailcalls

https://github.com/dotnet/fsharp/blob/b6e798ebb4a7d54c6bd7f97c88270e6f6d016036/src/fsharp/IlxGen.fs#L3356

https://github.com/dotnet/fsharp/search?q=SetMakesNoCriticalTailcalls&unscoped_q=SetMakesNoCriticalTailcalls

Из объяснений Дона помню, что например в случае, вызова виртуальных методов.
Интересно!
источник

АП

Артем Просвирнин... in F# Chat
Всем привет. Жму и получаю "Uncaught TypeError: warningsBox.clear is not a function"
источник

VS

Vladimir Shchur in F# Chat
это джаваскриптовая ошибка)
источник

VS

Vladimir Shchur in F# Chat
вот тут есть целый список где попробовать https://fsharp.org/use/browser/
источник

АП

Артем Просвирнин... in F# Chat
Я просто рассказал о проблеме на сайте) Т.е. никто фиксить не будет?)
источник

VS

Vladimir Shchur in F# Chat
источник

RM

Roman Melnikov in F# Chat
Артем Просвирнин
Всем привет. Жму и получаю "Uncaught TypeError: warningsBox.clear is not a function"
Спасибо!
источник

RM

Roman Melnikov in F# Chat
Спасибо
источник