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

Как запретить Guile запускать отладчик при каждой ошибке?
Я использую Guile вместе с Geiser в Emacs во время обучения программированию на Scheme. Я считаю, что на самом деле помехой является то, что Guile попадает в отладчик каждый раз, когда я делаю опечатку или ввожу неправильный фрагмент кода. Как я...
266 просмотров
schedule 11.10.2021

Как создать указатель на функцию C из функции схемы в Guile?
Я пытаюсь написать оболочку для библиотеки C, которая содержит функцию, которая принимает другую функцию для достижения полиморфизма (то есть универсальную функцию). Я хотел бы написать свою оболочку так, чтобы она принимала функцию Scheme и...
72 просмотров
schedule 13.09.2021

Мой макрос lisp перестает работать в последней хитрости
У меня есть макрос, который я написал в 2010 году, он был для управления структурами, как в Common Lips, с использованием списков (вот весь файл, включая функции https://jcubic.pl/struct.txt ). (define-macro (defstruct name . fields) "Macro...
126 просмотров
schedule 15.11.2021

поиск альтернативы для привязки let для определения-синтаксиса
Я пытаюсь обновить старый код guile 1.8 до guile 3.x. Я изо всех сил пытаюсь найти хорошую замену той или иной конструкции. Вот пример, представляющий старый код 1.8: (define h (make-hash-table 31)) (define (def-node name-args types) (let...
40 просмотров
schedule 30.11.2021

Выполнить командную строку из Scheme (Guile)
Вопрос описан в заголовке, в основном я хотел бы выполнить командную строку из схемы, скажем, «ls» и получить вывод. Итак, мои вопросы: Является ли это возможным? Как? Заранее большое спасибо! Кстати, я использую Guille.
2643 просмотров
schedule 06.05.2022

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

Пунктирные списки в Guile Scheme
Как я могу специально проверить точечные списки в форме (a . b) Guile? dotted-list из srfi-1 странным образом возвращает #t также, например, для Числа (с каких это пор числа тоже являются списками?...
56 просмотров
schedule 06.06.2022

Утилиты лексирования и синтаксического анализа
Я ищу утилиты для лексического анализа и создания синтаксических анализаторов, которые не являются Flex или Bison. Требования: Синтаксический анализатор задается с использованием контекстно-свободной грамматики LL(*) или GLR. Я бы также...
1389 просмотров
schedule 20.06.2022

Почему вызов моей домашней функции (reduce) с помощью макроса влияет на будущие вызовы этой функции?
Предыстория: несколько недель назад я работал над проектом в схеме guile 1.8.8 и, немного заржавев, забыл о встроенной функции (reduce) , поэтому Я свой закатал. Чуть позже я столкнулся с, казалось бы, безнадежной ошибкой, когда вызов функции...
94 просмотров
schedule 17.07.2022

Сделать исполняемую программу Guile с помощью автоинструментов?
Недавно начал учиться использовать автоинструменты и пытался сделать с их помощью простую программу Guile. Следуя этому руководству , я успешно скомпилировал программу, с файлом .go, помещенным в %site-ccache-dir , и файлом .scm, помещенным в...
435 просмотров
schedule 15.07.2022

преобразование древовидного списка в список с полным путем
Я пытаюсь использовать функцию file-system-tree из https://www.gnu.org/software/guile/manual/html_node/File-Tree-Walk.html#File-Tree-Walk . В сочетании с remove-stat из ссылки это приводит к древовидной структуре списка, например. за test/...
80 просмотров
schedule 23.07.2022

configure: ошибка: GNU libltdl (Libtool) не найден, см. README
Я пытаюсь установить GNU Guile, чтобы позже установить Guix. Моя среда довольно закрыта, но они позволяют нам создавать инструменты. Я пытался установить пианобар в течение последних нескольких дней, и он работает, но я получаю вывод «Не удается...
2566 просмотров
schedule 23.08.2022

Почему гипотеза Коллатца о хвостовой рекурсии вызывает переполнение стека в схеме?
Я написал гипотезу Коллатца на схеме: (define C (lambda (n) (cond ((eq? n 1) 1) ((even? n) (C (/ n 2))) (else (C (+ (* n 3) 1)))))) Это хвостовой рекурсивный вызов, но при вызове я получаю переполнение стека (C 121):...
826 просмотров
schedule 12.09.2022

Как оценить символ, возвращаемый функцией в Scheme?
Я заново знакомлюсь со Scheme и столкнулся с проблемой, которая, вероятно, отражает фундаментальное непонимание с моей стороны. Скажем, я делаю следующее в Scheme (используя Guile в этом случае, но то же самое в Chicken): > (define x 5) >...
1514 просмотров
schedule 27.11.2022

Могу ли я назначить список символов списку элементов в Guile?
Я пишу код хитрости, который получает список заданной длины, и мне нужно определить переменную для каждого элемента в списке. В настоящее время я должен сделать что-то вроде этого: (define (foo l) (let ((e-1 (car l)) (e-2 (cadr l))...
80 просмотров
schedule 01.04.2023

Элементы исчезают при сортировке списка в Guile
Кажется, у меня есть случай исчезновения элементов после вызова sort! в списке строк: (Я получил этот код из шаблона Autogen, над которым работал.) (use-modules (ice-9 pretty-print)) (let ((files '("log4cplus/socketappender.h"...
195 просмотров
schedule 19.01.2023

Фильтрация структур C с хитростью GNU
Я новичок в схемах/ обманах . Я хотел бы отфильтровать массив структур C внутри программы C, используя пользовательский скрипт scm. Что-то типа: struct Date { int year; int month; int day; }; struct Person { char name[20];...
256 просмотров
schedule 02.06.2023

Как установить модули srfi в локальную копию guile
Я установил guile в /home/jcubic на виртуальном хостинге, где у меня нет root-доступа, и когда у меня есть это: (use-modules (srfi srfi-1) (srfi srfi-26) (srfi srfi-43) (srfi srfi-60) (rnrs bytevectors) (ice-9 binary-ports) (srfi...
162 просмотров
schedule 25.11.2022

как заварить установить guile 1.8 на mac
Я хочу скомпилировать texmacs на своем Mac. Для этого требуется guile1.8, однако я могу получить версию 2.2 только brew install guile . Я использовал brew search guile и есть только одна хитрость. Как я могу установить guile1.8 с помощью...
447 просмотров
schedule 20.09.2023

Нужна ли мне блокировка для доступа к неизменной структуре данных в контексте многопоточности?
У меня есть неизменяемая структура данных, которая представляет собой функциональную хэш-карту (см. fash.scm ), которая совместно используется несколько потоков. Представьте, что поток хочет изменить глобальную хеш-карту на новую версию. Нужна...
43 просмотров