Вопросы по теме '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 просмотров
schedule
01.05.2023