Size: a a a

2020 May 30

SA

Sokolov Andrew in Lisp Forever
уже ваще не тот
источник

SA

Sokolov Andrew in Lisp Forever
ща подумаю мб че то можно сделать но
источник

SA

Sokolov Andrew in Lisp Forever
ну короче скорее нет
есть мизерные шансы что с кишками sbcl и расковыриванием лямбд в теории кто то умнее меня че то бы и смог
источник

SA

Sokolov Andrew in Lisp Forever
короч ща залью новую версию
источник

SA

Sokolov Andrew in Lisp Forever
источник

SA

Sokolov Andrew in Lisp Forever
хз кажется там какие то декларации не протекают куда то
источник

SA

Sokolov Andrew in Lisp Forever
не уверен
источник

SA

Sokolov Andrew in Lisp Forever
а может и  все ок
источник

VM

Vyacheslav Mikushev in Lisp Forever
Супер! (funcall (funcall (foo 1) 2) 3) у меня заработало.:)
источник

SA

Sokolov Andrew in Lisp Forever
ну да в этом и был пойнт
источник

SA

Sokolov Andrew in Lisp Forever
даже можно каррированные лямбды теперь крафтить
источник

SA

Sokolov Andrew in Lisp Forever
но шансов заинлайнит ьче то куда то по числу аргументов (кроме как на самом первом уровне) скорее нет
источник

SA

Sokolov Andrew in Lisp Forever
а ну и эльдок (а вместе с ним и лисп принтер) обосрались и не смогут показать тебе правильную сигнатуру моих функций
источник

SA

Sokolov Andrew in Lisp Forever
эльдок можно изнасиловать и заставить
источник

SA

Sokolov Andrew in Lisp Forever
лисп принтер не уверен
источник

SA

Sokolov Andrew in Lisp Forever
а ладно в целом все не так плохо
Декларации вроде все влезають куда надо
мб че то куда то лишнее запихнулося
источник

SA

Sokolov Andrew in Lisp Forever
но по моему он просто игонрирует те декларации которые упоминают несуществующие перменные
источник

SA

Sokolov Andrew in Lisp Forever
а или просто он переобъявляет их для уже определенных, под которыми closure
в любом случае они гаранитрованно одни и те же так что беда большой нет
источник

SA

Sokolov Andrew in Lisp Forever
CL-USER> (defun bar (x)
          (foo x 5 6))
WARNING: redefining COMMON-LISP-USER::BAR in DEFUN
BAR
CL-USER> (disassemble 'bar)
; disassembly for BAR
; Size: 30 bytes. Origin: #x52C3FFB0                          ; BAR
; B0:       498B4D10         MOV RCX, [R13+16]                ; thread.binding-stack-pointer
; B4:       48894DF8         MOV [RBP-8], RCX
; B8:       A801             TEST AL, 1
; BA:       750D             JNE L0
; BC:       488BD0           MOV RDX, RAX
; BF:       4883C23C         ADD RDX, 60
; C3:       488BE5           MOV RSP, RBP
; C6:       F8               CLC
; C7:       5D               POP RBP
; C8:       C3               RET
; C9: L0:   CC4D             INT3 77                          ; OBJECT-NOT-FIXNUM-ERROR
; CB:       00               BYTE #X00                        ; RAX
; CC:       CC10             INT3 16                          ; Invalid argument count trap


и таки он умеет константфолдить (при высоких настройках всего дерьма) вот такие вещи
источник

SA

Sokolov Andrew in Lisp Forever
так что лан, я доволен
источник