Size: a a a

Compiler Development

2020 February 27

Т8

Т-34 85 in Compiler Development
я бы хотел углубиться, но не в этом чате
источник

Т8

Т-34 85 in Compiler Development
Антон
Dynamic вообще не tagged union
Но на практике можно заменить
источник

А

Антон in Compiler Development
Т-34 85
Но на практике можно заменить
так же как и функции делегатами
источник

А

Антон in Compiler Development
т.е. очень и очень плохая замена
источник

А

Антон in Compiler Development
медленная и не предсказуемая
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
Нет, это OCaml--. Нет модулей и функторов, нет открытых юнионов, нет структурной подтипизации объектов, нет экзистенциальных типов и многих других "мелочей". Макросов тоже нет.
Ну так F# это не OCaml.NET, а самостоятельный язык. Это все можно было бы реализовать, но ценой интероперабельности с остальным CLR-кодом - и вопрос, кому фшарп был бы в таком виде нужен
источник

DS

Doge Shibu in Compiler Development
Andrei Kurosh
Ну так F# это не OCaml.NET, а самостоятельный язык. Это все можно было бы реализовать, но ценой интероперабельности с остальным CLR-кодом - и вопрос, кому фшарп был бы в таком виде нужен
Ну я бы не сказал, что F# и сейчас особо дружелюбен в плане интеропа
источник

DS

Doge Shibu in Compiler Development
В плане вызова F# кода из C#
источник

E

EgorBo in Compiler Development
@maxgraey а напомни плз, -x и x*-1 это разные вещи во флотах?
источник

E

EgorBo in Compiler Development
а то плюсы игнорят, а я помню вроде уже ты говорил
источник

E

EgorBo in Compiler Development
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
Ну так F# это не OCaml.NET, а самостоятельный язык. Это все можно было бы реализовать, но ценой интероперабельности с остальным CLR-кодом - и вопрос, кому фшарп был бы в таком виде нужен
Так в существующем виде F# - чуть болеше, чем синтаксический сахар над C#, и тоже мало кому нужен. 🤷‍♀️
источник

M

MaxGraey in Compiler Development
EgorBo
@maxgraey а напомни плз, -x и x*-1 это разные вещи во флотах?
да, это разные вещи но llvm и gcc этим пренебрегают что считаю неправильным
источник

AT

Alexander Tchitchigin in Compiler Development
Doge Shibu
В плане вызова F# кода из C#
Не заметил никаких проблем. Интероп как раз почти что вообще бесшовный - тут никаких вопросов, очень удобно.
источник

AT

Alexander Tchitchigin in Compiler Development
Alexander Tchitchigin
В C# vs F# vs OCaml есть :?
- tagged union
- возможность использовать объекты без классов
- автоматический вывод типов для переменных
- приоритет на программирование на иммутабельных данных
- компиляция в standalone без необходимости тащить на клиента пару гигов рантайма
lex/yacc из коробки в базовой поставке

Я не в смысле споров, просто интересуюсь стоит ли связываться с тем же шарпом. Ни один не видел вживую, только камл чутьчуть потыркал.
- tagged union - OCaml, F#
- возможность использовать объекты без классов - C#, OCaml?
- автоматический вывод типов для переменных - OCaml, F#, C#
- приоритет на программирование на иммутабельных данных - OCaml, F#
- компиляция в standalone без необходимости тащить на клиента пару гигов рантайма - OCaml, C#, F# (.NET Core ни на какие пару гигов не тянет, есть AOT как я слышал)
- lex/yacc из коробки в базовой поставке - F#, OCaml
источник

E

EgorBo in Compiler Development
MaxGraey
да, это разные вещи но llvm и gcc этим пренебрегают что считаю неправильным
ага спс
источник

DS

Doge Shibu in Compiler Development
Alexander Tchitchigin
Не заметил никаких проблем. Интероп как раз почти что вообще бесшовный - тут никаких вопросов, очень удобно.
Смотря что использовать: с фшарповыми атд работать из шарпа не очень удобно.

F# quotations и C# expression'ы друг с другом из коробки не дружат, что очевидно.

SRTP и тайп-провайдеры очевидно из C# не вызвать.
источник

E

EgorBo in Compiler Development
> компиляция в standalone без необходимости тащить на клиента пару гигов рантайма

АОТ тут не причем, можно без АОТ рантайм и джит тащить с собой в хеллоу ворлд, 9 мб в сумме (5 в зипаре)
да много, но это джит и рантайм динамическими библиотеками, из них код не пострипаешь.
источник

RE

Roman Elizarov in Compiler Development
MaxGraey
да, это разные вещи но llvm и gcc этим пренебрегают что считаю неправильным
Пример?
источник

M

MaxGraey in Compiler Development
Roman Elizarov
Пример?
там вроде связано с NaN и сигнальным регистром
источник