tobotras: (Default)
[personal profile] tobotras
А чем
`(1 2 ,(+ 1 2))
лучше, чем
(list 1 2 (+ 1 2))
?

Date: 2014-08-05 03:16 pm (UTC)
From: [identity profile] lispnik.livejournal.com
Короче и нагляднее, особенно в случае генерации кода.

Date: 2014-08-05 03:23 pm (UTC)
From: [identity profile] jsn.livejournal.com
Особенно для `(1 2 (3 4 (5 (+ 6 ,(+ 6 7))) 8 9) 10) хорошо видно.

Ну кроме того, нетупая реализация может значительно быстрее делать quasiquote instantiation, чем звать толпу list-ов, вроде бы (not that it ever matters).

Date: 2014-08-05 04:49 pm (UTC)
From: [identity profile] lispnik.livejournal.com
Ну да, в CL часть подсписков может быть даже константой (в стандарте запрещено результат модифицировать). Не знаю, есть ли такое ограничение в Scheme.

Date: 2014-08-05 05:02 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
Ср.:
(list 'lambda '(op reg ) 
  (list 'let (list (list 'res (list 'member 'op ops)))
        (list 'if 'res 
              '(cadar res)
              (list 'cadar ops)
        )  ) )


 `(lambda (op reg)
          (let ((res (member op ,ops)))
             (if res (cadar res) (cadar ,ops)
             ) ) )

Profile

tobotras: (Default)
tobotras

December 2024

S M T W T F S
123 4567
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 9th, 2025 12:47 pm
Powered by Dreamwidth Studios