Как стать автором
Обновить

Превращая FunC в FunCtional с помощью Haskell: как Serokell победили в Telegram Blockchain Competition

Время на прочтение 9 мин
Количество просмотров 5.5K
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 6

Комментарии 6

Fift — универсальный стековый язык программирования, напоминающий Forth. Его супер-способность — возможность взаимодействовать с TVM.

Такой суперспособностью обладает софт сделанный с использованием возможностей Форт, если разработчик не закрыл специально данную опцию.

Для примера nnCron — это компактный (900k), но мощный планировщик и менеджер автоматизации.. по определению имеет такую возможность т.к. код данной программы реализован на Форт (SP-Forth — базовая Форт-система русскоязычного Форт сообщества, а также принятая и американской FIG)

P.S. Книга по пониманию возможностей Форт языка ЛЕО БРОУДИ «СПОСОБ МЫШЛЕНИЯ — ФОРТ ЯЗЫК И ФИЛОСОФИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧ» (нестареющая литература из далёкого 1984 года)
… есть и другие изданные книги по Форт (Forth) на русском языке.

Форум русcкоязычного сообщества пользователей языка Форт

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

Реклама языка Forth и его сообщества.
В статье указана однa «суперспособность» языка Fifth присутствующая в данном проекте, но не раскрыты (и вероятно не задействованы другие мощные возможности Fifth языка отнесённого к Forth), хотя и дана ссылка на Википедию и указано, что авторам проекта было трудно реализовывать базовый код в рамках использования стека Fifth

P.S. На что и дан был пример, где эта и другие способности Форт языка реализованы в полной мере до реализации своего штатного DSL не менее эффективно в сравнении с Haskell + книга где некоторые нетривиальные техники использования Форт описаны достаточно подробно.

Интересно с функциональной точки зрения услышать развёрнутое мнение сравнения возможностей Haskell и Factor языка отнесённого к группе конкатенативных, но использующим и функциональную парадигму.

Как гарантировать что пользователи перевели друг другу деньги за пределами блокчейна?
1. Пользователи обмениваются двумя цифрами
2. Можно было и одной, но лучше двумя
3. ???
4. Profit!
Миллениалы изобрели долговые расписки?

Ладно, если без шуток, то молодцы, что победили, тем более что на Хаскелле. Но на мой взгляд статью сложно читать, потому что она странно структурирована. Мне кажется, что в будущем статьи такого рода лучше писать чуть-чуть иначе.

Введение — описать конкурс, написать сумму которую вы выиграли (это же не зарплата — информация всё равно доступна публично), упомянуть Хаскель. В общем, создать впечатление у читателя, что сейчас будет инструкция по загребанию денег функциональной лопатой на блокчейне, а не реклама вашей компании, которую если и упомянуть, то один раз и мимоходом.

Далее — описать TON со всеми его языками, расписать что/почему вы использовали Nix (опять-таки — без лишнего упоминания компании). В описании первого решения (неспециалистам по блокчейну) из этой статьи не очевидно что именно вы сделали, и как оно работает, но понятно что стековые языки вам не очень зашли, а ещё вы написали спецификацию на 400 строк текста.

То же самое и со вторым решением — пришлось искать что такое «мультиподпись» что бы понять, в чем вообще смысл того, что вы сделали. Да, листинг кода — это хорошо, заголовок статьи все-таки именно это и обещал.

Подводя итоги можно пожаловаться на странную документацию у TONа, сравнить свои результаты с другими, отметить что у вас более формальное и корректное решение.

Ну и под конец уже заключение — там уже самое место что бы описывать что у вас за компания, почему вы пошли на конкурс, как себя чувствовали конкурсанты, и давать все ссылки на ваши блоги и статьи.

Для сравнения — из статьи на blockchainwire стало более понятно что конкретно вы сделали всего за два абзаца. Здесь же цель статьи и посыл размазывается по тексту и теряется. Вы хотели по рекламировать себя? Похвастаться? Вы хотели порекомендовать инструментарий вашей команды? Или посоветовать всем пересесть на Nix? Или она ориентирована только на тех, кто разбирается в блокчейне и готов последовать по каждой ссылке чтобы читать документацию и я вообще зря сюда влез? В общем, подобные статьи, особенно содержащие столько отсылок к компании должны быть как код на Хаскелле. Логично структурированные, и где каждая часть — чистая и выразительная. Но, опять-таки, это всё — только моё мнение, а сам я и на конкурсах такого уровня не побеждал, и на хабре статьями не делился.

Спасибо за такой развернутый комментарий! Статья действительно получилась несколько вырванной из контекста (это связано с тем, что основная ее часть — перевод статьи из нашего блога, который ориентирован на тех, кто хорошо знаком с компанией и ее принципами). Но я согласен, было бы лучше абстрагироваться от оригинала и написать новый пост со своей собственной структурой, более подходящей для Хабра. В следующий раз так и поступим: )

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Публикации

Истории