crypt of decay - fear and loathing in lisp vegas [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

fear and loathing in lisp vegas [Jun. 22nd, 2017|02:08 pm]
Previous Entry Add to Memories Tell A Friend Next Entry

вот это вот даже работает. можно делать «ку» два раза.
(defun factorial (n)
  (if (< n 1) (return 1))
  (define res n)
  (set! n (- n 1))
  (while (>= n 1)
    (set! res (* res n))
    (set! n (- n 1)))
  res)

(writeln (factorial 4))

(defun ramanujan ()
  (define total 0)
  (define k 0)
  (define factor (/ (* (sqrt 2) 2) 9801))
  (while true
    (define num (* (factorial (* 4 k)) (+ 1103 (* 26390 k))))
    (define den (* (pow (factorial k) 4) (pow 396 (* 4 k))))
    (define term (/ (* factor num) den))
    (set! total (+ total term))
    (if (< (abs term) 0.000001) (break))
    (set! k (+ k 1)))
  (/ 1 total))


(writeln (ramanujan))

(writeln "PI=" PI)
(writeln "sin(pi/4)=" (sin (/ PI 4)))

это вот тоже работает:
(defun test (n)
  (defun plus2n () (+ n 2))
  (plus2n)
)

(test 40)

и это:
(let ((a 40) (b 2))
  (writeln (+ a b)))

(defun mk-plusn (n)
  (defun res (x) (+ x n))
  (define ret res)
  (set! n (+ n 1))
  (writeln "n+1=" n)
  ret)

(define plus-two (mk-plusn 2))
(writeln "42=" (plus-two 40))
Linkmeow!

Comments:
From:[info]silly_sad
Date:June 22nd, 2017 - 03:11 pm
(Link)
mne tut mocha v golovu udarila "uluchshitj" sintaks Erlanga.
zajebala menja arnostj funkcij i jobanyje razdeliteli.
xochu transljator i pizdatogo sintaksa v Erlang, chtoby pisatj bez jebuchix zapjatyx.

ty odobrjajesh?
[User Picture]
From:[info]ketmar
Date:June 22nd, 2017 - 03:39 pm
(Link)
я, по ходу, эрланга наглухо не знаю. даже приветмир уже не помню.

но в целом имею мнение, что если там такой синтаксис — то тому есть причины. для лиспа ж тоже были m-expressions (и куча других попыток), и все благополучно накрылись пиздой. по причине того, что так или иначе что-то ограничивают.

хотя как дсл для кода, где тебе важнее удобство, а не доступ ко всему-всему-и-рукомойнику — так вполне заебок, ящитаю.

впрочем, я это всё из жопы вытащил, потому что — как пислал — нахуй эрланга не помню. и не знаю.
From:[info]silly_sad
Date:June 22nd, 2017 - 03:46 pm
(Link)
nu ty zhe ponemajesh chto prichiny sintaksa kak vsegda "istoricheskije".

vot chuvaki ne mogli sebe predstavitj chto funkcija mozhet ne imetj arnosti potomuchto naxuj ne nado. i teperj my tjanjem ety arnostj kak straziki na zhope.

a razdeliteli eto prosto stilj takoj: oni xoteli sdelatj "kak v anglijskom" zapjatyje, tochki... logichno, no chitatj trudno potomuchto samyj malenjkij znak "." samyj suka vazhnyj.
[User Picture]
From:[info]ketmar
Date:June 22nd, 2017 - 04:28 pm
(Link)
хех. прям как в смолтолке: забыл точку в конце оператора — ты в жопе. причём оператор-то всё ещё валидный, только считает теперь хуету. я в своём форке little smaltalk таки сделал ворнинг (ситуация легко детектируется) — и нашёл кучу забытых точек в стандартной библиотеке, лол.
From:(Anonymous)
Date:June 22nd, 2017 - 11:06 pm
(Link)
Кстати, раз такое дело. Интересно твое мнение про ClojureScript. Черкани пару строк, может.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 05:01 am
(Link)
дерьмо для хипсторов. как и сама кложура. точнее, кложура — дерьмо для хипсторов, а вообше любые «канпелятары в жавоскрибд» — для дегенератов. потому что «уеб-приложения» пишут или рабы на галере, или дегенераты, но рабам инструменты выбирать не позволено.
From:(Anonymous)
Date:June 23rd, 2017 - 09:57 am
(Link)
"Дерьмо для хипсторов" :D

Смотрел это?
https://www.youtube.com/watch?v=R4sTvHXkToQ

Вот краткая версия:
https://www.youtube.com/watch?v=bR-sJAI2Mts
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 10:02 am
(Link)
не смотрел. я обычно не смотрю записи тусовок, тем более по неинтересным темам.
From:(Anonymous)
Date:June 23rd, 2017 - 10:13 am
(Link)
Ну, как хочешь. Поржать там есть над чем, а мини-версия длится всего минут 10.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 10:16 am
(Link)
ну его, я лучше Карлина пересмотрю.
From:(Anonymous)
Date:June 23rd, 2017 - 10:22 am
(Link)
Карлин про Лисп не рассказывает. :) Скажи, а ты его по SICP изучал? Интересные книги по Лиспу можешь подсказать?
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 10:31 am
(Link)
>Скажи, а ты его по SICP изучал?
нет, всё было ещё хуже: сначала была какая-то книжка про R-LISP, который есть (уже «был») синтаксический сахар над обычным лиспом в автокаде. при том, что сам автокад я и не видел, и не использовал. просто книжка попалась.

