Свързани въпроси 'scheme'
Как да добавя към файл с помощта на схема?
Използвам TinyScheme (всъщност Script-Fu в GIMP) и не мога да намеря добър начин да отворя файл и да добавя ред текст към него.
Опитвам се да запиша някаква информация във файла за отстраняване на грешки и изглежда, че включването на препис не се...
1541 изгледи
schedule
27.09.2022
Проблеми с вграждането на Guile в C++
Аз съм програмист на Scheme и се опитвам да използвам Guile за извикване на функции на Scheme от C++ код в спецификация на Bison. Документацията относно Guile и C е страхотна; обаче не намерих много подходяща, актуална информация за Guile и C++....
1903 изгледи
schedule
27.09.2022
Отпечатайте необработени контролни знаци, като същевременно запазите разделителите на низове в изхода (Racket)
Имам списък в Racket така:
'(some-symbol
"some\ntext\ngoes in\nhere")
Искам да го отпечатам така, че контролни знаци като \n да се преобразуват в техните действителни стойности, в този случай преместване на ред. Искам обаче също така...
106 изгледи
schedule
16.09.2022
Chez Scheme: импортиране на макроси на най-високо ниво
Изпълнявам Chez Scheme 9.5 и се опитвам да дефинирам синтактичен трансформатор в библиотека. Ето един пример:
(library (forlib)
(export for)
(import (rnrs (6)))
(define-syntax for
(syntax-rules (in)
[(for x in lst body1 body2...
409 изгледи
schedule
19.09.2022
схема необвързан идентификатор грешка в модул в: символ ‹?
Следващият ред в моя код ми дава грешка в необвързан идентификатор.
((symbol<? x (car l)) #f)
може ли някой да ми обясни защо получавам тази грешка и как мога да я разреша.
Ето целия код:
; tests membership in ordered list of...
1436 изгледи
schedule
28.09.2022
Пребройте срещането на буква в списък
Досега съм пробвал това, но получавам 1:
(define occur
(lambda (a s)
(count (curry string-contains? a) s)))
Ex: (occur "u" '("u" "uaub" "ubub")) => 1
Трябва да е 5
Искам да избягвам използването на къри, тъй като все още не знам...
1589 изгледи
schedule
23.09.2022
Как да прочетем низ, за да получим въвеждане от потребителя в GNU Guile?
Опитвам се да направя игра Rock Paper Scissors, за да си помогна да използвам GNU Guile. Попаднах на пречка, когато получавам информация от потребителя, изборът на играча в играта. Ако го задам на низ, тогава играта работи правилно. Ако използвам...
257 изгледи
schedule
22.09.2022
'(цитирай цитат) в схемата
Опитвам се да науча схема сам. Може ли някой да ми каже защо '(quote quote) ще изведе 'quote , а '(quote 'quote) ще изведе ''quote ?
Благодаря ти много!
1097 изгледи
schedule
28.09.2022
схема - Функцията опашка рекурсивна ли е?
Приложих тази рекурсивна функция в схема:
(define f (lambda (n)
(cond ((= n 0) 0)
((= n 1) 2)
((= n 2) 37)
((odd? n) (+ (f (- n 3)) 1))
(else (+ (f (- (/ n 2) 1)) 7))))...
1442 изгледи
schedule
03.10.2022
Вложени макроси в Racket
Искам да мога да напиша вложен израз като този:
(AND/OR expr1 op1 expr2 AND/OR expr3 op2 expr4 and so on)
Където И/ИЛИ по същество е И или ИЛИ. Но искам да мога да напиша безкрайно много от тях. Използвам define-syntax , за да се опитам да...
682 изгледи
schedule
09.10.2022
Най-простият пример за необходимост от унификация в извода на типа
Опитвам се да разбера как се реализира изводът за тип. По-конкретно, не виждам къде/защо тежкото повдигане на „обединението“ влиза в игра.
Ще дам пример в "pseudo C#", за да изясня:
Наивният начин да го направите би бил нещо подобно:
Да...
1707 изгледи
schedule
25.10.2022
Програмно попълване на letrec в Scheme. Макроси или eval?
Просто си играя с NFA за разпознаване на низове. Имам макрос, който създава функция, която консумира входни данни и предава останалата част на някои други функции. Тъй като може да има цикли в моята NFA графика, използвам letrec, за да сглобя...
445 изгледи
schedule
09.12.2022
Защо звуковият сигнал не приближава правилно моята непрекъсната дроб?
Чета още SICP и съм заседнал на упражнение 1.3.8 . Моят код работи правилно за приблизително 1/phi, но не работи за приблизително e - 2.
(define (cont-frac n d k)
(define (frac n d k)
(if (= k 0)
1.0
(+ (d k) (/...
382 изгледи
schedule
20.11.2022
Библиотека за автоматично диференциране в Scheme / Common Lisp / Clojure
Чувал съм, че една от първоначалните мотивации на Маккарти да изобрети Lisp е била да напише система за автоматично диференциране. Въпреки това моите търсения в Google не дадоха никакви библиотеки/макроси за това. Има ли някакви библиотеки...
3264 изгледи
schedule
16.10.2022
Сортиране на три числа във възходящ ред
Вчера се прибрах вкъщи и реших да опитам да напиша програма за схема, която да сортира три числа във възходящ ред. Ето какво измислих:
(define a 3)
(define b 2)
(define c 1)
(define temp 0)
(cond
( (> a c) (set! temp c) (set! c a) (set!...
1539 изгледи
schedule
05.11.2022
Бърз синтаксисен въпрос за конкретна схема/рекет. Показване на низ без кавички?
Пиша програма в схема, която в крайна сметка извежда към определен файл и извежда както низове, така и списъци. Използвам командата (display), но когато покажа низ, той се показва с кавички около него. ПРИМЕР: "Множествата"(a (b (c d)))"и"(((d c) b)...
953 изгледи
schedule
24.10.2023
schedule
16.03.2024
ANTLR решава не-LL(*) проблеми и синтактични предикати
разгледайте следните правила в анализатора:
expression
: IDENTIFIER
| (...)
| procedure_call // e.g. (foo 1 2 3)
| macro_use // e.g. (xyz (some datum))
;
procedure_call
: '(' expression expression* ')'
;...
1131 изгледи
schedule
12.11.2022
Писане на функция за рекурсивно изброяване в схема
Пиша функция за рекурсивно изброяване и някъде имам проста грешка.
Ето какво трябва да се случи:
(enum 1 0.5 2.5)
> (1.0 1.5 2.0 2.5)
Ето кода:
(define enum
(lambda (start step stop)
(if (not (<= stop start))...
1722 изгледи
schedule
21.10.2022
Макроси на схема - Сдвояване в трансформацията, но списък като изход?
Да кажем, че имам следния макрос в R 5 RS Scheme:
(define-syntax pair-test
(syntax-rules ()
((_ (a b . c))
(quote (a b . c)))))
Макросът трансформира входна двойка в изходна двойка, както може да се очаква:
(pair-test (1 2 ....
220 изгледи
schedule
13.12.2022