Size: a a a

Сообщество Scheme

2021 February 25

a

anton in Сообщество Scheme
а можно я тоже задам вопрос, по той же теме, alist как-то по особенному устроен в памяти? или это просто список? я имею ввиду, у него получение элемента работает за линейное время, или за логарифм какой-нибудь?
источник

A

Aragaer in Сообщество Scheme
alist это просто список
источник

A

Aragaer in Сообщество Scheme
Andrew Tropin
А поясните за alist'ы плз.
Эти значения эквивалентны и являются alist'ами:
'((3 . (4 5)))
'((3 4 5))
А вот это не alist:
'((3 (4 5)))
Ну или точнее алист, со значением ((4 5)). Верно?
ну тут видно, что у тебя список с одним элементом и дальше надо посмотреть, что это за элемент. В первом случае у тебя (cons 3 (list 4 5)), во втором (list 3 4 5), который то же самое. А в третьем (list 3 (list 4 5)), который (cons 3 (list (list 4 5)))
источник

AT

Andrew Tropin in Сообщество Scheme
Aragaer
ну тут видно, что у тебя список с одним элементом и дальше надо посмотреть, что это за элемент. В первом случае у тебя (cons 3 (list 4 5)), во втором (list 3 4 5), который то же самое. А в третьем (list 3 (list 4 5)), который (cons 3 (list (list 4 5)))
ага, это всё уже выяснил и уточнил, спасибо.
источник

AT

Andrew Tropin in Сообщество Scheme
Andrew Tropin
Спасибо за ответы. Ещё вопросик в догонку: а есть общепринятое название у элементов alist'а? типа alist-item, alist-pair или alist-element ?
отвечая на свой вопрос, по идее это называется alist-entry.
источник

A ß in Сообщество Scheme
Andrew Tropin
Спасибо за ответы. Ещё вопросик в догонку: а есть общепринятое название у элементов alist'а? типа alist-item, alist-pair или alist-element ?
cons pair это
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Andrew Tropin
Спасибо за ответы. Ещё вопросик в догонку: а есть общепринятое название у элементов alist'а? типа alist-item, alist-pair или alist-element ?
Ну alist pair из контекста будет понятно. Вроде нет прямо общепринятого варианта
источник

AT

Andrew Tropin in Сообщество Scheme
В контексте guile/guix кажется alist-entry - самое подходящее
источник

AT

Andrew Tropin in Сообщество Scheme
По крайней мере в сорцах гикса, это единственный вариант, что смог нагрепать. И в мануалах тоже как правило alist entry/entries упоминается.
источник

A ß in Сообщество Scheme
настаиваю на cons pair, если речь не идет про конкретный алист
источник

A ß in Сообщество Scheme
потому что алист по определению a list of cons pairs
источник
2021 February 26

AP

Alex Peresmeshnik in Сообщество Scheme
Artyom "avp" Poptsov
В общем, я на ветке master переделал парсер для Unix в Guile-DSV — почти в три раза ускорил его работу, судя по тестам.

Было:
$ time dsv -s covid.csv

...  

real  1m48,940s
user  3m18,388s
sys  0m8,579s

Стало:
$ time dsv -s covid.csv

...  

real  1m14,067s
user  1m34,422s
sys  0m0,975s


@somevoid буду признателен за тестирование.
Спасибо, пока руки не доходят, в другое волекся, постараюсь найти время проверить :)
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
A ß
потому что алист по определению a list of cons pairs
Не всякий конс является элементом алиста, есть смысл их различать
источник

a

anton in Сообщество Scheme
bouncepaw ⛅
Не всякий конс является элементом алиста, есть смысл их различать
а можно пример, какой конс не может быть элементом алиста?
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
anton
а можно пример, какой конс не может быть элементом алиста?
Тот, который не является элементом алиста.

Ну вот код:

(define a (cons 1 2))
(define b (cons 2 3))
(define c (cons 3 4))
(define alist (list b c))

a — конс, но не ентри алиста
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
Конечно, он может быть его ентри
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
Но он им не является
источник

a

anton in Сообщество Scheme
bouncepaw ⛅
Но он им не является
а, ясно, тонкий случай, я бы даже сказал мировоззренческий вопрос
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
anton
а, ясно, тонкий случай, я бы даже сказал мировоззренческий вопрос
Да, мировоззренческий
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
Философия алистов!
источник