оттуда я выгреб basic understanding: ячейки, списки, вся эта механика, и как оно взаимодействует.

а к моменту, когда я получил SICP, я уже это всё знал, и читал её просто для развлечения.

>Интересные книги по Лиспу можешь подсказать?
я хуй знает. у меня вообще беда с «подсказать литературу»: потому что я большинство вещей изучал по обрывкам и ошмёткам, которые попались в руки. а часть и вовсе сам придумывал по размытым словесным описаниям. поэтому попадавшие мне позже в руки книги я особо не запоминал, если они хорошие: а чо, это я уже знаю, можно игнорить. а если плохие, то и тем более сразу выбрасывал.
From:(Anonymous)
Date:June 23rd, 2017 - 10:58 am
(Link)
Ясно. Хочу просто на досуге прочитать это, но решил спросить - вдруг есть что получше:
http://norvig.com/paip.html

Интересно, как программирование AI на Лиспе 25-летней давности сегодня "смотрится".
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 11:01 am
(Link)
Норвиг, вроде бы, нормальный чувак. из тех, про которых я скажу: «книгу не читал, но чувака знаю, он вряд ли хуйню напишет.»

хотя common lisp сам по себе то ещё уёбище. это такой сиплюсплюс от лиспа.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 10:32 am
(Link)
книжка по р-лиспу, кстати, была довольно крутая: там в конце даже показывали, как работает канпелятор в некий vm-код, и как он преобразует рекурсивные вызовы в циклы с джампами.
From:(Anonymous)
Date:June 23rd, 2017 - 10:48 am
(Link)
Да уж, то, что циклы и рекурсия взаимозаменяемы, мне поначалу неслабо мозг вынесло. Хотя, если подумать, ничего в этом удивительного нет. Прямое следствие из тезиса Черча-Тьюринга. Увы, тогда я еще ничего такого не знал.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 10:52 am
(Link)
ну да, если повезло вовремя наткнуться на лямбда-калькулюс, то это очевидно. а если не повезло (мне тоже не повезло), но надо немножко поболтать башкой, пока мозг в правильную конфигурацию встанет.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 10:53 am
(Link)
(и да, я нахер не помню всех этих тезисов и имён, потому что никто из инженеров не помнит, нам это не надо. достаточно знать, что они где-то там есть. ;-)
From:(Anonymous)
Date:June 23rd, 2017 - 11:01 am
(Link)
Спрошу тогда как инженера: что используешь для прогр. на Лиспе? Мне нужно быстро "up and running". Emacs не люблю.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 11:11 am
(Link)
поскольку у меня есть штуки четыре написаных (ну, спизженых и сильно перепиленых) своих схемы, то обычно хватаю первую из них попавшуюся под руку, и весело на ней говнокодю.

ссылок не дам (хоть найти и можно), и к использованию не рекомендую, потому что они все наслаждаются теми или иными проблемами и багами. о которых я, понятно, знаю, и обхожу их на автомате, а чинить лень.

ну, разве для развлечения: LispEngine. очень древнее, правда. cougar сильно круче и быстрее (но она пока не пригодна к).
From:(Anonymous)
Date:June 23rd, 2017 - 11:13 am
(Link)
Thnx.
From:[info]silly_sad
Date:June 23rd, 2017 - 02:05 pm
(Link)
> или рабы на галере, или дегенераты,

