Size: a a a

F# Flood: Be a cheif

2021 January 29

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
покажи тогда кот, который имеешь ввиду
например вот
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
в рантайме тип будет известен и боксинга не будет
источник

A

Anatoly in F# Flood: Be a cheif
Ilya Chernoudov
как можно думать, что люди которые пишут компилятор сделают боксинг, когда его можно не делать
ну потому что фичи делают идиотски
источник

A

Anatoly in F# Flood: Be a cheif
ну и это ты считал бы их идиотами, если бы они сделали боксинг
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Anatoly
ну и это ты считал бы их идиотами, если бы они сделали боксинг
ну я всё таки не настолько плохого мнения о них
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
они же не сделали))
источник

A

Anatoly in F# Flood: Be a cheif
и параллельно, самое главное, под рукой надо всегда иметь тонну распечаток
источник

A

Anatoly in F# Flood: Be a cheif
как именно писать код, чтобы боксинга точно не было
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Anatoly
как именно писать код, чтобы боксинга точно не было
ну в целом боксинг происходит только при потере типа структуры
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
+ вызовы базовых методов object, если они не переопределены
источник

IC

Ilya L Che in F# Flood: Be a cheif
@med_igor @omgszer про котлин. trimIndent и trimMargin считаются на этапе компиляции, если это возможно.
Add intrinsics for compile-time computing trimMargin/trimIndent (github)
Optimize trimIndent and trimMargin on constant strings (youtrack)
источник

AH

Ayrat Hudaygulov in F# Flood: Be a cheif
Ilya L Che
@med_igor @omgszer про котлин. trimIndent и trimMargin считаются на этапе компиляции, если это возможно.
Add intrinsics for compile-time computing trimMargin/trimIndent (github)
Optimize trimIndent and trimMargin on constant strings (youtrack)
о, ничоси
источник

R

Roman in F# Flood: Be a cheif
Ilya Chernoudov
например вот
с женериками походу единственный случай, когда можно избежать боксинга. Не считая дак тайпинга
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
с женериками походу единственный случай, когда можно избежать боксинга. Не считая дак тайпинга
дак тайпинг ничего не решит - если у тебя потерялась информация о типе, дак тайпинг работать не будет, а если информация о типе есть - вызов метода будет без боксинга
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
с женериками походу единственный случай, когда можно избежать боксинга. Не считая дак тайпинга
вообще ты можешь избежать боксинга, если переопределишь gethascode, например
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
но боксинг начинается не когда вызывается метод интерфейса, а когда происходит каст структуры в  этот интерфейс
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
например foo(IA a) =>a.Call();
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
здесь не будет боксинга, боксинг будет в момент вызова
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Ilya Chernoudov
но боксинг начинается не когда вызывается метод интерфейса, а когда происходит каст структуры в  этот интерфейс
исключение из этого https://t.me/fsharp_flood/284472
источник

R

Roman in F# Flood: Be a cheif
я про то, что ты не сможешь вызвать без боксинга метод интерфейса кроме как через женерик метод
источник