Size: a a a

Scheme — русскоязычное сообщество

2021 November 01

NV

Nikita Vorontsov in Scheme — русскоязычное сообщество
источник

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
(define alst '(("a" . 1) ("b" . 2)))

(set! alst (assoc-set! alst "a" 5))

=> In procedure set-cdr!: Wrong type argument in position 1 (expecting mutable pair): ("a" . 1)

что ему может не нравиться?
источник

AZ

Aydar Zarifullin in Scheme — русскоязычное сообщество
Какая схема?
источник

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
гайл
источник

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
причём пример почти 1 в 1 из мануала
источник

AZ

Aydar Zarifullin in Scheme — русскоязычное сообщество
Странно, в документации написано All pairs in Guile are mutable, я бы на твоём месте грепнул по сорцам guile фразу "mutable pair"
источник

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
(define p '("a" . 1))
(set-cdr! p 4)
p
=> ("a" . 4)
источник
2021 November 02

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
чудеса
источник

NV

Nikita Vorontsov in Scheme — русскоязычное сообщество
(define alst '(("a" . 1) ("b" . 2)))
scheme@(guile-user)> (assoc-set! alst "a" 5)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure set-cdr!: Wrong type argument in position 1 (expecting mutable pair): ("a" . 1)

scheme@(guile-user)> (define alst (list (cons "a"  1) (cons "b" 2)))
scheme@(guile-user)> (assoc-set! alst "a" 5)
$1 = (("a" . 5) ("b" . 2))
источник

NV

Nikita Vorontsov in Scheme — русскоязычное сообщество
видимо, списки, определённые синтаксически - константы, что разумно в общем-то
источник

NV

Nikita Vorontsov in Scheme — русскоязычное сообщество
хотя быть может это особенность репла и в коде будет по-другому
источник

NV

Nikita Vorontsov in Scheme — русскоязычное сообщество
источник

AP

Aleksei (astynax) Pi... in Scheme — русскоязычное сообщество
Не-не, любой литерал создаёт список мутабельный.
источник

AP

Aleksei (astynax) Pi... in Scheme — русскоязычное сообщество
Иначе был бы ад, если бы кто в такой наконсил и потом обломался пр попытке поменять иммутабельный хвост
источник

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
как вариант это гейзер обосрался
источник

AP

Aleksei (astynax) Pi... in Scheme — русскоязычное сообщество
Вот такое может быть
источник

AP

Aleksei (astynax) Pi... in Scheme — русскоязычное сообщество
Или таки в репле такой сайдэффект
источник

AP

Aleksei (astynax) Pi... in Scheme — русскоязычное сообщество
Оба варианта — плохие :Р
источник

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
странно, в репле так же
источник

ND

Nikita Domnickij in Scheme — русскоязычное сообщество
на 2.2.7 такая же история
источник