ili ja.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 02:23 pm
(Link)
«и за кого играет ваша жена?» (ц) анекдот про то, что все канадцы или хоккеисты, или уебаны.
From:[info]silly_sad
Date:June 23rd, 2017 - 02:29 pm
(Link)
na samom dele vse kanadcy ujebany nezavisimo ot togo za kogo oni igrajut :)
ty davno novosti iz konady ne smotrel?
tam pokruche chem vsratoj inogda zagibajut.
to chto tam razdelenije vlastej poshlo popizde i parlament igrajet za praviteljstvo eto toka lenivyj nezamechajet... koroche SRATAJA RASHKA i dazhe s tajgoj i snegom.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 02:58 pm
(Link)
я очень ленивый. и это… i can't care less about canada.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 05:05 am
(Link)
а почему кложура дерьмо — потому что жаба. на языке и платформе, созданой для того, чтобы энтерпрайз мог хайрить дешёвых кодообезьян (документальный факт), добровольно пишут… ну, ты понял. я даже начинать не хочу сагу о том, почему жаба — говнище.

а кложура — говнище над говнищем. и даже в TCO не умеет, потому что на жабе хуй это нормально реализуешь без тормозов, лол.
From:[info]silly_sad
Date:June 23rd, 2017 - 02:17 pm
(Link)
prichom "дешёвых" eto takoj marketing trick.
na samom dele na etoj "deshevizne" podnimajut milliardy bablosa.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 02:25 pm
(Link)
вообще-то кодообезьяны дешёвые, это факт.
From:[info]silly_sad
Date:June 23rd, 2017 - 02:31 pm
(Link)
eto jesli schitatj toljko zarplatu!
a nado schitatj VSE IZDERZHKI.
no na to oni i managery chtoby neumetj v ekonomiku.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 02:59 pm
(Link)
им надо — они пусть и считают. к тому же манагерам похуй: солдат дрочит — служба идёт. зарплата платится. был бы я манагером — мне бы тоже было глубоко похуй: хуле, контора не моя, насрать.
From:[info]silly_sad
Date:June 23rd, 2017 - 07:41 pm
(Link)
na samom dele v mire boljshix korporacij ochenj mnogo detsadovskogo kommunizma: "NU ON ZHE STARAL SJA!"
prichom eto kak pravilo na samom vysokom urovnje primenjajut, k tem kto zabral vse bablosy. "nu da, produkt my vypustili gavnjeco, i cena pizdec, no vy zhe ponimajete, SKOKA MY PREODOLELI TRUDNOSTEJ na puti k etomu relizu!" -- i norot poslushno platit.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 07:49 pm
(Link)
да и хуй с ними. нравится людям жрать дерьмо за свои деньги — пусть жрут. хозяин-барин.
From:[info]silly_sad
Date:June 23rd, 2017 - 08:20 pm
(Link)
ja ne pro tex kto platit, ja pro tex kto eto govorit napisal.
tut zhe glubiny psixologii bljatj!

kogda rabotnik na tramvaj opozdal, to: "MENJA TVOJI TRUDNOSTI NE JEBUT MNE NUZHEN REZULJTAT"

a kogda nado pokupateljam rezuljtat pokazyvatj, to: "my borolisj, my predodoljevalji..."
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 08:23 pm
(Link)
тю. весь «бизнес» всегда так работал.
From:[info]silly_sad
Date:June 23rd, 2017 - 08:27 pm
(Link)
nu ja prosto ne mogu privyknutj.
neponimaju kak mozhno zhitj i ne nenavidetj ljudej?!
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 08:29 pm
(Link)
а я и не пытаюсь уже понять. ебанатизм вечен. даже если мир захватят роботы, они тоже будут ебанатами, потому что их делали люди-ебанаты.
From:[info]silly_sad
Date:June 23rd, 2017 - 08:40 pm
(Link)
nedavno xotel odnomu ob'jasnitj chto chelovek jebanat ne mozhet sozdatj robota nejebanata.
a on mne govorit:
ty ne ponimajesh! eto nejroseti! oni sami dumajut.
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 08:44 pm
(Link)
ну, теоретически может: если перестанет вмешиваться и найдёт где-то источник хорошего рандома. ну, и бесконечное время.
From:[info]silly_sad
Date:June 23rd, 2017 - 08:56 pm
(Link)
vot! imenno perestatj vmeshivaca i nevozmozhno.
ty ne mozhesh ubratj sledy svojego nachaljnogo vozdejstvija na sistemu. jesli ty na nejo sovsem ne dejstvoval, to ty jejo i ne sozdal. ponemajesh?
[User Picture]
From:[info]ketmar
Date:June 23rd, 2017 - 09:00 pm
(Link)
можешь, конечно: если дашь системе возможность полностью себя перестраивать и накормишь независимым рандомом. при таких раскладах рано или поздно там не останется ничего из того, что ты туда положил.

на практике это, понятно, нахер не имеет смысла, потому что такая система и делать будет рандомную работу, а не ту, для которой её проектировали.