Size: a a a

Rust — русскоговорящее сообществo

2020 September 05

YB

Yevhenii Babichenko in Rust — русскоговорящее сообществo
Никто ведь не запрещает в 2020 году писать на С99
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Yevhenii Babichenko
Никто ведь не запрещает в 2020 году писать на С99
MSVC
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Alexander Tchitchigin
Уверен, что такие есть.
Как насчёт 2006, когда Rust начали разрабатывать?
источник

E

Eugene in Rust — русскоговорящее сообществo
а есть ли какой-либо haskell to rust translator ?
то есть haskell-код переводить в rust-код
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Eugene
а есть ли какой-либо haskell to rust translator ?
то есть haskell-код переводить в rust-код
Как ты это себе представляешь?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Это очень разные языки
У них разная парадигма, разное управление памятью, разное всё
источник

YB

Yevhenii Babichenko in Rust — русскоговорящее сообществo
Не использовать MSVC?) Мне понятна мотивация не вносить в спецификацию языка ломающие изменения, но не очень понятна мотивация замораживать развитие языка, на котором в любой живой программе юзают прагмы из его единственного компилятора
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Eugene
а есть ли какой-либо haskell to rust translator ?
то есть haskell-код переводить в rust-код
Можно попробовать скрестить GHC parser и corrode
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Какой-нибудь C можно автоматически переводить в Rust без особых проблем. Это делают.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Можно, наверное, компилировать Haskell в C, а C переводить в Rust, но получившийся код не будет читаем
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Но если победить GC можно, то с типами застрять можно конкретно
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Бесполезное, имхо, занятие
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Ну кстати да, библиотеки для GC есть, и их функционала должно хватить.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Haskell и Rust просто на принципиальном уровне разные
Rust, если продраться через тонну синтаксического сахара, тупо последовательно делает то, что ты написал
Haskell строит граф происходящего и потом выполняет это в неопределённом порядке магическим путём
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
> тупо последовательно делает то, что ты написал
ну он последовательно исполняет сайд-эффекты.
Все остальное по идее может как угодно переставляться.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Хаскель я не знаю, но вряд ли у него есть право менять местами ввод-вывод например.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Вот по крайней что в стандарте C++ написано:
The semantic descriptions in this document define a parameterized nondeterministic abstract machine. Thisdocument places no requirement on the structure of conforming implementations. In particular, they neednot copy or emulate the structure of the abstract machine. Rather, conforming implementations are requiredto emulate (only) the observable behavior of the abstract machine as explained below.
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Проблема в том что хаскель это делает в рантайме
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Блин, какие же костыли:
The least requirements on a conforming implementation are:
—(6.1)Accesses through volatile glvalues are evaluated strictly according to the rules of the abstract machine.

—(6.2)At program termination, all data written into files shall be identical to one of the possible results that execution of the program according to the abstract semantics would have produced.

—(6.3)The input and output dynamics of interactive devices shall take place in such a fashion that prompting output is actually delivered before a program waits for input. What constitutes an interactive device is implementation-defined.
источник

JG

JeisonWi Garrison in Rust — русскоговорящее сообществo
Mikail Bagishov
Блин, какие же костыли:
The least requirements on a conforming implementation are:
—(6.1)Accesses through volatile glvalues are evaluated strictly according to the rules of the abstract machine.

—(6.2)At program termination, all data written into files shall be identical to one of the possible results that execution of the program according to the abstract semantics would have produced.

—(6.3)The input and output dynamics of interactive devices shall take place in such a fashion that prompting output is actually delivered before a program waits for input. What constitutes an interactive device is implementation-defined.
Это откуда?
источник