?

Log in

No account? Create an account
Previous Entry Share Next Entry
2016-01

Про мысли, которые внутри.

Как только удалось кратковременно отмахаться от текучки и понизить общий уровень стресса, мозг сразу же вспучило мыслями.

Сел "по горячим следам" делать редактор для полуструктурированных данных, потом выспался, перечитал код, оказалось, что для этого пришлось их лифтануть в коданные. Теперь есть редактор для коданных. Неплохо, впрочем.

Первая засада в том, что голова взрывается, если одновременно пытаться в нее пихать теорвер, теорию игр, capability-based security, ambient calculus, крипто и всякие современные системы типов. А если не одновременно - получается хуйня и "все уже сделано до нас". От экзотических нотаций в статьях тоже не легче. Блин, там же народ меряется индексом цитирования, разве не очевидно, что чем понятнее статья, тем больше ее цитировать будут?

Впрочем, да, "на себя посмотри". Вторая и главная засада в том, что я вообще не умею писать. Статьи писать, в смысле. Подозреваю, что можно уже порядочно их настрочить было. Блин, податься что ли снова в институт... Или ладно, до НГ думаю допишу уже как раз.

А в новостях тем временем пишут про войну, политику и то, как похрустывают банки...

This entry was originally posted at http://wizzard.dreamwidth.org/402619.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
fi_mihej November 14th, 2014
>>разве не очевидно, что чем понятнее статья, тем больше ее цитировать будут?

Вообще ж люди частенько используют метод "Усложняй как только можешь - за умного сойдешь". В этом и беда.

kodt_rsdn November 14th, 2014

насчёт чем понятнее, тем цитируемее - сомневаюсь. обычно же как ссылаются: "Это рвнее показал проф. НН в „О Хз применительно к евпочя [12]„..."


_oxpa_ November 14th, 2014
На самом деле, писать достаточно сложно. Особенно официальные вещи. Это в ЖЖ можно поток сознания пастить, а статью ж читать будут.
Я помню, когда работал типа начальником на письма тратил по пол дня. Потом проще пошло. А вот брат пишет за минут 40 такие шикарные официальные письма, что мне аж завидно.

Я это к чему: ты начни и найди, кто бы мог поправить. А дальше само получаться начнёт.

bvlb November 14th, 2014
а что такое редактор для коданных?

wizzard0 November 14th, 2014
Предположим, у нас есть текстовый файл.

В нём может быть просто текст, а может html. При этом он отпарсится в дерево, над которым можно проводить операции. При этом атрибут узла этого дерева может быть JS-кодом, который тоже можно отпарсить в дерево. Если рассматривать линзу парсер/сериализатор как пару (конструктор, деконструктор), то получается бесконечный ленивый граф деконструкторов, что вполне подходит к определению коданных.

Еще узел может иметь сайдэффекты, из него при каждом expand может выпадать новое значение датчика, к примеру.

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

Короче, выходит некий комбинатор ленивых "парсеров", с возможностью редактировать результат и схлопывать это дело обратно в данные, если результаты парсинга дают такую возможность.

Edited at 2014-11-14 08:21 pm (UTC)

kodt_rsdn November 14th, 2014
А оно, вообще, надо?

Если ты делаешь браузер, там воленс-ноленс каждая страничка - виртуальная машинка.
Если делаешь xslt или даже svg движок, который будет использоваться браузерами и извращенцами, - там опять виртуальная машинка. Если postscript - там виртуальная машинка просто обязана быть, поскольку извращенцами были ещё проектировщики.

Но вот для самого себя-то можно наложить ограничения на формат данных?
Сказать: так, ребята, стоп. Здесь только что-то декларативное, с фиксированной глубиной рекурсии/трассировки. Никакого эмбеддед брейнфака.

Или в техзадании уже зафиксировано, что брейнфак должен быть и будет?

wizzard0 November 14th, 2014
jtootf> у тебя в примере я вижу только данные (текст, HTML, etc) и не вижу процесса редактирования коданных
wizzard0> Так, надо выяснить, на какие пейперы я могу быстро ссылаться чтобы обьяснить
wizzard0> Коданные дают тебе интерфейс операций над ними, абстрагируя свою внутреннюю структуру
wizzard0> Редактор дает тебе дополнительно набор зеркал (в терминологии Smalltalk/Newspeak), в которые ты можешь бросать эти интерфейсы и получать в ответ нечто другое
wizzard0> Ну, например, бросить обьект в зеркало "профайлер" и выяснить, сколько он занимает RAM, формально не инспектируя его
wizzard0> Или отправить обьекту сообщение
wizzard0> Или бросить его в зеркало "рефлексия" и получить дополнительный интерфейс, через который можно, не внося в редактор знание о деталях устройства этого обьекта, тем не менее в нем поковыряться

  • 1