Вопросы по теме 'zipper'

make-node в библиотеке zipper
Я пытаюсь создать молнию из собственной карты. Согласно определению молнии, Usage: (zipper branch? children make-node root) ветка параметров? и дети ясны, и я могу определить это. Но функция make-node сбивает с толку. Я дал ему...
426 просмотров
schedule 15.07.2022

Множественные мутации XML-документа в Clojure
Я пробую clojure (впервые) для простого проекта. Мне нужно обновить дерево xml с помощью файла csv. Я читаю CSV-файл построчно, извлекаю некоторые значения, зацикливаю узел с некоторыми значениями и вставляю дочерний узел с другим значением. Это...
314 просмотров
schedule 02.10.2022

Как построить абстрактные синтаксические деревья из спецификации грамматики в Haskell?
Я работаю над проектом, который включает оптимизацию определенных конструкций в очень небольшом подмножестве Java, формализованном в BNF. Если бы мне пришлось делать это на Java, я бы использовал комбинацию JTB и JavaCC, которая создает AST. Затем...
2702 просмотров

Структура молнии Clojure для текстового редактора (с картами и массивами)
Я пытаюсь сделать простой текстовый редактор в clojure, чтобы познакомиться с ним. Я думал об использовании застежек-молний для структуры, навигации и обновлении редактора. Я думал сохранить текст редактора в документе примерно так: (def...
368 просмотров

Ленивая печать дерева в формате Newick
Я хочу напечатать двоичное дерево в формате Newick , показывающем расстояние каждого узла до его родителя. На данный момент у меня не было проблем со следующим кодом, который использует обычную рекурсию, но слишком глубокое дерево может привести к...
383 просмотров

Схема списка из двух элементов
Мне нужно написать функцию, которая определяет, является ли данный список парой элементов. Программа просто ответит #t, если список содержит ровно два элемента, или #f, если нет, например: (zipper? '((a 1)(b 2))) => #t и (zipper?...
484 просмотров
schedule 06.04.2023

Можно ли написать общий алгоритм для обновления элемента во вложенной (независимо от того, насколько вложенной) структуре данных с помощью Zipper?
На прошлой неделе я пытался написать алгоритм с Zippers для обновления определенного элемента во вложенной структуре данных, Как переместить элемент внутри структуры, возможно, с помощью молнии? Мой ответ решает проблему для этой точной...
69 просмотров

Почему реализация застежки-молнии Clojure использует другие типы и структуры данных из застежки-молнии Huet?
Я сравниваю исходную статью Хуэта с реализацией Clojure и попыткой выяснить, почему были внесены изменения . Я новичок в Clojure, поэтому, если я ошибаюсь в своей интерпретации кода Clojure, поправьте меня. В статье Хуэ тип пути (по Окамлу)...
181 просмотров
schedule 18.03.2023

Clojure: застежка-молния -> html
После нескольких дней попыток разобраться в застежках-молниях я, кажется, наконец понял, как создавать их из последовательных данных. Однако после нескольких дней поиска я не могу найти никаких ресурсов о том, как преобразовать молнию во что-то...
327 просмотров
schedule 16.10.2022

Чем полезны шрамы?
В статье под названием «Застежка-молния» Хьюэта он также упоминает шрамы как разновидность застежек-молний. По сравнению с застежками-молниями, которые стали широко известны в сообществе Haskell, о шрамах почти ничего не слышно. Информации о них в...
267 просмотров
schedule 04.10.2022

Как выполнить итератор zip в обратном порядке? - Часовня
Как я могу выполнить zip-итератор в обратном порядке? Мне нужно сдвинуть элементы подмассива. Мой код выглядит следующим образом: for (x,y) in zip({c..d by stride},{a..b by stride},){ A1[x]=A1[y]; } Мне нужно выполнить это в обратном...
99 просмотров
schedule 02.08.2023

Как переместить молнию в левый/правый узел в clojure?
Я пишу дерево (дерево решений бизнес-процессов) в структуре данных clojure. (require clojure.zip :as z) (z/vector-zip [ :billed? [:yes [:check-bank-account] [:check-cash] ] [:send-out-email] ])...
90 просмотров
schedule 03.10.2022

Сжатие и загрузка файлов и папок корзины Amazon S3 в Laravel
Есть ли способ заархивировать и загрузить файлы и папки, которые находятся в корзине Amazon S3, вместе в Laravel? Хочу заархивировать три папки и один файл на картинке вместе и скачать
5829 просмотров
schedule 07.01.2023