- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
(defun foo (baz s a)
(let ((ref #'foo))
(defun foo (baz s a)
(let ((ref #'foo))
(if (zerop a)
s
(funcall baz ref s a))))
(if (functionp baz)
(funcall baz ref (1+ s) (1- a))
(funcall #'foo ref (1+ s) (1- a)))))
*****
В данном же примере используются два факта:
1. s + a ≡ (s+1) + (a-1).
2. s + 0 ≡ s.
При этом инкремент и декремент (на единицу) считаются вполне определёнными операциями.
Только это всё ещё запутано переопределением функции foo дважды.
Предлагаю пойти дальше и определить умножение, используя два факта:
1. p * a ≡ p + p * (a-1).
2. p * 1 ≡ p.
Сложение, естественно, вычислять функцией из данного говнокода, чтобы получить квадратичную сложность.
p * a ≡ (p << 1) * (a >> 1) + p * (a % 2).
p * a ≡ (p+1) * (a-1) + (p-a) + 1. Здесь придётся определить вычитание.
няшно. Гляжу, крестобляди всерез озаботились отловом ошибок на максимально ранней стадии
Ну чтж, похвально, похвально.
А в языках для анскилябрных петухов (пхп, джава -- это тот же пхп, только тормозит) принято сообщать об ошибке в рантоайме, и показывать ее пользователю
пусть пользователь разбирается!
https://github.com/Herzult/SimplePHPEasyPlus
Такой-то запах Индонезии...
Искуство это палимпсест
Один посрет -- другой поест
Можно расширить для других систем счисления, для других пространств и даже не только для чисел. Только нужные классы-делегаты подставить.
https://govnokod.ru/29168
Я прибайндился к `INADDR_LOOPBACK`, а затем к `INADDR_ANY`
Что произойдет?
на виньсоке семантика такая
>
If an application does not care what local address is assigned, specify the constant value INADDR_ANY
>
https://learn.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-bind
и ты не порвешь, но INADDR_ANY набиндится на ВСЕ адреса КРОМЕ лупбочного интерфейса
Вот буквально
grapig, he?
Ночью сорванный мутник,
Плоть сушеная колдуньи,
Тис, наломанный в безлунье,
Желчь козленка, селезенка
Богомерзкого жидeнка,
С чешуей драконья лапа,
Губы турка, нос арапа,
Пальчик детки удушенной,
Под плетнем на свет рожденной,
Тигра потрох размельченный —
Вот в котел заправа наша,
Чтобы гуще вышла каша..