Программирование


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
502 58 194

SICP тред #4 /sicp/ Аноним 29/09/18 Суб 12:50:22 12718061
сикп.jpg (64Кб, 600x400)
600x400
Продолжаем обсуждение лучшей книги всех времен и народов, а так же одноименных лекций. Приглашаются сюда как новички, ломающие над ней голову, так и опытные ребята, прошедшие ее всю (или большую ее часть).

Где скачать SICP?
На русском: http://newstar.rinet.ru/~goga/sicp/sicp.pdf
ориджинал: http://web.mit.edu/alexmv/6.037/sicp.pdf
https://github.com/sarabander/sicp-pdf/raw/master/sicp.pdf

Где я могу писать свой код, для выполнения заданий?
Онлайн редактор, с поддержкой Scheme: https://repl.it/languages/scheme
IDE для racket подобных языков(но есть и поддержка Scheme, но её нужно включить) - https://racket-lang.org/

Где посмотреть ответы на задачи?
http://community.schemewiki.org/?SICP-Solutions
https://github.com/qiao/sicp-solutions
https://wizardbook.wordpress.com/solutions-index/
Где посмотреть видео про книгу?
https://www.youtube.com/watch?v=a0YrCABCOEY
Аноним 29/09/18 Суб 12:50:47 12718072
Так же полезная информация.
Где я ещё могу пообсуждать любимый SICP, кроме двача?
https://www.reddit.com/r/compsci/
https://www.reddit.com/r/learnprogramming

Полезные ресурсы:
https://teachyourselfcs.com/
https://github.com/ossu/computer-science
https://sicp.neocities.org/

Книжки по ФП
https://www.dropbox.com/sh/ugtfwgfilgr0ebu/AABVDeYpTvcqcg22XZnYT8Eca?dl=0


Заодно еще пара ссылок (на онлайн-версию, видосы и сикп на кложе):
clj: http://www.sicpdistilled.com/
1986: https://www.youtube.com/playlist?list=PL8FE88AA54363BC46
2004: https://www.youtube.com/playlist?list=PL7BcsI5ueSNFPCEisbaoQ0kXIDX9rR5FF
harvey: https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter
html: http://sarabander.github.io/sicp/
Для изучения языка-схемы порекомендую https://www.scheme.com/tspl4/
Слоником в итт называют книгу The little schemer (но мне он не зашел из-за слишком своеобразной подачи материала)
Аноним 29/09/18 Суб 12:51:45 12718093
Аноним 29/09/18 Суб 12:58:33 12718124
Подписался на тренд. Опять аниме на оп-пикче ёбт спасибо что хоть не пони
Аноним 29/09/18 Суб 13:00:23 12718165
>>1271812
Конечно аниме, а ты что хотел? Пони не нашел, к сожалению.
Аноним 29/09/18 Суб 13:04:37 12718216
Аноним 29/09/18 Суб 13:15:36 12718277
>>1271821
Мамаша твоя не аниме.
Аноним 29/09/18 Суб 13:18:22 12718318
>>1271806 (OP)
Понятен посыл. Ведь аниме для детей.
Аноним 29/09/18 Суб 15:05:50 12718769
>>1271831
в каждой мелочи видишь упрек и оскорбления? тяжело тебе по жизни, наверное.
Аноним 29/09/18 Суб 20:41:40 127206010
>>1271806 (OP)
Перекатил оп прошлого треда? Как успехи?

Бля, до сих пор не понимаю, откуда вы все эти охуенные картинки берете, лол
Аноним 29/09/18 Суб 21:45:30 127207811
om5hanOnLispAdv[...].jpeg (63Кб, 506x666)
506x666
Аноним 29/09/18 Суб 22:12:14 127208512
>>1272060
Да, он самый перекатил. А я тогда уперся, что с базами не смог разобраться, так хуй и положил. Но я все советы и разжевывания сохранил себе в документ, думаю разберусь. А пока не до обучения, так что в этом плане нихуя не делаю. Но не забросил в целом, просто некогда.
>>1272078
Ну я в яндексе просто написал "sicp аниме", мне и выдало несколько вариантов. Кстати в прошлый раз в другом поисковике похожее вбивал и картинки другие были, так что думаю треда до 30 там пикч точно хватит разнообразных, лол.
Аноним 29/09/18 Суб 22:58:10 127210113
>>1272060
Решил я погуглить Картинку с прошлого треда, начал с Гугла, поиск по картинкам, вставляю ссылку на картинку, жму "поиск", оно мне выдаёт Изображение удалено либо доступ к нему ограничен.
Бля думаю какого хуя. Хуй с ним, пробую ещё и нихуя не опять пишет что изображение удалено. Решил поискать в Яндексе, по картинкам, и оно мне всё нашло, откуда эта картинка.
Ёбаный гугл.
Аноним 29/09/18 Суб 23:09:56 127211214
Аноним 29/09/18 Суб 23:58:37 127214015
Аноним 30/09/18 Вск 00:48:36 127216716
Малость подзавяз на задачах с языком описания изображений. Какого хуя в книге не приводятся конкретные примеры с использованием графической библиотеки? Как я тогда могу быть уверенным в правильности решения, если мне не на чем проверить задачу? Короче, нагуглил графические функции для mit-scheme, но почему нельзя было это вставить в книгу?
Аноним 30/09/18 Вск 09:35:31 127224017
Аноним 30/09/18 Вск 21:10:24 127253818
>>1272078
Бля, спасибо, долгих лет твоей матери, брат!

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

>Ну я в яндексе просто написал "sicp аниме"
Лол, и вправду. Как все оказалось просто.
Аноним 04/10/18 Чтв 13:03:09 127439219
Какой уровень математики нужен для этой книги? что стоит почитать по математики перед sicp ?
Аноним 04/10/18 Чтв 17:32:28 127461620
Аноним 04/10/18 Чтв 19:59:15 127471721
image.jpeg (571Кб, 1697x773)
1697x773
Аноны, ни как не могу понять почему так? Пожалуйста объясните.
Аноним 04/10/18 Чтв 20:35:03 127475522
>>1274392
Школьная математика за 10-11 класс по сути.

>>1274717
О, свежая кровь, добро пожаловать :3 Ну смотри, допустим у тебя 10 рублей надо разменять монетами по 1, 2 и 5 рублей. Просто возьми и распиши на листке все возможные варианты. То есть это будет: все способы разменять монетой в 1 рубль, в 2, в 5, в 1 и 2, в 1 и 5, в 2 и 5 - и все это просуммировать. Теперь разделим все варианты на две группы: с использованием 5-рублевой монеты и без. То есть общее число способов - это сумма числа способов а) без 5-рублевой монеты и б) с ней довольно очевидно. Это - первое подчеркнутое предложение с твоего пика. Теперь второе. Если мы используем 5-рублевую монету, то мы ее должны употребить хотя бы один раз. Но тогда у нас получается, что 10 рублей мы размениваем 5-рублевой монетой, и у нас остается еще 5 рублей. И эти оставшиеся 5 рублей мы можем разменять еще сколькими-то способами, и каждый такой способ соответствует способы размена всех 10 рублей, если к нему добавить 5-рублевую монету. То есть допустим мы размениваем 5 рублей как 2+2+1, тогда 10 рублей - это 5+(2+2+1). И так далее, для каждого способа разменять 5 рублей у нас получается способ разменять 10 рублей: 5+(...). А если у нас этой первой 5-ки нет, то это значит, что мы вообще не используем 5-ки - а число способов разменять сумму без учета монет первого типа (то есть 5-рублевых) мы уже посчитали ранее. Makes sense?
Аноним 04/10/18 Чтв 20:37:06 127475823
>>1274717
Поддвачну вопрос. Сам дорешал сикп почти до конца, остались последние два задания самые ебучие, но вот монеты эти сраные никогда не понимал. Алё, призёры олимпиад по математике с задачками на сообразительность)))0)) тут есть? Поясните по хардкору за монеты.
Аноним 04/10/18 Чтв 20:50:47 127477024
>>1274717
Подозреваю, что переводчик, который написал такой перевод как минимум педофил, а то и собакоеб-зоофил, натирающийся собачьим говном и делающим подобные вещи целыми днями.
Аноним 04/10/18 Чтв 21:07:04 127477825
>>1274755
Я понял, спасибо тебе большое.
Аноним 04/10/18 Чтв 21:09:24 127478326
>>1274770
А как ты упростил бы? Это не переводчик, просто на русском реально трудно подобные конструкции читать.
Аноним 05/10/18 Птн 11:44:42 127498727
Количество вариантов размена суммы n (в данном случае 10) равно количеству способов разменять сумму n (10) без использования монет х (в данном случае 5), а изначально монеты могут быть номиналом 1, 2 и 5.

Вот хотя бы таким языком, чтобы ты сразу прочитал и понял. А не сидел и тупил, как долбоеб, что это за набор слов и что эта хуета означает.
Аноним 05/10/18 Птн 11:45:15 127498928
Аноним 05/10/18 Птн 11:47:15 127499529
первый ТИП монет. это не тип, блядь, это номинал. можно написать без использования монет таким-то номиналом, а используя остальные.
Аноним 05/10/18 Птн 12:05:41 127501030
>>1274717
>>1274758
>>1274987
Я пока древо рекурсий в пейнте не нарисовал, тоже нихуя не мог понять эту херотень. Алсо, как раз после этой задачки понял, что советовать эту книгу нулевому вкатавальшику - ТРОЛЛИНГ.
Аноним 05/10/18 Птн 17:23:44 127521831
>>1274778
:3

>>1274987
В твоем варианте мало того, что ВООБЩЕ НИХУЯ НЕ ПОНЯТНО, так он еще и некорректный тащем-та.

>>1274995
Ага, вместо "первый тип монет" писать "монеты наибольшего номинала из имеющихся". Ну хуй знает, то же самое, только букв больше.

>>1275010
В каждом треде вроде по 10 раз все повторяют, что если учился в плохой школе без уроков программирования, не очень сообразительный, не можешь в математику и т.д. и т.п. - то для тебя есть htdp, книжка специально для школьников (а сикп - для студентов). Даже в факе написано "хтдп+сикп".
Аноним 10/10/18 Срд 13:54:10 127728232
Почти месяц у меня был перерыв, когда я тупил с базами. Сейчас нужно описать для себя функции, которые не являются базовыми, ну и разобраться с подключением баз. Продложим :)
оп
Аноним 10/10/18 Срд 14:49:38 127730233
есть htdp на русском ?
Аноним 10/10/18 Срд 16:04:57 127732734
Аноним 10/10/18 Срд 18:24:46 127736335
>>1277282
Добро пожаловать снова :3
Аноним 10/10/18 Срд 19:41:16 127739236
Ребят, сикп хорошая штука, чтобы пробудить в себе мышление погромиста?

Я просто даун-гуманитарий, даже простые математические задачки не решал толком.
Аноним 10/10/18 Срд 20:05:18 127740137
>>1277392
Тебе лучше зайдёт HtDP.
Аноним 10/10/18 Срд 22:06:02 127744738
Процедура memv принимает два аргумента, объект и список. Он возвращает первый подсписок или хвост списка, car которого равен объекту, или #f, если объект не найден в списке. Значение memv может использоваться как список или как значение истинности в условном выражении.

Объясните долбоебу, что делает эта функция. Русским, блядь, языком. Если объект в списке не найден, выводит #f, это я понял.
Аноним 10/10/18 Срд 22:43:20 127746339
Аноним 10/10/18 Срд 22:44:49 127746440
>>1277463
Онлайн читай, только вторую версию, а то я тогда наебался и н ачал первую читать.
оп
Аноним 10/10/18 Срд 22:49:23 127746541
>>1277464
Чем вторая версия круче?
Аноним 10/10/18 Срд 22:58:57 127747042
>>1277465
Там на 200 страниц меньше, уже вполне аргумент. И мол выкинули они ненужную хуйню.
Аноним 10/10/18 Срд 23:26:04 127747843
(define getq
(lambda (q)
(car (car q))))

Что делает эта функция? Ну хорошо, первым car берет первый объект списка. При раскрытии скобки единственный элемент берет еще раз?
Или учет на то, что изначально в q будет список из списков, первый car возьмет первый список, а второй car из этого списка возьмет первый элемент?
Аноним 10/10/18 Срд 23:37:29 127748344
(define delq!
(lambda (q)
(set-car! q (cdr (car q)))))

В догонку эту функцию. Она тоже изначально, что q это список списков, потом от первого списка берет cdr ? Просто других вариантов не вижу.
дебильный оп, как вы уже догадались
Аноним 10/10/18 Срд 23:40:14 127748445
Короче все функции переписал расшифровку (было около 15), ну кроме двух последних. Завтра буду опять подключение базы штурмовать, ваши посты у меня сохранены. Ну, чует сердце, приду завтра с дебильными вопросами, лол.
Аноним 11/10/18 Чтв 11:04:52 127757746
2018-10-11-1104[...].png (10Кб, 454x120)
454x120
>>1277447
Есть такая тупая, но готовая за хозяина пасть порвать штука, как документация. Вот смотри: https://groups.csail.mit.edu/mac/ftpdir/scheme-7.4/doc-html/scheme_8.html#SEC78
Там даже примеры приведены, специально для тупеньких, и явно написано, что memv - тоже, что и memq, просто использует для сравнения eqv? , а не eq? .
Аноним 11/10/18 Чтв 11:06:03 127757847
>>1277478
> Или учет на то, что изначально в q будет список из списков, первый car возьмет первый список, а второй car из этого списка возьмет первый элемент?
Да.
Аноним 11/10/18 Чтв 11:08:43 127757948
>>1277483
>В догонку эту функцию. Она тоже изначально, что q это список списков, потом от первого списка берет cdr ?
Да.
Ну или не список списков, а список с парами (cons'ами). Список - это, как ты наверняка уже знаешь, частый случай cons'а, у которого cdr'ом хвост списка, а не просто какой-то рандомный скалярный элемент (т.е. число там какое-нибудь или строка).
Вот видишь, уже начинаешь шарить и без нас.
> Она тоже изначально, что q это список
А ещё ты случайно бутылку колы.
Аноним 11/10/18 Чтв 12:16:13 127760649
>>1277577
Ок, сейчас пойду почитаю.
>>1277579
>начинаешь шарить без нас
Ну дорогу осилит идущий, хуле делать. Там выше ссылку кинули, с одной функцией доразбираюсь, да буду базы мучать, подключать их. А так 2 главы книжки разобрал, базы подключить, да дальше идти.
Аноним 11/10/18 Чтв 12:47:52 127761750
>>1277606
>базы подключить
Что за базы ты упоминаешь уже два поста? Ты уже до реляционных баз данных добрался? В HtDP же вроде про это нет.
Аноним 11/10/18 Чтв 13:26:13 127762451
>>1277617
Да не, функции, которые изначально в ракете не прописаны. Нужно куда-то там закинуть, че-то там сделать, чтобы каждый раз их не расписывать. Голову ебал месяц назад, так хуй осилил и бросил. Теперь с новыми силами и мыслями буду опять пробовать.
Аноним 11/10/18 Чтв 13:39:38 127762752
ok-hand-sign1f4[...].png (8Кб, 160x160)
160x160
Аноним 11/10/18 Чтв 13:40:42 127762853
Аноним 11/10/18 Чтв 15:52:47 127770054
>>1277447
Ну то есть она просто ищет элемент в списке, а когда находит его, возвращает и этот элемент, и все оставшиеся элементы (в отличие от memq, которая возвращает только сам элемент). Иными словами, она выкидывает начало списка до искомого элемента, и возвращает все что после него.
Аноним 11/10/18 Чтв 15:54:18 127770155
>>1277624
Только это не базы, а модули, кек.
Аноним 11/10/18 Чтв 16:09:36 127771256
надо говорить п[...].mp4 (966Кб, 1280x720, 00:00:06)
1280x720
>>1277700
Грубо говоря 4 (1 2 4 4 5 7 6) вернет (4 4 5 7 6) ?
>>1277701
Ну модули, че как видеорилейтед?
Аноним 11/10/18 Чтв 18:48:43 127780857
2018-10-11-1847[...].png (2Кб, 244x118)
244x118
>>1277712
Почему бы тебе не взять и не проверить самому? Практика - критерий истины же.
Алсо, на твоём видеорелейтед самый пассионарный персонаж всего русского кинематографа. Когда вырасту, я хочу стать как он.
Аноним 11/10/18 Чтв 19:08:44 127782758
>>1277712
Двачую оратора выше. Как-то странно спрашивать на зекаче, что вернет твоя функция, когда ты можешь, блждад, взять и запустить сам.
Аноним 11/10/18 Чтв 19:10:00 127782859
>>1277712
Алсо, нацепите пожалуйста кто-нибудь аниме им на лица и поставьте войсовер "ты же сикп читаешь, няша, надо говорить правильно"
Аноним 11/10/18 Чтв 22:25:16 127789160
2018-10-11-2224[...].png (16Кб, 373x226)
373x226
Только что доделал предпоследнее упражнение. УУУУХ БЛЯ, аж обои чуть не отклеились две недели почти делал
Аноним 11/10/18 Чтв 23:09:13 127790661
beer.jpg (72Кб, 604x604)
604x604
>>1277891
Малаца, Леонид Агутин одобряет!

сперва подумал, что это оп две недели факториал писал, ололо
Аноним 12/10/18 Птн 00:17:02 127793262
>>1277808
>>1277827
Да я сидел, с теорией в другом вопросе разбирался, не относящемся к компьютерам, вот че-то и затупил, на словах стал спрашивать.
Аноним 12/10/18 Птн 03:47:18 127796563
Короче сидел, разбирался с модулями сегодня. Не целый день, но так, наскоками. Читал ваши советы в прошлом итт. Один из советов был, прежде чем модуль сохранять, нужно нажать "run" и посмотреть, все ли функции работают. Блядь, пришлось многие удалить, Т.к. почему-то в залупу ракета лезла, че-то не нравилось. Ну да хуй с ним. Уж чисто ради результата оставил одну самую простую функцию про возведение в квадрат. Главное разобраться, как подключить, а потом докинуть проблем не будет, равно как и разобраться с тем, какого хуя ему расшифровка не нравилась. В общем почитал, что-то понял, завтра буду добивать. Ну и наверно с разрывом жопы сюда припрусь, Т.к. опять че-нибудь не склеится :)
Аноним 12/10/18 Птн 13:46:11 127806564
>>1277965
какой же ты долбоёб, это неописуемо
я любя
Аноним 12/10/18 Птн 14:53:26 127809865
Два дня пытался решить упражнение 1.28, частично решил (не полностью), потом посмотрел решение в инете, и теперь нахлынула депрессия, что сам не решил, и хочется вообще все нахуй бросить, пытаюсь забыть решение, чтобы начать превозмогать заново. Как с этим бороться?
Аноним 12/10/18 Птн 15:26:22 127812066
1.jpg (62Кб, 592x639)
592x639
2.jpg (62Кб, 589x639)
589x639
ОП ОПЯТЬ СОСНУЛ

Давайте по порядку, как с конченным дебилом, разберемся с этими модулями. Создал два файла с одной функцией - другие докинуть потом не будет проблемой, сейчас бы все подключить. Внутрянка у них правильная, не надо ничего дописывать? И это нормально, что ракета на #lang ругается?

>>1278098
А ты делай, как я - смирись с тем, что ты дебил, и все будет заебись :З
Аноним 12/10/18 Птн 15:43:52 127812867
screenshot--10-[...].jpg (307Кб, 1366x768)
1366x768
Ладно, взял себя в руки и допилил 1.28, правда конечно, с подсказками.

>>1278120
Няша, я перед sicp немного clojure делал (рекомендую Living Clojure, там интересные упражнения), и постоянно были проблемы с подключениям репла/проектов в редактор. В итоге плюнул на всё, и решил попытаться в emacs, который до этого три раза бросал. Так вот, переключение между scheme/clojure/racket/любым лиспом делается в несколько клавиш, очень удобно, рекомендую. Буквально за два дня настроил и разобрался в основах, после этого никакие мануалы вообще не читал (мне этого хватает пока, и да, многие конфиги я скачал готовые).
Аноним 12/10/18 Птн 15:46:04 127813068
>>1278128
Да мне бы с этим одним разобраться, а то переключение какие-то между языками. Тут-то оно уже как родное, уже и силы были потрачены, советов дана хуева гора. Мне кажется уже на самом пороге решения всей этой хуйни. Ну и люди тут знают, что куда, так что пока буду пробовать это домучать. Но за совет спасибо.
Аноним 12/10/18 Птн 15:47:48 127813169
>>1278130
у тебя Beginning Student стоит, идиотина
смени на нужное
Аноним 12/10/18 Птн 15:59:27 127813970
>>1278130
Понимаю, у меня emacs всегда ассоциировался с HEXом, над которым нужно танцевать день и ночь. В общем, нужно время и интерес/мотивация, чтобы начать.
Аноним 12/10/18 Птн 16:03:14 127814071
1.jpg (70Кб, 592x644)
592x644
>>1278131
А нужное, это какое?
>>1278139
У меня ни с чем не ассоциируется, Т.к. я не знаю, что это такое и пытаюсь хотя бы с чем-то одним до конца разобраться.
Аноним 12/10/18 Птн 16:09:58 127814372
>>1278140
Language > Choose Language > The Racket Language
Аноним 12/10/18 Птн 16:16:18 127814673
1.jpg (61Кб, 590x634)
590x634
2.jpg (74Кб, 588x640)
588x640
>>1278143
Хорошо, двигаемся дальше. Первый файл ругаться перестал. Второй на #lang ругаться тоже перестал, но начал ругаться на первый файл.
Аноним 12/10/18 Птн 16:24:16 127815374
>>1278098
Ну если ты посмотрел решение и разобрался, то на следующий день просто по памяти напиши рабочий алгоритм - и все, двигайся дальше, с этого упражнения ты получил все, что нужно. Суть же не в том, чтобы выебываться перед кем? перед собой? тем, сколько упражнений ты решил и какой ты охуенно умный, суть в обучении.
Аноним 12/10/18 Птн 16:29:17 127815575
>>1278120
Ты создал? Что ты создал? Пиши полные пути к своим файлам, телепаты все в отпуске как бы. Алсо, не используй на всякий случай пробелы в именах файлов, в венде постоянно с этим какая-нибудь хуйня вылазит. Ну это так, общие соображения.

У тебя же
>Language: Beginning Student
стоит, включи обратно полноценный рэкет (ты ж вроде включал уже), student-языки - это для тех, кто по хтдп занимается.

Алсо, нахуя ты ОДНУ И ТУ ЖЕ ФУНКЦИЮ в обоих файлах написал? Ты что, ебанутый? Тебе нужно из одного модуля импортировать (переиспользовать) функцию в другой, чтобы два раза ее не писать, але блядь, привет. Ух бля, ну-ка создал lib.rkt и main.rkt, быстраблядь! В либ.ркт положил свой скваре, в мейн.ркт написал (require ...) и какую-нибудь хуйню навроде (define foo (x) (square (+ x 1)), запустил кабанчиком, проверил циферки, хуль ты смотришь? Делай давай, блядь!
Аноним 12/10/18 Птн 16:32:19 127815676
>>1278128
Ты ебанутый? Нахуй ты ему имакс советуешь? И алсо у тебя на пике ты репл внутрь модуля перемещаешь, а ему надо разобраться с подключением модулей (и самой концепцией модуля, кек).

>>1278146
Ну вот, не зря я в прошлом посте написал про пробелы и попросил запостить полные пути к обоим файлам, лол.
12/10/18 Птн 16:38:48 127816077
>>1278155
(define (foo x) ...), разумеется слоуфикс
Аноним 12/10/18 Птн 16:49:06 127816478
>>1278146
1) Они должны быть в одной директории
2) Добавь в левый строчку (provide square)
Аноним 12/10/18 Птн 17:00:53 127817079
1.jpg (102Кб, 592x643)
592x643
2.jpg (70Кб, 593x642)
593x642
Адрес файлов просили, вот он C:\Program Files (x86)\Racket\моя библиотека\пробный
Опять пиздец и не там? Просто была непонятка еще с первого итт, там то папка db от слова дебил, который оп то еще какая-то, которой и в директории нет.
>>1278164
Ну оба файла у меня в одной папке, если ты об этом.

Переименовал первый файл в lib.rkt, дописал в него строчку (provide square), появилось какое-то окно блядь голубое, как его убрать?

Переименовал второй файл в main.rkt, удалил из него функцию, дописал строчку (define (foo x) ...). На первый файл ругаться перестало, видать правда дело в пробеле было. НАчал на многоточие ругаться.
Аноним 12/10/18 Птн 17:03:20 127817280
>>1278170
а почему он не должен ругаться на многоточие?
Аноним 12/10/18 Птн 17:04:48 127817581
>>1278172
Ну я хуй знает, выше скинули, я так и скопипастил.
Аноним 12/10/18 Птн 17:30:59 127818482
>>1278128
Ууу, кокой у тебя клёви ч0рни емакс. Завидоват.
Аноним 12/10/18 Птн 17:34:50 127818783
>>1278175
Ладно, давай как с четырёхлетним аутистом, который не умеет в абстрактное мышление. Напиши в main.rkt после строчки с requre строчки

(define (foo x) (square (+ x 1))
(display (foo 1))

и запусти. Компрене?
Аноним 12/10/18 Птн 17:55:42 127819584
15368619278300.png (85Кб, 258x327)
258x327
>>1278170
>дописал строчку (define (foo x) ...)
Аноним 12/10/18 Птн 17:57:44 127819785
2.jpg (88Кб, 597x645)
597x645
>>1278187
>давай как с четырёхлетним аутистом
Давай, это нам и нужно.
Аноним 12/10/18 Птн 17:59:46 127819886
2.jpg (62Кб, 596x648)
596x648
Короче скобку надо было. Все ок, прошло.
Аноним 12/10/18 Птн 18:01:20 127819987
>>1278198
Правда поставил скобку в последней строке, может нужно было в предпоследней?
Аноним 12/10/18 Птн 18:01:32 127820088
>>1278170
>Просто была непонятка еще с первого итт, там то папка db
Тебе твои файлы совсем не обязательно хранить там же, куда установлен сам рэкет. Обычно их кладут куда-нибудь в мои документы, или как там у вас на венде это называется. И пиши на латинице (маленькими буквами), типа projects/mylib/main.rkt

>>1278197
Блядь, ну ты сам разве не видишь, что там опечатка со скобкой?

>>1278198
А, ну вот, видишь. Только теперь подумай, что ты написал.

(define (foo x) (square (+ x 1)))
(display (foo 1))
Аноним 12/10/18 Птн 18:01:50 127820189
>>1278199
Ну вот, могешь же, когда хочешь, кек.
Аноним 12/10/18 Птн 18:09:54 127820490
2.jpg (63Кб, 594x644)
594x644
>>1278200
Перенес в мои документы, теперь адрес такой C:\Users\1\Documents\projects\mylib\lib.rkt
Ну второй файл в той же папке.
Вот, перенес скобку, вычислило 4.
Ну ок, дальше что делать?
Аноним 12/10/18 Птн 18:12:12 127820791
1.jpg (98Кб, 592x643)
592x643
Да, и как с этой пикчи убрать нахуй голубой экран с подсказками, или чем он там.
Аноним 12/10/18 Птн 18:14:05 127820892
>>1278204
Ну все, ты разобрался, как работать с модулями: разносить функции по разным файлам и импортировать эти функции в другие файлы.

>Ну ок, дальше что делать?
Ну видимо попробовать осознать, что ты сейчас сделал, прочитать еще раз первый параграф https://docs.racket-lang.org/guide/module-basics.html - ну и что ты там изначально хотел сделать, засунуть все свои воспомогательные функции в lib.rkt, не?

>>1278207
У тебя два рэкета что ли открыто? Подозреваю, что нужно нажать замочек, кек.
Аноним 12/10/18 Птн 18:18:12 127821093
>>1278208
Я нажимал замок, он то открывается, То закрывается, но окно висит. Но сейчас открыл тот файл, уже нет этой хуйни. Да и хуй с ним. ушло и в рот ебать.
Такой вопрос, вот у меня ракета на рабочем столе ссылка. Вот я захожу в нее и вся эта хуйня сразу работать начинает, что сейчас наляпал? Ну хотябы эту функцию "зашквар", в квадрат которая возводит. Или блядь нужно теперь каждый раз в документы ползать и оттуда заходить в файл main ?
Аноним 12/10/18 Птн 18:23:10 127821294
Короче с рабочего стола зашел, зашквару он нихуя не хочет видеть. И почему-то в первой строке теперь автоматом появилось #lang racket, а раньше не было
Аноним 12/10/18 Птн 18:24:02 127821495
Ну ланг ракет это рангуаге ракета - выбран язык ракеты, я так понял. А вот с функциями пока непонятка блядь.
Аноним 12/10/18 Птн 18:30:40 127821596
>>1278210
Ну так у тебя же может быть сколько угодно файлов и проектов. Откуда ракетка знает, над каким ты сейчас хочешь работать? Нажимаешь ctrl+O (или open file через меню) и выбираешь нужный файл. Ну как в ворде, блин. Не знаю как в венде, в линуксе там по умолчанию показываются все файлы, которые ты недавно открывал.

Алсо, там же в настройках можно включить табы, ну чтобы было одно окно с несколькими табами, а не по окну на каждый файл, имхо так удобнее.
Аноним 12/10/18 Птн 18:37:41 127821997
аа.jpg (110Кб, 956x642)
956x642
>>1278215
Я открыл сейчас через опен файл, высветилось второе окно, ну открывал lib.rkt, в нем написал зашквар 3, он их зашкварил в 9. Но блядь я файл переделаю, будет простыня огромная из всех этих расшифровок и всегда будет висеть она сверху? Тогда смысл всего этого, когда можно было тупо копипастить и не ебсти голову с модулями?
Аноним 12/10/18 Птн 18:43:11 127822098
>>1278219
Она у тебя будет в другом файле, простыня твоя. В lib.rkt у тебя будет простыня, а использовать эту простыню ты будешь во всех остальных файлах. Будет у тебя файл chapter1.rkt для упражнений из первой главы той книги, которую ты сейчас читаешь. Там ты сделаешь require и тебе будут доступны все функции из lib.rkt. Потом у тебя будет файл chapter2.rkt для упражнений из второй главы. Там ты тоже напишешь одну строчку с require и у тебя тоже будут доступны все функции из lib.rkt. Тебе не придется копипастить все в два разных файла. Потом если вдруг найдешь ошибку в какой-нибудь функции в lib.rkt, то ты ее один раз исправишь, в одном месте, и она (уже исправленная) сразу будет доступна и в chapter1.rkt, и в chapter2.rkt. А если бы ты копипастил, тебе бы пришлось в каждом файле ее исправлять (и в каждый файл копипастить все функции).
Аноним 12/10/18 Птн 18:53:28 127822999
аа.jpg (82Кб, 584x590)
584x590
>>1278220
Я сейчас не sicp и не htdp читаю, а книгу для полных даунов.
Ну смотри, у меня первое окно открывается, когда я программу запускаю. С него открыл lib.rkt, с этого уже открыл новый файл, в нем попытался вбить (require lib.rkt), ну чтобы в нем работало. Блядь, мне опять это говно с замком вылезло, на этот раз уже вообще нахуй на весь экран блядь.
Аноним 12/10/18 Птн 18:55:48 1278231100
аа.jpg (56Кб, 651x454)
651x454
Растянул на весь экран, ебаное синее окно осталось справа висеть. Вбил-таки рекуру с либом, ниже зашквар. Он гавкает, мол lib.rkt не понимает, что такое. Блядь, как оно заебало.
Аноним 12/10/18 Птн 18:59:26 1278235101
>>1278229
>Я сейчас не sicp и не htdp читаю
Без разницы, там ведь тоже главы наверное есть, не? Ты же вроде книжку про scheme от самих авторов scheme читал, емнип.

>у меня первое окно открывается
На всякий случай еще раз скажу, что там в настройках есть "open files in tabs instead of new windows", или как-то так, чтобы первое окно было и единственным, а файлы открывались в табах. Имхо так гораздо удобнее, хотя дело вкуса конечно (особенно если у тебя монитор большой).

>С него открыл lib.rkt
Ну можешь не открывать, если ты там ничего менять не собираешься.

>(require lib.rkt)
Неправильно. Сравнивай с https://docs.racket-lang.org/guide/module-basics.html и ищи ошибку.

>>1278231
Ну или тред буквально на пару постов выше проскролль и посмотри.
Аноним 12/10/18 Птн 19:04:57 1278239102
>>1278235
Увидел, что кавычек не хватает, но не помогло, значит что-то другое. Ладно, пойду чайку заварю, да буду статью читать. Спасибо за терпение, няша.
Аноним 12/10/18 Птн 19:05:44 1278240103
un-apunte-en-to[...].png (264Кб, 348x348)
348x348
>>1278231
>Он гавкает, мол lib.rkt не понимает, что такое. Блядь, как оно заебало.
А надо так, в кавычках
>"lib.rkt"
Аноним 12/10/18 Птн 19:08:27 1278241104
sibo01.png (77Кб, 300x300)
300x300
>>1278239
>Увидел, что кавычек не хватает, но не помогло, значит что-то другое. Ладно, пойду чайку заварю, да буду статью читать. Спасибо за терпение, няша.
Файл должен в той же директории находится, что и файл из которого ты делаешь require.
Ты реквайреш из утилитед3, ты уверен что на диск его сохранил?
Аноним 12/10/18 Птн 19:12:12 1278243105
>>1278241
Ну файлы lib и main сохранены. Просто у меня на рабочем столе значок ракеты, я его открываю и пытаюсь это сделать. Грубо говоря нужно пустой файл создать в той же папке, где два вышеуказанных, открывать его, в нем прописывать (рекурва либ) и все будет ок?
Аноним 12/10/18 Птн 19:15:32 1278249106
>>1278239
>но не помогло
Сообщение об ошибке какое? Телепаты ушли в бар бухать.
Аноним 12/10/18 Птн 19:17:22 1278250107
>>1278243
> Грубо говоря нужно пустой файл создать в той же папке, где два вышеуказанных
Просто открой main.rkt и там пиши. Но если прям нужен еще один файл - то да, создаешь в той же папке и делаешь require. Про относительные пути я даже не заикаюсь пока.
Аноним 12/10/18 Птн 19:21:14 1278251108
>>1278249
C:\Users\1\lib.rkt
не удается найти файл либ по вышеуказанному адресу. Короче я сейчас на тот адрес те два файла скопирую и должно все полететь.
>>1278250
Ну как вариант в той же папке я создам файл, ярлык от него размещу на рабочем столе и все будет заебца.
Аноним 12/10/18 Птн 19:22:49 1278253109
>>1278251
Зачем тебе ярлык от него размещать на рабочем столе?
Аноним 12/10/18 Птн 19:26:01 1278254110
аа.jpg (84Кб, 795x559)
795x559
ПОЛУЧИЛОСЬ, ЕБАНЫЙ БЛЯДЬ В РОТ
Сколько, сука, времени и нервов было потрачено на это говно, пиздец. Короче создал пустой файл в той же папке, ярлык скинул на рабочий стол, с ярлыка зашел, записал пикрилейтед и все сработало, осталось только другие функции туда захуячить, некоторые из них поправить, т.к. почему-то ракета ругается.
Последний вопрос на сегодня как это говно ебаное справа убрать? Приходится на весь экран программу растягивать.
>>1278253
Чтобы заходить в два щелчка мышки, а не ползать в документы и куда там еще.
Аноним 12/10/18 Птн 19:29:45 1278257111
Хотя да, удалил нахуй этот ярлык, просто захожу в прогу с рабочего стола, а в ней через файл открываю тот файл. Сохранил сразу в нем фразу (рекурва либ), теперь заебись, можно сразу заходить и печатать, что нужно.
Аноним 12/10/18 Птн 19:30:37 1278259112
>>1278254
>ПОЛУЧИЛОСЬ, ЕБАНЫЙ БЛЯДЬ В РОТ
Кек, конгратс! Можешь открывать пивас.

>как это говно ебаное справа убрать?
Я ж тебе уже говорил - на замочек нажми (ты ж его сам и закрепил там, лол, по умолчанию оно скрыто).

>Чтобы заходить в два щелчка мышки, а не ползать в документы и куда там еще.
Ну просто будет у тебя больше файлов - все их тащить на рабочий стол будешь? Имхо, дурацкая привычка, во всем должен быть порядок. Хотя у тебя-то кучи проектов на машине нет, так что в принципе конечно похуй...

>>1278257
Да, вот так все-таки правильнее всего :3
Аноним 12/10/18 Птн 19:34:50 1278261113
>>1278254
>Последний вопрос на сегодня как это говно ебаное справа убрать? Приходится на весь экран программу растягивать.
С кофемолки пишешь?
Нажми на замочек, чтобы он открытым стал.
После этого окошечко будет само собой прятаться, когда мышкой на него не наводишь .

>Сколько, сука, времени и нервов было потрачено на это говно, пиздец.
Я конечно же восхищаюсь твоим стремленеием изучать Ракет, но у тебя очевидно недостаток общей компутерной грамотности.
Так то тебе будет сложно без этого.
Читнул бы какую нибудь книжку типа виндовс для чайников
\командная строка виндовс или что-то тому подобное.
Ты же тян?
Аноним 12/10/18 Птн 19:36:00 1278262114
sibobydeceptico[...].jpg (102Кб, 743x1075)
743x1075
>>1278257
>Хотя да, удалил нахуй этот ярлык, просто захожу в прогу с рабочего стола, а в ней через файл открываю тот файл. Сохранил сразу в нем фразу (рекурва либ), теперь заебись, можно сразу заходить и печатать, что нужно.
Сделай ярлык НА ПАПКУ со своими файлами.
Аноним 12/10/18 Птн 19:38:17 1278263115
>>1278259
>Можешь открывать пивас
Да у меня че-то аллергия в последнее время на темное пиво, пятнами блядь покрылся, придется клюквенную настойку пить. А пиво-то люблю, как наберу всякой хуйни - сухарики, чипсы, орешки, рыбку, пиццу закажу..ммм, а тут блядь настойку придется. Но не сегодня, хотя сегодня предлагал пацану бухнуть, тот че-то в залупу залез. Ну зато здесь разобрался, как и что, это дорогого стоит. НАчинал-то голову ломать месяц назад и только сейчас понял. И то с вашей помощью, сам по себе еще дня 3 потупил бы, да пошел кому-нибудь деньги платить, чтобы разжевали, как долбоебу.
>на замочек нажми
Я нажимал, оно хуй куда уходило. Сейчас нажал, а оказалось нужно было мышку сдвинуть с программы, тогда эта хуета сворачивается. Короче тоже победил.
Спасибо еще раз, без вас бы правда за деньги пошел бы куда-нибудь узнавать, уже правда бесить начинало.

Итак, будем двигаться дальше. Сейчас все функции нужно будет скинуть в тот файл, но некоторые из них еще разобраться, почему работать отказываются, хотя копипастил с учебника и не менял.
После разбора функций буду дальше учебник штурмовать, 2 главы осилил, осталось еще 10. А потом, глядишь, на хтдп и сикп переключусь и уже побыстрее пройду, тупо зная команды языка и хоть как-то понимая всю эту логику, а то с нуля начинал, там просто пиздец. Ну вы и сами видите, насколько я интеллектуал, лол.
Аноним 12/10/18 Птн 19:39:12 1278265116
>>1278261
Нет, не тян. хотел было пошутить, что много общего, члены там люблю и в жопу, но доска вроде не та, лол
Аноним 12/10/18 Птн 19:40:28 1278267117
>>1278265
Ну если ты достаточно няшный, то клозе инаф фор ми.
Аноним 12/10/18 Птн 19:45:48 1278271118
>>1278261
>Ты же тян?
Проиграл с такой предъявы.Но насчет общей компграмотноти двачую.

>>1278262
Нахуя? Проще и логичнее из самой ракетки открывать, имхо.

>>1278263
>да пошел кому-нибудь деньги платить
Если надумаешь, советую вот этого поца в пинджаке: http://erlang-mnesia-video.ru/

>А потом, глядишь, на хтдп и сикп переключусь
Мне кажется тебе необязательно все 12 глав заканчивать, чтобы хтдп начать проходить. Скинь еще раз ту книжку, которую читаешь, - у меня просто подозрение, что там ближе к концу идет уже описание всяких сложных штук типа макросов, которые логичнее как раз после хтдп (и сикпа) разбирать.

>>1278265
>доска вроде не та
Тут каждая доска та, если ты понимаешь, о чем я ;););) ( ° ʖ °)
Аноним 12/10/18 Птн 19:46:13 1278272119
А, хотя не скидывай, нашел в начале треда, счас гляну
Аноним 12/10/18 Птн 19:47:54 1278274120
>>1278271
https://www.scheme.com/tspl4/
Вот эта книжка. не, тему пидоров все-таки не хотелось бы развивать, а то мои посты, в т.ч. оп-пост потрут и пиздец
Аноним 12/10/18 Птн 19:50:54 1278276121
Что вы тут все на скобочки свои надрачиваете? Взяли бы OCaml или SML, что ли.
Аноним 12/10/18 Птн 19:53:20 1278277122
Ну в принципе да, тебе первые 5 глав надо прочитать. После этого думаю хтдп норм пойдет, и с оставшимися главами можно будет консультироваться по ходу дела в качестве справочника. Ну и еще части про continuations могут быть ОЧЕ мозголомными, лол, их можно для начала пропустить. Хотя даже не, реально прочитать и разобраться нужно с первыми двумя главами, и потом уже хтдп, используя эту книжку как справочник, чтоб если что-то непонятно - взял и посмотрел в ней подробное описание и примеры.
Аноним 12/10/18 Птн 19:54:13 1278278123
Аноним 12/10/18 Птн 19:55:06 1278279124
>>1278277
Ну первые 2 я уже осилил. Правда упражнения во второй половине второй главы уже не осиливал. Ну попробую 3 почитать, там посмотрю уже, как и что. Все-таки это уже пятая книга, которую я начал и бросать ее в тот момент, когда она идет вроде бы неплохо, не хотелось бы.
Аноним 12/10/18 Птн 19:55:58 1278280125
>>1278278
Да я уж понял, что мне, тут нет второго такого же дебила :)
Аноним 12/10/18 Птн 19:59:41 1278282126
>>1278279
>осилил
>Правда упражнения во второй половине второй главы уже не осиливал
))

>бросать ее в тот момент, когда она идет вроде бы неплохо, не хотелось бы.
Ну я бы не назвал это "бросанием". Просто это же реально не учебник по программированию, который надо читать последовательно, а справочник по языку (с примерами и объяснениями). То есть она сразу охватывает все возможности языка (третья глава начинается с макросов), которые тебе пока не особо нужны и скорее тебя только запутают. Ну посмотри, но не забывай, что самое важное - это упражнения.

>>1278280
Лол
Аноним 12/10/18 Птн 20:01:39 1278284127
Что за дичь резко началась на квадратном корне?
Аноним 12/10/18 Птн 20:03:57 1278285128
>>1278282
Я так понял, что упражнения не мог осилить, Т.к. толком не мог разобраться, что делают функции. Сейчас они описаны у меня и наверно уже получилось бы их решать. Короче попробую дальше пойти, пока такой план, а там, если что обратно на хтдп перекачусь. В любом случае я иду вперед, стремлюсь, ебу голову, собираю инфу, короче продвигаюсь. Сегодня реально прорыв произошел, т.к. подключил эти ебаные модули.
насчет дебила - ну должно же быть в человеке что-то хорошее, вот у меня самооценка здоровая :)
Аноним 12/10/18 Птн 20:07:08 1278290129
>>1278284
Ну то есть что например вот эти строки значат?
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
Аноним 12/10/18 Птн 20:14:17 1278291130
>>1278285
Ну там в конце второй главы тоже относительно сложные упражнения в принципе. Я бы на твоем месте прорешал или хотя бы просто разобрался в решениях (быть может с помощью джвачика) до упражнения 2.8.7 включительно, и дальше пошел бы уже самостоятельно делать хтдп.

ну вот, а ты говорил, что второго нету, лол

>>1278290
>Объяви функцию "квдртнкрнь" от двух аргументов ("догадка" и "икс"): если наша догадка достаточно-хороша, то ее и вернуть; в противном случае, вызвать квдртнкрнь с новой (улучшенной) догадкой и тем же иксом.
Аноним 12/10/18 Птн 20:16:36 1278293131
>>1278291
Ну я тогда отредактирую функции, которые работать не хотят, а потом прорешаю 2 главу.
не, до его уровня мне далеко. Ну хотя если по ходу его книги те функции расписывались, то может и правда мы с ним одного поля ягоды
Аноним 13/10/18 Суб 08:10:27 1278444132
>>1278278
>IDE уже завезли? Нет? Ну ладно.
>использовать IDE для написания laba1
Неосилятор, плиз.
Аноним 13/10/18 Суб 09:00:14 1278450133
>>1271806 (OP)
Ребят а где обучиться Ракету чтобы на нем задачки решать? И где можно достать решения задач на нем чтобы проверить себя?
Аноним 13/10/18 Суб 09:37:19 1278455134
>>1278450
ХтДП без шуток, там вступительный раздел
Аноним 13/10/18 Суб 18:36:58 1278558135
>>1278291
Спасибо за объяснение, но объясните ещё плиз: была функция с названием sqrt-iter и формальными аргументами guess, x.
Потом в случае неудачи выполняется эта же функция, но уже с аргументами improve, guess, x. Я так понял, что guess меняется на improve, а почему по той же логике x из первой скобки не меняется на guess из второй, получается, замена идёт только для первого аргумента? И зачем в конце x?
Извиняюсь за такие нубские вопросы если что.
Аноним 13/10/18 Суб 18:54:55 1278570136
>>1278444
Лично я использую ide (GNU/Emacs) для написания всего, вплоть до текста этого поста. Но при чем тут я?..

>>1278450
https://htdp.org/2018-01-06/Book/

>>1278558
>но уже с аргументами improve, guess, x.
Нет, ты в глаза ебешься?

(sqrt-iter (improve guess x) x)

guess заменяем на (improve guess x), improve - это еще одна функция, дальше по тексту смотри.

>а почему по той же логике x из первой скобки не меняется
Потому что ты все еще считаешь квадратный корень того же самого числа, не?
Аноним 13/10/18 Суб 19:42:37 1278599137
>>1278570
> guess заменяем на (improve guess x)
Вот я со скобками запутался и не понял этого, сенкс.
Аноним 14/10/18 Вск 02:00:15 1278691138
У меня к Вам небольшой вопрос. Не сочтите его как какую-нибудь агрессию, я Вам правда буду благодарен за ответ.
Я занимаюсь разработкой БД, параллельно учусь на четвёртом курсе в тех. вузе. В этом вузе появился предмет, связанный с языком lisp. Я уверен, что смогу сдать этот предмет не прилагая усилий. Например, я могу купить решенные задачки и скатать со шпор на экзамене, но могу подойти с другой стороны, например, осилить эту книжку.
В чём, собственно говоря, вопрос? Какие преимущества, связанные с моей будущей карьерой, я смогу получить, если вложу усилия в работу с этой книгой? Может я стану умнее и смогу решать задачки на собеседованиях? Или я смогу ответить на большинство вопросов связанные со структурами данных? Может ли дать эта книга хоть какой-то продуктив?
Аноним 14/10/18 Вск 03:50:59 1278713139
>>1278691
Толсто, слишком толсто, попробуй в другой раз.

> > выразительная вежливость выдает мошенников
> > :

>Вам
>Не сочтите его как какую-нибудь агрессию
>буду благодарен


> > наивные вопросы "студента 4-го курса"
> > намеренное занижение интеллекта
> > подчеркнутое "незнание" темы вопросов
> > :

>преимущества, связанные с моей будущей карьерой
>Может я стану умнее и смогу решать задачки на собеседованиях
>смогу ответить на большинство вопросов связанные со структурами
>данных
>хоть какой-то продуктив

Если бы ты был студентом 4-го курса, ты бы не задавал такие вопросы, а на большинством из них знал бы ответ. Если все же правда, то советую сменить карьеру.

Ну а это вообще пушка:
> появился предмет, связанный с языком lisp
> осилить эту книжку
Это в каком вузе в 2018 году преподают лисп, да ещё, где требуется читать SICP.

> я могу купить решенные задачки и скатать со шпор на экзамене
Как уже написал выше, подумай над тем, чтобы поменять направление в жизни. Спасибо, я кончил.
Аноним 14/10/18 Вск 07:26:09 1278726140
>>1278713
>Это в каком вузе в 2018 году преподают лисп, да ещё, где требуется читать SICP.
У нас на первом и 2ром курсах преподавали в рамках общего знакомства с AI.
Но это было конечно 10 лет назад.

И да, согласен, какой-то припезденный тролль.
14/10/18 Вск 12:12:43 1278799141
>>1278713
>>1278726
Судя по тому как Вы меня полили дерьмом, я могу сделать вывод, что профитов нет. Но все равно, спасибо.
шарага мтуси, если кому интересно
Аноним 14/10/18 Вск 15:24:48 1278929142
Стикер (0Кб, 512x411)
512x411
Здрасьте. Я переживаю, что не могу некоторые задачи сам решить, это сильно плохо, если буду смотреть решения?
Аноним 14/10/18 Вск 15:51:16 1278946143
Аноним 14/10/18 Вск 15:57:03 1278954144
>>1278691
Хуй знает, по-моему студенты делятся на тех, кто покупает лабы, и на тех, кто эти лабы продает. Так как ты относишься к первой категории еще и на 4 курсе, никакие лиспы, сикпы, алгоритмы и задачки на собеседованиях тебе не нужны.

Ну, это так, взгляд со стороны.
Аноним 14/10/18 Вск 15:57:38 1278955145
>>1278929
Имхо, если будешь не просто смотреть, а разбираться и потом воспроизводить самостоятельно - нормально, ничего плохого.
Аноним 14/10/18 Вск 16:11:31 1278960146
>>1278954
Одну секунду.
Как я уже писал, у меня на данный момент уже есть работа, с доходом выше чем у тех, кто продает вузовские задачки. И конечно же, я знаю алгоритмы. Просто я хочу тратить свое время рационально, по этому и задаю такие вопросы.
Аноним 14/10/18 Вск 16:41:27 1278971147
>>1278960
>Просто я хочу тратить свое время рационально
>(Сидит на сосаче)
Проигрыш.
Аноним 14/10/18 Вск 16:42:25 1278972148
>>1278691
Она доставляет удовольствие. А жизнь без удовольствий это хуйня
Аноним 14/10/18 Вск 17:53:01 1278989149
>>1278971
Хорошо, я оговорился. Тратить не время, а усилие.
Аноним 14/10/18 Вск 17:56:38 1278994150
>>1278972
Смотри, условно я получаю удовольствие от миньета проститутки и скуриванием косяка кококо не программист. Если я вложу усилия в эту книгу, какой фитбэк я получу?
Аноним 14/10/18 Вск 18:04:22 1278999151
>>1278994
Никакого. Но лучше тебе было бы научиться получать удовольствие от таких вещей, потому что иначе ты быстро выдохнешься и станешь несчастным - типа, как бы побыстрее с работы быстрее убежать косяк покурить.
SICP это очень философская книжка, и это отличает раба от гражданина.
Аноним 14/10/18 Вск 18:52:42 1279019152
Если в Racket с помощью 2htdp/image нарисовать 2 идентичных внешне изображения, но разных по структуре (к примеру, на одном ещё расположить пустое изображение), и потом применить к ним "eq?", то результат будет false
Есть ли какой-то аналог "eq?", который будет сравнивать изображения не по их структуре, а именно как они выглядят?
Аноним 14/10/18 Вск 18:57:56 1279022153
>>1279019
по совместительству вопрос, никто не знает, есть какой-нибудь простой способ сделать заливку в изображении? Ну, как в Paint
Чтобы через big-bang, к примеру, кликал на квадрат и он менял цвет на нужный (именно квадрат, не заходя за пределы)
Аноним 14/10/18 Вск 20:24:38 1279079154
>>1278960
Ну анон, тебе как-то яснее выражаться надо. Алсо, я понятия не имею, какой у тебя уровень, чем ты собираешься по жизни заниматься, и вообще ты не предоставил никакой информации для ответа на твой вопрос. Раз ты на 4 курсе и работаешь, то ты наверное уже должен давным-давно знать и алгоритмы, и структуры данных, и задачки на собеседованиях уметь решать? Если нет - то непонятно, чем ты все это время занимался, см. предыдущий пост про покупающих студентов (но опять же, ты вроде говоришь, что ты не такой). Книжка-то вообще-то для первокурсников (ладно, очень сообразительных первокурсников). Подавляющее большинство отзывов о ней от уже опытных разработчиков, читавших ее далеко не на заре карьеры, - да, интересно и полезно, стал более лучше одеваться писать код. С другой стороны, раз ты БД делаешь, то ты байтоеб - может тебе это и не нужно и не интересно, может ты вообще потом в ебмеддед хочешь. А может и нужно и интересно - я не знаю, а ты не говоришь. В любом случае, ты ведь можешь прочитать оглавление и сам сделать какие-то выводы, не?
Аноним 14/10/18 Вск 20:28:06 1279081155
>>1279019
Напиши сам. Переведи в битмап, сравни попиксельно.

>>1279022
Гугли алгоритмы поиска пути, например. Для квадрата тебе достаточно просто идти во все стороны от данной точки и перекрашивать пиксель, пока он того же цвета, что и изначальная точка.
Аноним 14/10/18 Вск 20:37:16 1279086156
>>1279081
с квадратом всё понятно, мне нужен универсальный вариант

а как сравнить попиксельно? то есть, как выделить определённый пиксель изображения?
я хочу сделать таким образом:
допустим кликаю внутри квадрата, незакрашенного
там, к примеру, белый цвет внутри
дальше от каждого пикселя всего изображения поочерёдно рисую линию белого цвета до того пикселя, на который кликнул, если старое и новое изображение равны, значит преграды в виде другого цвета, в данном случае грани квадрата, нет, и можно заменить пиксель на нужный цвет
и так со всеми пикселями
Аноним 14/10/18 Вск 20:38:00 1279088157
>>1279086
вернее не от каждого пикселя, а от тех, которые белого (того же) цвета
Аноним 14/10/18 Вск 20:39:54 1279089158
>>1279086
и проблема в том, что когда нарисую эту дополнительную линию, через eq? всё равно результат будет false => мне нужна замена eq?

если нужно самому написать, то у меня только вопрос, как сравнить попиксельно
Аноним 14/10/18 Вск 20:41:19 1279090159
>>1279079
Послушай, формулировка как нужно для кого-то не совсем верная. Я сам не знаю, что меня ударит в голову и кем я захочу стать. Я хочу понять, зачем она нужна вообще?
Аноним 14/10/18 Вск 20:41:43 1279091160
>>1279081
и что ты имел ввиду под "переведи в битмап", зачем?
я сохраняю в bmp, открываю в bmp, всё равно изображение тоже (в структурном плане, внешне понятно, что тоже самое)
Аноним 14/10/18 Вск 21:54:18 1279115161
>>1279090
Эта книга лучшее что может быть из Introduction to Computer Science, она дает фундаментальные знания с точки зрения архитектора систем, а не просто потребителя фреймворков; она - это начало пути, который займет годы, а не этап, после которого можно говорить о каких-то конкретных результатах.
Аноним 14/10/18 Вск 21:56:49 1279118162
>>1279115
Другими словами - если ты хочешь быть виртуозо в программировании, то эта книга обязательна в твоей толстой библиотеке судя по всему нет, и это твой выбор. Если тебе нужно рубить бабло - ищи способы рубить бало.
Аноним # OP 14/10/18 Вск 22:39:58 1279133163
Ебать у вас тут сложно все. Я пробежался краем глаза полупьяным взглядом, не, сегодня мне тут делать нехуй. Сижу я, клюковку на коньячке попиваю :З
Аноним 14/10/18 Вск 23:01:19 1279144164
>>1279086
>мне нужен универсальный вариант
Ну я ж говорю, в общем случае - гугли поиск пути, это практически то же самое. У тебя ведь есть точка и некая область вокруг нее того же цвета, а все пиксели другого цвета - это как бы "стены", и тебе нужно найти все точки в изображении, в которые есть путь из начальной точки. Смекаешь?

>а как сравнить попиксельно?
Для начала вкури документацию: https://docs.racket-lang.org/teachpack/2htdpimage.html#(def._((lib._2htdp%2Fimage..rkt)._image-~3ecolor-list))

>рисую линию белого цвета до того пикселя, на который кликнул
А с чего ты взял, что у тебя по прямой путь должен быть путь до твоего пикселя? Смотри, представь у тебя белое изображение, и посередине черная горизонтальная полоска почти на всю ширину (но не до конца, по бокам проход остается). С твоим алгоритмом если кликнуть в нижней части и потом взять пиксель в правой части и провести между ними прямую линию, она наткнетяс на черную полоску, и ты ничего не закрасишь. А на самом деле тебе надо закрасить все изображение. Хинт: ты описал алгоритм освещения (рэйкастинг), в 2д играх часто такой используют для отрисовки области видимости персонажа: пускаем из персонажа прямые линии во все стороны и рисуем сцену там, где эти линии не пересекаются со стенками. Смотри: https://srdja.github.io/raycaster-demo/ (на кложе)
Аноним 14/10/18 Вск 23:06:51 1279150165
>>1279090
>Я хочу понять, зачем она нужна вообще?
Ну это хорошее введение в алгоритмы, дизайн программ, функциональное программирование и компьютер сайенс. Там много неплохих упражнений (уровня задачек на сообразительность с собеседований), плюс тебя систематически обучают именно дизайну алгоритмов и программ, плюс тебе рассказывают, как работают сами языки программирования (какие есть модели вычислений, какие есть распространенные оптимизации, как написать интерпретатор\компилятор, и т.п.)

То есть это введение в программирование и дизайн программ, где в качестве предметной области сами программы, как-то так. Не уверен правда, что это понятное объяснение, кек
Аноним 14/10/18 Вск 23:07:18 1279152166
>>1279144
не в правой, а в верхней
фикс
Аноним 14/10/18 Вск 23:15:58 1279156167
>>1279133
лол
обучение программированию уровня сикп-треда: гомопидоры, аниме и алкоголь
Аноним 14/10/18 Вск 23:16:19 1279157168
сикп, наркотики и аниме
Аноним 14/10/18 Вск 23:21:50 1279161169
>>1279144
а ты классный :3
спасибо, я тебя понял
Аноним 15/10/18 Пнд 08:53:46 1279237170
>>1279150
>Не уверен правда, что это понятное объяснение, кек
Нет достаточно понятных объяснения для даунов. Так что пойдет.
Аноним 16/10/18 Втр 21:09:30 1280212171
>>1279144
Interactions disabled

Есть вариант сделать так, чтобы всё не шло пиздой при больших рисунках? Чем проще делаю код, как-то хитрю, тем более большие рисунки обрабатывает моя заливка
Но всё равно есть предел, при котором "Interactions disabled"
Аноним 16/10/18 Втр 23:15:22 1280279172
>>1280212
Конечно есть, попробуй помолиться ктулху, есть еще вариант приложить подорожник к монитору. Телепаты ушли настойку пить, твой код не видно как бы
Аноним 16/10/18 Втр 23:23:50 1280287173
Аноним 16/10/18 Втр 23:25:08 1280288174
>>1280287
за говнокод сразу извините
Аноним 17/10/18 Срд 00:00:12 1280307175
>>1280287
П И З Д Е Ц

Ты правда думаешь, что в этом говне кто-то будет разбираться?
Аноним 17/10/18 Срд 00:04:47 1280311176
>>1280307
ну так намекнули, чтобы скинул
там разбираться в 1/4 кода максимум, если учитывать мой вопрос, а не смотреть тупо весь код
Аноним 17/10/18 Срд 15:46:42 1280547177
>>1280311
Нахуя ты все в лямбду обернул? Что за ебанутые имена с миксом из заглавных и нормальных букв? Нормально оформить код аллах запрещает, хотя бы пустые строки между дефайнами поставить? Что вот это за пиздец:

>((and (= (car (cdr (cdr x))) 2) (>= My (+ 25 (* (car (cdr (cdr (cdr x)))) 0.5))) (mouse=? B "button-down")) (cons (car x) (cons (cons `(,(make-coord Mx My)) (car (cdr x))) (cdr (cdr x)))))

???
Аноним 17/10/18 Срд 21:15:59 1280730178
399px-Drakeface[...].jpg (46Кб, 399x600)
399x600
>>1280287
>https://pastebin.com/i8ZRiEsB
>((and (zero? (car (cdr (cdr x)))) (>= My (+ 25 ( (car (cdr (cdr (cdr x)))) 0.5))) (mouse=? B "drag")) (cons (place-image (Figure x) Mx My (car x)) (cons (cons (make-coord Mx My) (car (cdr x))) (cdr (cdr x)))))
((and (= (car (cdr (cdr x))) 1) (>= My (+ 25 (
(car (cdr (cdr (cdr x)))) 0.5))) (mouse=? B "button-down") (false? (empty? (car (cdr x)))) (list? (car (car (cdr x)))) (= (length (car (car (cdr x)))) 1))
(cons (scene+line (car x)
(coord-x (car (car (car (cdr x))))) (coord-y (car (car (car (cdr x))))) Mx My
(make-pen (car (cdr (cdr (reverse x)))) (car (cdr (cdr (cdr x)))) "solid" (?Form (car (cdr (reverse x)))) (??Form (car (cdr (reverse x))))))
(cons (cons (cons (make-coord Mx My) (car (car (cdr x)))) (cdr (car (cdr x)))) (cdr (cdr x)))))
((and (= (car (cdr (cdr x))) 1) (>= My (+ 25 ( (car (cdr (cdr (cdr x)))) 0.5))) (mouse=? B "button-down")) (cons (car x) (cons (cons `(,(make-coord Mx My)) (car (cdr x))) (cdr (cdr x)))))
((and (= (car (cdr (cdr x))) 2) (>= My (+ 25 (
(car (cdr (cdr (cdr x)))) 0.5))) (mouse=? B "button-down") (false? (empty? (car (cdr x)))) (list? (car (car (cdr x)))) (= (length (car (car (cdr x)))) 1))
(cons (scene+line (scene+line (scene+line (scene+line (car x)
(coord-x (car (car (car (cdr x))))) My Mx My
(make-pen (car (cdr (cdr (reverse x)))) (car (cdr (cdr (cdr x)))) "solid" (?Form (car (cdr (reverse x)))) (??Form (car (cdr (reverse x))))))
Mx (coord-y (car (car (car (cdr x))))) Mx My
(make-pen (car (cdr (cdr (reverse x)))) (car (cdr (cdr (cdr x)))) "solid" (?Form (car (cdr (reverse x)))) (??Form (car (cdr (reverse x))))))
(coord-x (car (car (car (cdr x))))) (coord-y (car (car (car (cdr x))))) Mx (coord-y (car (car (car (cdr x)))))
Аноним 18/10/18 Чтв 11:51:15 1280924179
>>1280287
> (car (cdr
Ебанат, ты в курсе существования cadr, caddr и прочих?
Аноним 18/10/18 Чтв 11:54:28 1280926180
>>1280730
Кстати, выглядит как типичный С++ геймдев.
Аноним 18/10/18 Чтв 17:59:39 1281129181
>>1280924
так-то есть более удобные first. second, third и т.д.
так что проверяй за щекой
Аноним 18/10/18 Чтв 18:00:49 1281131182
>>1280924
у меня там функция в этом коде, которая любой элемент возвращает, нахуй мне твои cadr, долбоёбище
если мне так удобнее, значит мне так удобнее
а твоё ебаное мнение я не спрашивал
Аноним 18/10/18 Чтв 18:02:40 1281132183
>>1280924
и даже если нужно обрезать список, у меня опять же там функции Cut и UnCut, которые сам написал
и они будут удобнее твоей параши
Аноним 18/10/18 Чтв 18:25:27 1281142184
>>1280926
Кек, точно.

>>1281131
>если мне так удобнее, значит мне так удобнее
Анон, если ты устроишься на работу, накодишь первый таск, а потом на код-ревью в ответ на справедливые претензии лида, что у тебя ебаный говнокод, в котором не разобраться, скажешь "если мне так удобнее, значит мне так удобнее, пошел нахуй", то тебя скорее всего уволят. Рефактори свой код, там совершенная лапша. Алсо, тормозит у тебя скорее всего из-за того, что ты налево и направо используешь reverse, и в коде наверняка куча мест с квадратичной сложностью - но, как я уже сказал, никто в таком адовом говне разбираться не будет, как минимум оформи код по правилам и убери эти наркоманские цепочки (car (car (car (cdr x...

>>1281132
>Cut и UnCut
В scheme используется kebab-case, а не CamelCase.
Аноним 18/10/18 Чтв 18:26:39 1281143185
>>1281129
Алсо, насчет этого двачую. Хотя если они тебе нужны, то скорее всего лучше использовать деструктуринг.
Аноним 18/10/18 Чтв 18:34:48 1281148186
>>1281142
я разобрался с той проблемой
лимит памяти маленький был очень
ну а за reverse спасибо, буду стараться меньше его юзать
про то, что код говно, я знаю
я же не на заказ пишу, а для себя
Аноним 18/10/18 Чтв 18:50:42 1281154187
1539877840800.jpg (42Кб, 459x762)
459x762
>>1281148
> код говно
> я же не на заказ пишу, а для себя
А у меня обычно наоборот.
Аноним 18/10/18 Чтв 19:34:02 1281171188
>>1281143
> деструктуринг
В схемке разве есть? SICP дорешал почти до конца последнее упражнение осталось, про деструктуринг в нём вроде ничего не было. Гуглинг выдаёт только CL-евский loop.

>>1281154
Лол, два чаю этому. За деньги наебошу любую парашу, лишь бы заработало, а пет-проекты вылизываю, как кот яйца.
Аноним 18/10/18 Чтв 21:07:35 1281210189
>>1281154
Кек, двачую.

>>1281171
Ну там паттерн-матчинг есть, считай то же самое, если не использовать навороты. Еще values есть, хотя это хуйня.
Аноним 19/10/18 Птн 23:10:32 1281624190
Какая-то странная в книге заготовка решения задачи о восьми ферзях (2.42). Они зачем-то сначала добавляют очередную вертикаль ко всем существующим расстановкам ферзей и затем проходят по ним всем, чтобы отфильтровать не правильные.
Мой вариант решения сразу идет по списку текущих расстановок и пытается к каждой из них добавить очередную позицию.

https://pastebin.com/iYHD5ft4
Аноним 20/10/18 Суб 16:43:03 1281853191
>>1281624
Ну потому что там же в описании задачи рекурсивное решение, код просто его транслирует.
Аноним # OP 21/10/18 Вск 00:02:04 1281955192
Вечер в хату, лол. Решил чутка разбавить ваши обсуждения дебильным вопросом. В прошлый раз мне помогали модули подключить. Успешно создали два файла и пр. Теперь я решил расширить библиотеку и в файл lib.rkt докинул другие функции, а то изначально у меня там только square была. Докинул, сохранил, а в рабочем файле только square работает, а остальное нихуя не определяет. Может во второй файл нужно что-то дописать?
Аноним 21/10/18 Вск 00:06:03 1281959193
>>1281955
наверно нужно написать
(provide имяфункции)
для каждой из функции?
Аноним 21/10/18 Вск 00:07:15 1281960194
В емаксе для ракетки есть интеграция с реплом типа слайма или сидра?
Аноним 21/10/18 Вск 00:17:01 1281963195
>>1281959
Да, все пошло спасибо. Правда некоторые функции работают, некоторые нет. Но пока сам попробую поразбираться.
Аноним 21/10/18 Вск 13:22:10 1282142196
1537902533781.jpg (806Кб, 1280x720)
1280x720
Аноним 21/10/18 Вск 14:58:11 1282199197
>>1281960
Да, есть гейзер, и по-моему есть еще какая-то более новая штука, которая эмулирует слайм (но гейзера в принципе достаточно для написал-запустил).
Аноним 21/10/18 Вск 14:59:26 1282201198
>>1281959
Можно экспортировать все функции разом, если что, чтобы не писать каждое имя по отдельности.
Аноним 21/10/18 Вск 15:00:07 1282203199
>>1282142
Надо было learn you a haskell вместо керниганаричи, лол
Аноним 21/10/18 Вск 17:33:51 1282339200
>>1282201
не подскажешь, каким образом?
Аноним 21/10/18 Вск 19:40:32 1282407201
15401173311300.jpg (128Кб, 1280x720)
1280x720
2.82 Аноним 21/10/18 Вск 19:41:41 1282411202
>Измените apply-generic так, чтобы она не пыталась применить приведение, если у обоих
аргументов один и тот же тип.

Но зачем? Если оба типа приводимы к другому - мы успешно отработаем. Если такого приведения нет или операция не определена для приводимых типов тоже - будем ошибка. Это же нормальное поведение, нет?
Аноним 21/10/18 Вск 19:43:06 1282412203
1-13-656x390-1-[...].jpg (44Кб, 702x390)
702x390
Аноним 21/10/18 Вск 23:51:26 1282507204
(define proc1
(lambda (x y)
(proc2 y x)))

Оп продолжает ебсти голову. Есть функция, которая меняет местами аргументы. В ебанутом учебнике она написана как-то так. Но дальше по тексту там откровенная дичь, мол программа не будет ругаться и нормально сработает до того, как мы определили proc2, хотя по тексту касаемо proc2 там инфы нихуя и нет.
Суть вопроса - как подкорректировать программу proc1, чтобы она просто адекватно меняла местами аргументы?
Аноним 22/10/18 Пнд 00:07:43 1282509205
>>1282507
у тебя всё и так правильно
типо если ты подставляешь в proc2, к примеру
пусть она будет такая
(define (proc2 a b)
(+ (* a 2) (- b 2)))
подставляешь короче, например
(proc2 5 10)
то возвращается определённый результат
а через proc1 ты меняешь местами аргументы прежде, чем подставить их в proc2
(proc1 10 5)
она вызовет (proc2 5 10)
всё
Аноним 22/10/18 Пнд 00:11:27 1282510206
>>1282507
а то, что она не определена
это не нормально
чё-то на пиздёжь похоже
Аноним 22/10/18 Пнд 00:12:24 1282511207
>>1282509
Спасибо, я понял. Ну а если я просто хочу местами поменять два аргумента? Ну блядь пришло у меня с какой-то функции Х У, а я хочу, чтобы дальше пошло У Х, как бы мне описать? Просто то, что ты пишешь, для меня пока сложновато, мне бы с чем-то более простым пока разобраться. Грубо говоря от того, что ты написал, я какой-то пользы не вижу, в смысле не представляю задачу, которая мне будет поставлена и это все пригодится.
Аноним 22/10/18 Пнд 00:14:35 1282512208
аа.jpg (56Кб, 598x516)
598x516
Аноним 22/10/18 Пнд 00:16:38 1282513209
А, в учебнике точно, есть. В глаза я проебался. ИЗвиняюсь. Просто я переписывал каждую функцию и описания для proc2 не нашел, потому ее не описал и получилось, что ее нет. А оказалось, что они вместе с proc1 работают и друг без друга не существуют. Короче вопрос с повестки дня снимается. Спасибо.
Аноним 22/10/18 Пнд 00:18:46 1282514210
(define proc2 cons)
Там еще как-то по ебнутому описано.
Аноним 22/10/18 Пнд 00:20:21 1282516211
>>1282514
cons - это для списков и пар
(cons 1 '()) - список с элементом 1
(cons 1 (cons 2 '())) - список с элементами 1 и 2
(cons 1 2) - пара с 1 и 2
и всё такое
типо у тебя просто вместо cons сделали ему другое название вдобавок к старому - proc2
Аноним 22/10/18 Пнд 00:21:10 1282517212
аа.jpg (105Кб, 983x290)
983x290
Вот и разберись, блядь, без стакана, че там происходит и что они сказать хотели. И больше нихуя нет по этим функциям, по крайней мере до конца второй главы.
Аноним 22/10/18 Пнд 00:22:42 1282518213
>>1282516
Хорошо, спасибо, попробую это как-то переварить и описать в своем документе. Но наркомания однозначная, как я считаю. Там пикча выше, это описания proc1 и proc2, все блядЬ. больше ничего сказано не было.
Аноним 22/10/18 Пнд 02:05:48 1282531214
>>1271806 (OP)
Аноны, хочу прорешать книгу, но без ебли со схемой.
Можно ли для этих заданий использовать например js?
Или задания специально заточены под схему?
Аноним 22/10/18 Пнд 05:53:55 1282551215
>>1282517
Ты можешь описать proc1 не имея proc2 в области видимости - это не будет ошибкой, но ты не можешь вызывать proc1 если у тебя не задан proc2. Введи код с картинки в той же последовательности - все будет работать пока ты не уберешь 4 строку.
Аноним 22/10/18 Пнд 05:56:40 1282552216
>>1282531
Там все объясняется на схеме. Т.е. тебе полюбому придется читать ее, почему бы и не писать?
Аноним 22/10/18 Пнд 11:27:28 1282594217
>>1282531

Можешь, в принципе, на любом языке решать сикп, но тут есть нюанс: схема дает тебе определенный уровень абстракции, уже поддерживаемый языком (функции, как объекты первого порядка, S-expression, динамическая типизация и т.п.), эти абстракции используются, как строительные блоки. Если в выбранном тобой языке их не будет, тебе придется реализовать их самому, или как-то изъебываться иначе.
Поэтому, зависит от того, какой у тебя опыт программирования вообще и опыт на языке, которым ты хочешь решать сикп, в частности.
Конкретно с JS, вроде, особых проблем быть не должно, даже если ты новичок в нем. Но вот если бы ты захотел решать сикп на Си, возникла бы куча лишних сложностей.
Аноним 22/10/18 Пнд 13:07:53 1282625218
>>1282552
>>1282594
Спасибо что ответили!
Мельком читал тред и в принципе задачки не особо сложные. Против схемы ничего не имею, просто готовлюсь на вакансию жс джуниора и хотел бы набить руку именно на жс.
Еще меня пугает, что охуею разбираться со схемой, про которую до этого треда вообще не слышал.
Аноним 22/10/18 Пнд 14:25:03 1282662219
>>1282625
Книга не предполагает наличие у читателя знания схемы, там все походу про этот язык рассказывается.
Аноним 22/10/18 Пнд 15:34:11 1282700220
>>1282339
Открой документацию, епта! Там же все написано, ссылку уже дюжину раз вкидывали.
Аноним 22/10/18 Пнд 15:48:23 1282704221
>>1282407
Кек.

>>1282411
2.81, не? Там же речь о том, чтобы вместо добавления x->x приведений изменить саму apply-generic.

>>1282507
Ну принимай саму функцию, которую хочешь применить, в качестве аргумента, например:

(define flip
  (lambda (f x y)
    (f x y)))
Аноним 22/10/18 Пнд 15:55:28 1282707222
>>1282517
Тут написано, что ты можешь определить proc1 до того, как определена proc2. То есть ты можешь определять свои функции в любом порядке. Если g использует f, то необязательно определять сперва f, а потом g. Можно и наоборот, если тебе кажется, что так другим людям потом проще будет читать твой код. Хотя тебе лучше этим не злоупотреблять, определяй всегда все в том порядке, в котором оно используется. Кроме того, это позволяет тебе определять взаимно-рекурсивные функции. Вот представь, что у тебя есть какой-то очень хитрый алгоритм, в котором proc1 вызывает proc2, а proc2 в свою очередь вызывает proc1. То есть они обе друг друга вызывают, получается как бы кольцевая зависимость (уроборос эдакий). И вот то, что описано у тебя на пикрелейтед, как раз и позволяет такие функции\алгоритмы определять. А если бы схемка требовала, чтобы все используемые символы и функции были определены через define до того, как они используются, то такой алгоритм ты бы написать не смог в принципе. Смекаешь?
Аноним 22/10/18 Пнд 15:58:54 1282710223
>>1282625
>охуею разбираться со схемой
Если ты знаком с жс, то тебе часа два понадобится, чтобы разобраться со схемой на уровне, достаточно для сикпа. Блядь, да какие два часа?

f(x, y, z) -> (f x y z)
function(x, y) { return f(x, y) } -> (lambda (x y) (f x y))
var x = 42; -> (define x 42)

Все, можешь идти решать упражнения.
Аноним 22/10/18 Пнд 16:17:14 1282719224
>>1282710
Это префиксная нотация в лиспе?
Аноним 22/10/18 Пнд 17:49:20 1282790225
>>1282707
Хорошо, суть я понял. Спасибо.
Аноним 22/10/18 Пнд 18:55:46 1282841226
>>1282719
Ну в жс как бы тоже префиксная: ты же пишешь f(x,y), а не x f y. Тут просто все униформно и нет никаких исключений для арифметики и прочей хуйни, все эти плюсы-минусы-умножения - это обычные функции. Так что арифметика записывается в префиксной нотации, да хотя одно из первых упражнений на работу с макросами - это как раз добавить инфиксную арифметику в язык, кек. Ну то есть сделать это легко, просто никому нахуй ненужно.
Аноним 22/10/18 Пнд 19:09:37 1282853227
>>1282841
А вообще схема где-нибудь пригождается кроме упражнений?
Может на ней можно веб скрапить как на петоне или еще что нибудь полезного делать?
Аноним 22/10/18 Пнд 21:48:30 1282979228
Ну почему упражнения 2.49-2.52 такая боль ебаная, почему в современном издании не добавлены пояснения, какие библиотеки подлючать. Например, у меня все работает, кроме сраного draw-line. В итоге из 3-х часов, которые у меня занял раздел Picture language, 2 часа ушло на танцы с бубном вокруг библиотек и костылей для segments->painter.
Аноним 22/10/18 Пнд 22:07:26 1282990229
Аноним 22/10/18 Пнд 22:21:57 1282997230
>>1282979

Двачую, бро. К сожалению, дальше там не лучше - десятка два упражнений в конце 2-й главы построены вокруг двух функций (put и get), которые не определяются и без них проверять решения очень неудобно или вообще невозможно. Хз зачем так делать, это пока единственный для меня минус книги.
Аноним 23/10/18 Втр 01:05:04 1283080231
>>1282997
Ну так опишите эти функции.
Аноним 23/10/18 Втр 01:46:02 1283091232
>>1283080

Но я не знаю, как их описать. Они должны работать с неким глобальным пространством имен. В книге на момент конца второй главы, ничего не говорится о том, как реализовать нечто подобное.
Аноним 23/10/18 Втр 02:03:02 1283095233
Оп опять возвращается. Не могу понять, что делают функции. Вроде внутрянка-то несложная, а что-то не так.

(define count
(let ([next 0])
(lambda ()
(let ([v next])
(set! next (+ next 1))
v))))

Там еще с описанием залупа какая-то непонятная. Максимум, что смог вытащить из книги, что это какой-то счетчик. Скажите по русски, что он делает и как вводить переменные, чтобы проверить, работает ли. Есть подозрение, что считает, сколько раз значение возвращалось, но это не точно.

Пикрилейтед функция. Во-первых я так и не понял, что она делает, Вообще блядь не понял. Во-вторых копипастил из учебника в ракету функцию - не работает, копипастил красный шрифт в яндекс-переводчик, тоже ёбань какую-то выдает и не понятно, что не понравилось.


>>1283091
Ну попробуй открыть другие главы и через поиск на странице поискать эти два ебаных слова, может дальше будут. Я в своем учебнике порыл, нихуя не нашел, может чисто сикповская функция, составленная авторами книги, я хуй знает.
Аноним 23/10/18 Втр 02:03:23 1283097234
аа.jpg (74Кб, 593x497)
593x497
Отвалилась картинка.
Аноним 23/10/18 Втр 02:16:06 1283103235
>>1283095

Да не в этом дело. Они определяются в 3-й главе. Даже если бы не определялись вообще, естественно, я бы нагуглил, как их реализовать. Претензия именно в странном подходе - давать упражнения и скрывать часть информации, которая нужна для их выполнения.
Аноним 23/10/18 Втр 02:16:41 1283105236
Вот как-то так, через жопу, все и проходит. Нарыл этот учебник, который в принципе хорошо пошел. Потом уперся с подключением модулей, выебал блядь всю голову - месяц к этому не подходил. Подключили модули, спасибо анонам, начались проблемы с функциями, упрешься блядь опять в какое-то говно, пару дней не подходишь. Надеюсь на то, что сейчас эти две функции разберем, потом еще пару функций нужно будет, но там есть пару мыслей и думаю сам разберусь. Потом проверить работу тех функций, которые ошибки не выдавали, нормально ли они работают. И только потом, наконец-то, идти дальше.
Аноним 23/10/18 Втр 02:21:34 1283107237
>>1283103
Чем-то слоника сейчас напомнил, лол. Но там вообще ебаная наркомания, от которой я обблевался. Сикп начинал в самом начале читать, тяжелая книга и даже дело не в том, чтобы я тупой и с нуля, с дуру, начал ее читать. Были моменты, типа одна из функций шмонает список выражений, пока не встретит отличный от #t и выводит #f, в противном случае выводит значение последнего выражения. Вот блядь можно было расписать, что функция сама по себе обязана вывести какое-то значение и если из большого списка все истинны, то выводит значение последнего, т.к. какое-то значение все-таки должно быть. Это логика, блядь, которую можно понять и очень легко запомнить. А у них в той фразе нет логики, а тупое наставление, которое нужно зазубрить. ЭТо сейчас мне очевидно и хуй с ним, подобную фразу я смогу понять, но с нуля это невозможно, как я думаю.
Аноним 23/10/18 Втр 02:30:38 1283108238
И сразу, в догонку, где взять ебаные описания для выражений set-car! и set-cdr! ?
По логике вводим список списков, а выводит в первом случае список из первых элементов, а во втором список хвостов списков. Только блядь у меня две ебаные функции на них упираются, а описания нет нихуя. Пошмонал 2 и 3 главы, нихуя нет.
Аноним 23/10/18 Втр 17:38:33 1283448239
Аноним 23/10/18 Втр 17:50:12 1283452240
>>1283095
>Не могу понять, что делают функции.
Ну так прочитай по частям. Смотри, ты определяешь count. Это функция, потому что у тебя там лямбда возвращается, так? Но вокруг этой лямбды есть еще let. И внутри лямбды тоже есть let, так? Разберись сперва, что происходит внутри лямбды. Ты сохраняешь текущее значение next в переменную v, потом увеличиваешь next на единицу, и возвращаешь v. То есть ты возвращаешь текущее значение next, а потом увеличиваешь next на единицу. Так? Вот смотри, а теперь вся суть: фишка в том, что твой next определен вне лямбды, точнее вокруг нее. То есть это как бы глобальная переменная (как если бы ты ее через define определил), состояние в ней сохраняется между вызовами функции. Попробуй прямо переписать код с (define next 0), и проверь, что все работает так же. То есть count - это функция, которая увеличивает глобальный счетчик. При каждом вызове она возвращает текущее значение счетчика и увеличивает его на единицу. НО из-за того, что в коде next определен не через define, а через let, ты никак не можешь его изменить, кроме как через вызов count. Если бы next был определен через define, ты бы еще в какой-нибудь другой функции мог написать (set! next 42), например, или просто в репле изменить его значение, потому что это глобальная переменная. А когда ты определяешь его через let (вокруг лямбды), ты никак не можешь его изменить, кроме как через вызов этой самой лямбды. То есть у тебя получается уже не глобальное (которое можно изменять хоть откуда), а локальное состояние, и четкий интерфейс, через который с ним можно взаимодействовать (только через твою функцию и никак иначе). Это называется инкапсуляция.
Аноним 23/10/18 Втр 17:56:33 1283461241
>>1283108
https://blog.racket-lang.org/2007/11/getting-rid-of-set-car-and-set-cdr.html
tl;dr: из рэкета их удалили, потому что НЕНУЖНО.
Можешь сделать (require rnrs/mutable-pairs-6) и использовать set-mcar! и set-mcdr! (но это ненужно).

>>1283105
>И только потом, наконец-то, идти дальше.
Ну, тебе уже на хтдп пора переключаться, если ты первые две главы прошел. Дальше ты там тупо не поймешь ничего, ибо это справочник (с коротким туториалом в первых главах), а не учебник.
Аноним 23/10/18 Втр 19:14:55 1283515242
>>1283461
Ну вот смотри, у меня есть две функции.
Эта добавляет элемент в конце очереди - хуй знает, что имели в виду в учебнике, но описание такое.
(define putq!
(lambda (q v)
(let ([end (cons 'ignored '())])
(set-car! (cdr q) v)
(set-cdr! (cdr q) end)
(set-cdr! q end))))

Вторая функция удаляет первый элемент. ТАк понял, что есть список списков, он берет первый список и возвращает cdr его. И описание сет-кар

(define delq!
(lambda (q)
(set-car! q (cdr (car q)))))

Ладно, давай так. Мне может на эти две функции хуй положить и на set-car!, set-cdr! вместе с ними?

Сейчас я выписал функции, которые были в первых двух главах. Стремлюсь к тому, чтобы они нормально работали и чтобы идти дальше, вот и туплю, Блядь. Третью главу не открывал еще, но если там правда тупой справочник дальше по книге будет - смысл в ней и правда сомнительный.
Аноним 23/10/18 Втр 19:16:01 1283518243
>и описание сет-кар
На эту фразу внимания не обращать, скопировалась из моего текстового документа.
Аноним 23/10/18 Втр 20:58:52 1283582244
>>1283515
Ну перепиши эти функции без set-car!, используя просто set! и обычные операции над списками. После этого переходи на хтдп, держа под рукой эту книжку в качестве справочника. Ты предыдущие задачи из первой+второй главы прорешал же?
Аноним 23/10/18 Втр 21:04:27 1283584245
>>1283582
Я из первой все прорешал, из второй половину. Но это было месяца 2 назад. Вот думал добить эти функции, да перерешать вторую главу. Еще надо будет переосмыслить и осилить вот это -> >>1283452 Сейчас краем глаза в итт сижу, пока некогда.
Аноним 24/10/18 Срд 15:52:43 1283847246
Вчера был выходной от погромирования, было просто некогда. А сегодня взял ликерчика малинового, короче тоже некогда :З
Аноним 24/10/18 Срд 15:53:11 1283848247
>>1283847
Э, бля, чо галка где???
Аноним 24/10/18 Срд 15:53:50 1283850248
Че-то меня за алкоголизм ОПом больше не воспринимают, ну да ладно.
Аноним 24/10/18 Срд 17:19:44 1283881249
>>1283850
Кек, абу тебя наказал за харам! Извенись!!1
Аноним 24/10/18 Срд 17:28:56 1283886250
Извиняюсь
Аноним 25/10/18 Чтв 03:57:50 1284088251
Короче вариантов два: настраивал игру и отключил журнал событий винды; лисаблядь обновлялась. Сейчас журнал обратно включил, если галка не появится, значит виной ебаное обновление. уже протрезвел, но еще спать не ложился, лол
Аноним 25/10/18 Чтв 14:36:52 1284267252
Как же много абстракций начинается после упр 2.72. Думаю главы 3-4-5 осиливать не буду.
Аноним 25/10/18 Чтв 15:17:37 1284282253
Аноны, подскажите что там нужно поменять в настройках DrRacket чтобы схема запускалась?
Аноним 25/10/18 Чтв 18:25:05 1284388254
Аноним 25/10/18 Чтв 18:34:44 1284397255
>>1284388
>>1271806 (OP)
Я скачал IDE по ссылке с оп поста.
Установил.
Но судя по всему нужно настроить его, даже оп пост на это намекает.
>есть и поддержка Scheme, но её нужно включить
Поэтому и спрашиваю тут >>1284282
> Аноны, подскажите что там нужно поменять в настройках DrRacket чтобы схема запускалась?
Аноним 25/10/18 Чтв 19:11:30 1284420256
>>1284397
language > choose language > other languages > legacy languages > R5RS

или скачать "sicp", доп. язык для СИКПа, типо как какой-то стандарт схемы вроде, установить это расширение и писать каждый раз
#sicp lang
Аноним 25/10/18 Чтв 19:13:47 1284422257
>>1284420
#lang sicp*
ебанулся совсем
Аноним 25/10/18 Чтв 20:32:18 1284477258
Аноним 26/10/18 Птн 00:47:25 1284610259
>>1271806 (OP)
Честно ли разбивать процедуры на подпроцедуры?
Например 1.3 я разбил на 4 подпроцедуры, то есть в целом 5 дефайнов получилось.
Аноним 26/10/18 Птн 02:35:47 1284634260
>>1284610
Хоть на 10 разбей, кому какое дело как ты дрочишь?
Аноним 27/10/18 Суб 06:30:39 1285180261
аа.jpg (64Кб, 594x503)
594x503
Итак, оп опять вкатывается. галка ОР поди опять не поставится, по ходу виной обновление лисабляди
Решил перерешать все задания 2 главы. Столкнулся с проблемой, сразу оговорюсь, было чувство, что эту хуйню уже приносил, но прошмонал предыдущий итт - не нашел.
Есть функция length, которая считает количество аргументов, т.е. length (a b c) выводит цифру 3.
Дали задание определить функцию shorter, с помощью функции length, которая принимает два списка и выводит меньший из них; если списки одинаковы по количеству аргументов, выводит первый. Собственно, пикрилейтед. Нихуя не понял, почему работает криво, ткните тупым ебалом, что там не так.
Да, в ответах посмотрел, там решение через if - мол если больше, то одно значение, во всех остальных другое. Так намного проще, базара ноль. Просто интересно, почему мое определение работает через жопу. Причем первые два вычислило не правильно, а третье правильно. Сейчас сообразил, что можно было в две строки написать, просто в одной из них сразу поставить меньше или равно.
Аноним 27/10/18 Суб 07:51:09 1285185262
Capture.PNG (11Кб, 272x218)
272x218
скобки.png (5Кб, 365x145)
365x145
>>1285180
Это потому что вы трахаете скобки.
Аноним 27/10/18 Суб 13:59:50 1285270263
>>1285185
Там вроде разные скобки-то используются тупо для наглядности, не более. И поймал себя на мысли, что он всегда именно Y возвращал. Может просто cond не может возвращать какое-то значение, а его роль возвращать #t/#f, поэтому такая хуйня вышла?
Аноним 27/10/18 Суб 14:22:54 1285286264
>>1285270
как можно быть настолько тупым?
ну это прям пиздец
у тебя скобок не хватает блять
у тебя условие езде >
=
<
а не (> (length x) (length y)) и т.д.
поэтому > ~ #t и выполняется всегда возврат y
Аноним 27/10/18 Суб 14:33:59 1285295265
>>1285270
ты на вряд ли настолько тупой, скорее всего тебе не хватает концентрации, внимания и всего такого
сходи что ли к врачу, может что пропишет
без обид, ничего личного
Аноним 27/10/18 Суб 15:04:03 1285310266
>>1285286
Да, дело правда было в скобках, спасибо.
>>1285295
Я плюю на несколько дней, потом с головой ухожу, многое забываю за эти дни. Плюю, т.к. бывает упрусь в такую залупу, что все желание нахуй пропадает; другой вариант - просто некогда погромированием заниматься. Я в принципе задачи в последний раз решал месяца 1.5 назад, до того, как с модулями начал голову ебсти. Позабылось по ходу. Ну ничего, надеюсь без таблеток все-таки обойдется, лол. хочешь, чтобы меня опять положили? не-не, к докторам не пойду
Аноним 28/10/18 Вск 00:47:02 1285707267
11111.png (8Кб, 454x182)
454x182
15370355989810.jpg (115Кб, 1261x1263)
1261x1263
Нид хелп.
Мне нужно сделать аналог функции bytes<?
Берем два байтстринга и проверяем в лексиграфическом они порядке или нет.

Хочется сделать это поптимально, по памяти и времени, чтобы быстро оче.

пришел к такому варианту - пик.
Но не уверен относительно того, как будет выделятся память в let выражении.
Не высрет ли оно это в кучу вместо стека?
Не вызовет ли лишнею манипуляцию со стеком?

А если я буду вначале a-val и b-val объявлять а потом делать set! не вызовет ли это каких-то странных побочных эффектов?
Аноним 28/10/18 Вск 01:27:03 1285722268
Оп на связь выходит. Короче вторую главу по возможности прорешал - последние 10 заданий не осилил, да и тут писали, что они уже сложные. Пошмонал учебник дальше, правда там разбор функций идет, а именно обучения нет.
ВОЗВРАЩАЕМСЯ НА ХТДП, ЕБАНЫЙ В РОТ
Добро пожаловать, снова, лол. Поглядим, что на этот раз выйдет.
Аноним 28/10/18 Вск 02:08:47 1285741269
Ньюфаг тред привел сюда.
Два вопроса. Можно ли на вашем языке и удобно ли будет сделать две игры - одну типо цивилизации, а другую - визуальную новеллу?
Аноним 28/10/18 Вск 04:32:44 1285755270
Аноним 28/10/18 Вск 04:36:01 1285757271
>>1285755
А че так? Я просто из депрессии хочу выйти, врач посоветовал заняться программированием, чтобы мозги напрячь.
Аноним 28/10/18 Вск 05:40:07 1285759272
>>1285757
>из депрессии хочу выйти, врач посоветовал заняться программированием
Тебя затроллели.
Аноним 28/10/18 Вск 07:54:14 1285769273
>>1285759
Я щас тебя затроллю. Мамкиным дилдаком в анус.
Аноним 28/10/18 Вск 10:37:51 1285794274
>>1285757
SICP это троллинг ньюфагов типа боку но пико в анимаче.
Возьми гейммейкер лучше (на нем целый андертейл сделан), и начни с визуальной новеллы. Цивилизацию ты не потянешь.
Аноним 28/10/18 Вск 10:59:08 1285796275
>>1285757
>из депрессии хочу выйти, врач посоветовал заняться программированием
Лол, это еще более крутой троллинг. Я как хуями в монитор ложил, когда не получалось, так ну его нахуй. ЧЕТЫРЕ ЕБАНЫЕ КНИГИ БРОСАЛ прежде чем нашел ту, которая более-менее пошла.
оп
Аноним 28/10/18 Вск 13:54:57 1285848276
>>1285794
>типа боку но пико в анимаче
Офигенное же аниме.
Аноним 28/10/18 Вск 14:04:22 1285850277
>>1285848
SICP тоже неплохая книга
Аноним 28/10/18 Вск 15:15:32 1285887278
>>1284397
Racket (язык, который там по умолчанию) - это разновидность scheme. Ну типа как жаваскрип и es6. То есть тебе необязательно даже выбирать специальный язык для сикпа, там в любом случае отличия будут минимальные, типа какая-то функция по-другому названа или еще в таком стиле.
Аноним 28/10/18 Вск 15:16:57 1285888279
>>1284610
Не просто честно, а так и нужно делать. И еще давать им понятные дескриптивные имена. За функции, которые не вмещаются на один экран, следует сжигать заживо. А большинство функций должны быть 5-10 строчек в высоту.
Аноним 28/10/18 Вск 15:27:39 1285894280
>>1285707
>Не высрет ли оно это в кучу вместо стека?
>Не вызовет ли лишнею манипуляцию со стеком?
Анон, ты не на си пишешь. Я сходу не помню, но мне кажется, что стандарт не дает вообще никаких гарантий по поводу того, где размещаются объекты, и оставляет все это на усмотрение компилятора. Считай, что у тебя все boxed, короче. Если хочешь ебаться в байты, бери chicken scheme - оно генерит си-код, можешь потом сам открыть и посмотреть, куда оно аллоцирует, кек.

По факту, у тебя твои a\b-val будут просто поинтерами в кучу на стеке, инфа 99%.

Кстати, у тебя для двух пустых строк возвращает #f, хотя они в лексикографическом порядке, не?

>вначале a-val и b-val объявлять а потом делать set!
Говнокод же.
Аноним 28/10/18 Вск 15:32:30 1285898281
>>1285722
Нормас. Не забывай весь код, который ты там видишь, пробовать в репле, ну и упражнения все решать. Алсо, кидай свои решения на гитхаб\пастебин, типа отчеты о прогрессе ну и хуями тебе покладут заодно если код хуевый, кек

>>1285741
Лучше поиграй в spacechem или factorio. Для визуальной новеллы нужно рисовать, программирование тут не при чем.

>>1285794
>SICP это троллинг ньюфагов
Нет ты.
Аноним 28/10/18 Вск 16:07:20 1285915282
15334811287440.jpg (168Кб, 722x960)
722x960
>>1285894
>Кстати, у тебя для двух пустых строк возвращает #f, хотя они в лексикографическом порядке, не?
Не, если строки равны должно возвращать фулсе.
В самой ракетке есть 3 операции bytes<? bytes<? bytes=?

Но для пустых таки все 3 должны фулсе вернуть. Если по логике, но ракетка таки для (bytes=? #"" #"") выдает #t
Это может логично если рассматривать строки как строки, элемент текста.
Но у нас же программные строки, да и не строки, и массивы байт, пустой массив байт как бы особый объект должен быть, сравнивать то мы хотим содержимое, а если содержимого нет, так и сравнивать нечего.

>Анон, ты не на си пишешь.
Да, но...

>Считай, что у тебя все boxed, короче.
Ну нафиг.

>По факту, у тебя твои a\b-val будут просто поинтерами в кучу на стеке, инфа 99%.
Поинтерами не хотелось бы, хотелось бы чтобы просто в калл стеке.

>Говнокод же.
Прости меня, мама, хорошего борщехлеба.
Не понимаю, как можно кодить практично, и чтобы не было лютого дерьмокода.
Как начнешь эксепшоны ловить - всё, код поехавшим становится.
Аноним 28/10/18 Вск 20:32:39 1286077283
>>1285915
>Не, если строки равны должно возвращать фулсе.
А, тьфу, не меньше-или-равно же, а просто меньше, ты прав.

>Поинтерами не хотелось бы,
В смысле? Твой байтстринг в любом случае будет в куче лежать, если только компилятор не заинлайнит все что ни попадя. Опять же, я не знаю деталей реализации ракетки, но даже если бы и знал, думать о таких вещах в высокоуровневом коде не совсем правильно. Если хочешь контролировать каждый байт, пиши на расте, тут это просто splitting hairs получается.

>Как начнешь эксепшоны ловить
М О Н А Д Ы
М
О
Н
А
Д
Ы
Аноним 29/10/18 Пнд 15:44:49 1286431284
Аноним 29/10/18 Пнд 18:27:36 1286506285
аа.jpg (56Кб, 705x403)
705x403
Оп выходит на связь. Начал читать хтдп, в принципе сейчас я в том месте, с какого бросил в прошлый раз. Так-то продвигается и вполне осознанно, даже на 100% осознаю, что пишут, как это все работает и пр. По сути это только начало, но, в то же время, в прошлый раз это было осознанно процентов на 50, а потом вообще бросил, но сейчас иду вперед. Небольшой вопрос возник про функцию image-width. Собственно расшифровка пикрилейтед и больше нихуя не сказано. Вот для себя в текстовом документе я написал такое описание

image-width – принимает изображение (ширину, цвет и пр), а возвращает только ширину одним числом. если ввести несколько изображений, он складывает ширину всех и выводит общую одним числом. если внутри него overlay(несколько наложенных друг на друга), выводит бОльшую ширину, но не складывает, т.к. изображение-то одно

Просто это домыслы, что-ли, которые пришли в голову, глядя на примеры. Там именно текста с объяснением нет. Я все правильно описал?
Аноним 29/10/18 Пнд 18:46:58 1286519286
>>1286077
>М О Н А Д Ы
А что монады?
Как их готовить?
Аноним 29/10/18 Пнд 19:15:33 1286541287
И самый прикол в том, что я книжку-то дропнул, осилив только третью часть пролога, ебаный в рот. Но тут подача тоже такая, своеобразная. Сразу хуярят пример, в нем 3 функции, ни одну из них я не знаю и сложновато было. После бросания этой книги, я слоняру ебаного вроде бы на треть прошел, потом две главы учебника другого прорешал и вернулся. Причем тот учебник действительно понравился, там полноценное объяснение функций, как они работают, примеры нормальные, потом сразу же задачи есть. Короче огромный лойс тому учебнику, он очень многое дал. А теперь и хтдп (по крайней мере пролог) идет вполне нормально.
оп
Аноним 29/10/18 Пнд 19:26:46 1286550288
>>1286506
>если ввести несколько изображений, он складывает ширину всех и выводит общую одним числом.
Чо? (imagewidth i) возвращает ширину изображения i, в пикселях. Все.

Каким именно образом ты это изображение получишь - это вообще нерелейтед, ее это не ебет. Она просто возвращает ширину и все, как и написано на твоем пике.

>Просто это домыслы, что-ли, которые пришли в голову, глядя на примеры.
Ну так ты не просто гляди на примеры, а открой дррэкет да поэкспериментируй.

Аноним 29/10/18 Пнд 19:29:54 1286554289
Аноним 29/10/18 Пнд 19:33:47 1286560290
>>1286550
Понял, спасибо. Там про сложение я функцию beside че-то мимо глаз пропустил, а она-то в ширину изображения слепляет и получилось, мол сложение. Хорошо, понял все.
Аноним 29/10/18 Пнд 19:48:50 1286565291
15334811287440.jpg (168Кб, 722x960)
722x960
Аноним 31/10/18 Срд 19:28:57 1287712292
аа.jpg (96Кб, 823x436)
823x436
Оп на связи. Продолжаю воевать с прологом htdp. Дали задание посадить ракету на бетонный блок, который находится на 10 пикселей от края. Вчера весь вечер ебался и сегодня часа 2 убил, чтобы все-таки сделать, как надо. Понял, что все было проще, чем я думал, но все-таки сделал. Заебись, успех.
Аноним 01/11/18 Чтв 08:54:23 1287980293
Аноним 01/11/18 Чтв 09:30:48 1287986294
>>1287980
☐☐☐☐ - ☐☐ ☐☐☐☐☐ ☐ 2 ☐☐☐☐☐☐
Аноним 02/11/18 Птн 17:58:58 1288873295
аа.jpg (22Кб, 720x197)
720x197
Оп рапортует. Пролог успешно осилил, все заебись. Начал 1 часть штурмовать, все хорошо, расписываю какие-то функции. Вопрос возник: что делает функция (numerator x) ? Переводчик говорит "вычисляет числитель рационального". Поначалу подумал, что числитель дроби возвращает, методом тыка понял, что это не так. 34/443262 он возвращает 17 почему-то. а 34/443263 возвращает 34
Аноним 02/11/18 Птн 20:53:26 1288988296
Аноним 02/11/18 Птн 22:15:10 1289023297
>>1288873
34/443262 приводится к 17/хххххх
Аноним 02/11/18 Птн 23:12:12 1289053298
аа.jpg (23Кб, 381x473)
381x473
>>1289023
Ну у меня такое выдает. Так что она делает-то эта функция? Пробовал 34 с другими знаменателями, в большинстве выдает 34.
Аноним 02/11/18 Птн 23:17:38 1289063299
>>1289053
Числитель выводит, очевидно
34/443262 это 0.00007670407, что эквивалентно 17/221631
Нахуй тебе сикп, читай лучше школьный учебник по арифметике
Аноним 02/11/18 Птн 23:23:48 1289069300
>>1289063
Короче если можно сократить числитель и знаменатель, он их сокращает и выводит числитель. А если они не сокращаются, он просто выводит числитель. Так?
Дело не в арифметике, а в попытке понять логику, методом тыка не удалось, вот сюда и принес.
Насчет сикпа - я хтдп читаю, лол.
Аноним 02/11/18 Птн 23:24:48 1289070301
>>1289069
В функцию приходит не твоя дробь, а
Аноним 02/11/18 Птн 23:25:12 1289073302
Аноним 02/11/18 Птн 23:32:14 1289077303
>>1289070
Ну если поделить, Это понятно, сколько будет. Короче понял, выводит наименьший числитель, если меньше не сделать, выводит его. Спасибо.
Аноним 02/11/18 Птн 23:41:47 1289082304
>>1289077
Это все в документации написано, между прочим
Аноним 02/11/18 Птн 23:49:14 1289084305
>>1289082
Ну выше скрин я постил, большего не увидел по этой функции.
Аноним 02/11/18 Птн 23:52:34 1289087306
Аноним 02/11/18 Птн 23:53:57 1289089307
>>1289087
Ну в любом случае ответ я получил, спасибо.
Аноним 03/11/18 Суб 12:31:52 1289220308
Аноним 03/11/18 Суб 18:17:06 1289341309
Тупой хочет стать программистом. Аноним 03/11/18 Суб 19:41:28 1289365310
Здраствуйте, аноны. Я очень тупой человек, который не знает простейшие элементы математики, которые люди проходят в 5-9 классах в школе, но хочу попробовать себя в программировании. Так же прочитал где-то, что для программирования ещё важна физика, чего я раньше не слышал, физику я тоже не знаю от слова совсем. Возможно ли с такими знаниями суметь в кодинг? Пока что почитываю SICP.
Аноним 03/11/18 Суб 20:58:12 1289395311
>>1289365
С такими знаниями нужно читать школьные учебники, а не сикп почитывать, это тебе не художественная литература, это курс.
Аноним 03/11/18 Суб 22:45:02 1289435312
ОП самого первого треда доволен, что тред не забросили, молодцы.
Аноним 03/11/18 Суб 23:05:30 1289441313
>>1289341
здесь же есть шарящие за ооп в ракете, помогите ну
Аноним 03/11/18 Суб 23:30:04 1289449314
>>1289441
Судя по описанию родительское окно нужно передавать
Аноним 03/11/18 Суб 23:45:05 1289452315
>>1289449
если сначала пишу #f, то всё нормально, пока не нажму на кнопку для создания экзешника
04/11/18 Вск 15:11:17 1289613316
>>1271806 (OP)
Аноны, помогите понять смысл решения задачи про монетки.
Я не прошу объяснять мне код, он простой.
Мне скорее интересна логика почему
>the number of ways to change amount a using all but the first kind of coin,
плюс
> the number of ways to change amount a - d using all n kinds of coins, where d is the denomination of the first kind of coin
Заранее извините если с разметкой намудрил
04/11/18 Вск 15:22:21 1289616317
То есть как пришли к такому решению в книге вообще не говорится. Дается задание и сразу ответ.
Аноним 06/11/18 Втр 07:32:58 1290491318
Аноним 06/11/18 Втр 13:37:20 1290593319
>>1290491
Спасибо, хорошее объяснение.
Итеративные решения к некоторым заданиям довольно сложно подобрать. Даже с 1.11 где все довольно просто и то пришлось рисовать на листке прежде чем понял. А для того же count-change пока не получается, так что оставлю его на потом, через какое то время вернусь и появятся идеи.
Аноним 06/11/18 Втр 20:12:03 1290808320
Аноны, а если прорешать и понять хтдп от корки до корки, как быстро потом удастся сикп прорешать?
Аноним 09/11/18 Птн 13:11:26 1292210321
Можно на Racket как-то обрабатывать систему сообщений Windows?
Аноним 10/11/18 Суб 14:58:46 1292841322
Gnu guile кто-нибудь пробовал?
Аноним 10/11/18 Суб 15:02:25 1292845323
Аноним 11/11/18 Вск 21:05:44 1293769324
1-176-768x818.jpg (82Кб, 768x818)
768x818
Дорешал вторую главу. Мой разум остр, как бритва. Мои руки точны, как движения охотящегося тигра.
Аноним 13/11/18 Втр 05:38:48 1294673325
>SICP Anime Opening
wwwwwww
Аноним 13/11/18 Втр 22:05:46 1295114326
Аноним 13/11/18 Втр 23:33:03 1295161327
>>1295114

Роберт Викторович, он самый.
Аноним 13/11/18 Втр 23:40:09 1295163328
1310750148.png (4Кб, 468x467)
468x467
Работаю джава-программистом уже 5 лет, сразу после универа устроился. Мидл, зп 130к в Питере.
Скачал сикп и не осилил первую главу. Почитал тред и увидел, как все пишут, мол, это книга для студентов. Улетел на жопной тяге на орбиту. Вы меня затроллили, молодцы.
Аноним 14/11/18 Срд 00:15:38 1295171329
>>1295163
А хуле ты хотел, я свои конспекты по диф.геому тоже еле осиливаю, хотя когда-то по ним сдавал экзамен.
Аноним 14/11/18 Срд 00:31:52 1295181330
Есть ли что-нибудь подобное на Си?
Аноним 14/11/18 Срд 01:09:23 1295196331
ОП рапортует. Короче читаю хтдп, первую главу прошел на 40%, энтузиазм закончился. В принципе все получается и идет нормально, но заебался я что-то. Возьму перерыв неделю-две, как получится, может месяц. Потом дальше пойду.
Аноним 14/11/18 Срд 01:16:48 1295198332
>>1295196
Да, по объему если посчитать, то это я за 2 недели столько изучил. Если провести какую-то параллель, грубо говоря к апрелю я должен книгу добить. Есть мысли, что дальше сложнее и медленнее, но корректировку на этот случай я сделал. Короче поглядим.
Аноним 14/11/18 Срд 01:28:41 1295203333
>>1295196
ОП, так как ты обе книги читал и решал, скажи в чем принципиальная разница между ними? То что одна "легкая" а вторая "сложная" это я знаю, но чем-то еще они отличаются?
Пока решаю 3 главу сиспа, впечатление довольно двоякое. Не сказал бы что сложно, но заебывает.
Аноним 14/11/18 Срд 01:45:06 1295206334
>>1295203
Я сикп начал читать и решать, в результате бросил, т.к. не пошло. Потом хтдп начал решать, тоже не пошло и бросил. Дальше было пару книг, которые более-менее пошли, теперь на хтдп вернулся и все-таки пошло, блядь. Мне сложно судить, т.к. я их не прорешал же. Ну и да, для себя вывел, что одна сложнее другой, причем намного сложнее. А больше мне сказать нечего, извиняй.
Аноним 14/11/18 Срд 01:51:07 1295207335
>>1295206
А если не секрет, куда ты стремишься (пройти собеседование, прорешать всю книгу)? Или просто решаешь для того чтобы решать?
Аноним 14/11/18 Срд 01:54:48 1295208336
>>1295207
Я хочу стать программистом. Отзывы в интернете говорят о том, что язык-схема хорош для начинающего. Плюс хтдп охуенная книжка, чтобы понять логику программирования. Она же на том же языке и написана. Плюс сикп одна из лучших книг, которая делает код охуенно чистым и пр., опять же сикп на том же языке программирования. А на любой другой язык можно переучиться за 3 месяца. Вот и думаю по такому пути пройти - изучить эти две книги, потом изучить вакансии, выбрать язык, выучить его и идти на работку. Хотя есть мысли, что сикп может не потяну или будет много сложных задач, на которые просто время будет жалко тратить. Даже сейчас в хтдп сталкивался с задачами, которые я прекрасно понимаю, как сделать, но просто время тратить не хотел, путь даже это были бы сраные 5 минут. Хотя таких задач было мало, и 90% я все-таки прорешивал.
Аноним 14/11/18 Срд 02:24:38 1295212337
>>1295208
>схема хорош для начинающего
С самого начала задаюсь вопросом, зачем автор выбрал схему? Почему не хаскель, на котором даже сайты можно писать, а также графические интерфейсы и многое другое?
Аноним 14/11/18 Срд 02:28:00 1295214338
>>1295212
Хуй его знает, нам-то, простым смертным, остается только гадать. Ну еще так можно сказать, автор-то явно свое дело знает куда лучше, чем мы с тобой. Ему виднее, наверное.
Аноним 14/11/18 Срд 23:51:38 1295635339
>>1295212
>даже сайты можно писать, а также графические интерфейсы и многое другое?
Racket и GNU Guile. Это умеют.
Аноним 16/11/18 Птн 15:28:44 1296241340
Упражнения 2.81-2.86 загоняеют меня в депрессию. Думаю о суициде. Бросить всё и идти джаваскрипт учить?
Аноним 17/11/18 Суб 01:08:03 1296510341
>>1296241
Делай, что нравится. Потом можешь вернуться и продолжить.
Аноним 17/11/18 Суб 17:13:19 1296772342
>>1271806 (OP)
Есть ли смысл читать SICP если мне не нужен Lisp?
Аноним 17/11/18 Суб 17:25:21 1296777343
Аноним 17/11/18 Суб 17:26:27 1296778344
>>1296777
Нуу триплу стоит довериться)
Аноним 18/11/18 Вск 21:35:53 1297385345
proxy.duckduckg[...].png (801Кб, 900x900)
900x900
>>1271806 (OP)
>Эта книга посвящается, с уважением и любовью, духу, который
живет внутри компьютера.

Лайк
Аноним 19/11/18 Пнд 15:14:59 1297679346
>>1296772
>>1271806 (OP)
На самом деле сисп переоценен. Хз зачем его тут форсят, но если хотите подтянуть уровень читайте Кормена.
Он объясняет всё на псевдокоде, который очень легко перенести на питон, жаву, жаваскрипт и почти любой другой яп.
Сисп не плохая книга, но он устарел лет так на 30.
В 2к18 есть гораздо лучше, современнее и актуальнее.
Хотя борщехлебам без разницы что учить, хоть сисп на схеме 70 годов прошлого века, хоть хаскель где даже с опытом фп хуй найдешь работу.
Аноним 19/11/18 Пнд 16:38:59 1297707347
>>1297679
Кормен - это книга про алгоритмы, а Сикп – про некоторые идеи, которые стоят за компьютерными программами вообще. Как одно может заменить другое?
Если есть задача освоить популярный ЯП, нужно брать книжку по этому ЯП.
Аноним 19/11/18 Пнд 17:58:24 1297757348
хочу начать изучать C++, новичку стоит с него начинать? И подойдёт ли для этого книга SICP? С чего начать вообще стоит?
Аноним 19/11/18 Пнд 22:26:46 1297872349
86b587ef7593f1a[...].jpg (39Кб, 500x485)
500x485
Аноним 20/11/18 Втр 01:00:37 1297942350
>>1297757
С хаскеля начни, затем С++ и только затем сисп.
Аноним 20/11/18 Втр 09:41:24 1298042351
>>1297942
И тем самым учить 3 языка, молодец.
Аноним 21/11/18 Срд 02:19:42 1298605352
>>1297679
>устарел лет так на 30.
>сисп на схеме 70 годов прошлого века
Кто тебе мешает использовать Racket или Guile?
Аноним 21/11/18 Срд 02:21:04 1298608353
Аноним 21/11/18 Срд 17:41:36 1299110354
>>1298608
Чем хороша луа? Нахуй нужна она? Хаскелль же есть
Аноним 21/11/18 Срд 18:21:19 1299137355
>>1299110
Двачую этого, нахуй луа вообще нужна?
Скриптики всякие на змее заходят, по скоростям луа тоже сосать не даёт, плюс какие-то ебанутые загоны типа индексации массивов с единицы.
Аноним 21/11/18 Срд 19:17:01 1299172356
>>1298042
>>1297942
>sicp
>язык
Теперь я знаю кто обитает в этих тредах
Аноним 21/11/18 Срд 19:24:09 1299176357
>>1299110
>луа
Писать моды для факторио
Аноним 21/11/18 Срд 19:27:01 1299178358
Аноним 22/11/18 Чтв 13:11:26 1299523359
>>1299172
Мудачье, типа тебя, которое в глаза долбится :З
Аноним 22/11/18 Чтв 13:11:29 1299524360
>>1299110
Lua хорошо в связке с C работает. Встраиваемый язык, можно программировать различные игры и nodemcu. Есть библиотеки для создания игр.
Аноним 22/11/18 Чтв 15:40:44 1299614361
Хелп, дашчан перестал постить, уверяя меня в том, что я ввожу неправильную капчу! пробовал раз пятьдесят
Аноним 25/11/18 Вск 15:38:42 1300952362
>>1271806 (OP)
Скажите дауну, как в лиспе выводить текст?
Аноним 25/11/18 Вск 16:03:21 1300956363
И вдогонку вопрос: как вернуть сразу 2 значения? Например, в случае вывода двух корней квадратного уравнения.
Аноним 25/11/18 Вск 23:22:08 1301170364
>>1300952
1) "Text"
2) (require 2htdp/image)
(text "Text" 18 "black")
3) (require 2htdp/image)
(text/font ... (подробнее ищи на официальном сайте языка))
4) и т.д.
---
(define (f x)
(list (+ x 5) (+ x 10)))
То есть либо через список, либо через структуру
(define-struct a (b c))

(define (f x)
(make-a (+ x 5) (+ x 10)))

Ну и по идее различные более изощрённые варианты, к примеру, запихать их в строку и вывести как текст, смотря что тебе нужно
Возвращать у тебя функция всегда 1 параметр будет
Аноним 25/11/18 Вск 23:24:54 1301173365
>>1301170
ещё добавлю, что у списков много различных видов записи, ну можно ещё через пару вывести, это такой "недо"-список
Аноним 26/11/18 Пнд 01:02:51 1301222366
Стоит ли подсматривать ответы, если не могу решить или пропускать и решать дальше, а потом возвращаться?
Как делаете вы?
Аноним 26/11/18 Пнд 07:41:41 1301270367
Аноним 26/11/18 Пнд 22:02:14 1301578368
>>1301222

Я обычно пропускаю, если сильно долго не могу сообразить и иду дальше. Потом просто время от времени возвращаюсь. Ответы на нерешенные задачи смотрел очень редко, что-то из первой главы, где нужна была математика, не помню уже точно.
Аноним 27/11/18 Втр 17:52:56 1302061369
Аноним 04/12/18 Втр 21:33:36 1305935370
Бамп, что-ли.
Аноним 05/12/18 Срд 22:23:28 1306645371
>>1297679
>Сисп не плохая книга, но он устарел лет так на 30.
Это книга про программирование вообще. Такое никогда не устаревает. Два чудика, начитавшись СИКПа, изобрели язык R.
Аноним 07/12/18 Птн 15:16:12 1307563372
>>1297385
Топавая хайповая фраза
Аноним 07/12/18 Птн 17:49:42 1307629373
Где можно почитать про связь между изучением SICPа и развитием психических отклонений?
Аноним 07/12/18 Птн 18:08:33 1307639374
>>1307629
в этом итт треде, конечно же
Аноним 08/12/18 Суб 01:59:42 1307832375
Дошел до реализации дека. Че-то мой энтузиазм по поводу лиспа поугас. Дек - элементарная вещь, которая реализуется обычным двусвязным списком на си за 10 минут. Тут я уже 2 часа сижу, рисую долбаные стрелочные диаграммы и пытаюсь понять, как же сделать дек с O(1) вставкой/извлечением с обоих концов на этих car и cdr.
С введением присваивания лисп мигом утратил свое очарование и стало видно, насколько он не пригоден для программирования в императивном стиле. Хотя я пока не проникся или чего-то не понял.
Аноним 08/12/18 Суб 02:00:21 1307833376
>>1307832

хотя может

быстрофикс*
Аноним 08/12/18 Суб 03:23:00 1307844377
>>1307832
На Лиспе тоже элементарно, просто нудно. Если тебе это сложно, то ты еще чего-то не понимаешь.
Но это все баловство. Настоящий дек на массивe делается.
Аноним 08/12/18 Суб 03:37:21 1307845378
>>1307832
Деструктивными операциями это делается.
Аноним 08/12/18 Суб 17:29:26 1308074379
Видимо, вчера я слишком поздно сел за сикп и голова уже не варила. Сегодня дек никаких проблем не вызвал. Реализация не совсем красивая - в идеале надо выделить двусвязный список как полностью самостоятельный объект, создавать его в deque и хранить дополнительно два указателя на первый и последний элементы для обеспечения O(1). Но мне сейчас лень.
https://pastebin.com/cwAz6j3L
Аноним 11/12/18 Втр 11:14:17 1309539380
Тоже самое, но без скобочек есть? сикп - матан, htdp - вода и скобочки. За що?
Аноним 11/12/18 Втр 18:39:18 1309757381
в чём смысл sicp если в ней используется lisp?
Аноним 11/12/18 Втр 22:42:07 1309896382
Как написать многопоточную программу на ракетке?
Аноним 12/12/18 Срд 00:46:07 1309950383
Аноним 12/12/18 Срд 18:42:51 1310210384
начал читать сикп недавно
обьясните мне пожалуйста, мне прямо с самого начала надо жестко вчитываться в книгу или можно спокойно глазами проводить?
Аноним 12/12/18 Срд 18:56:09 1310219385
>>1310210
на толчке полистать норм книга)
Аноним 12/12/18 Срд 23:51:57 1310355386
Суп, программач.
SICP - это же, получается, просто учебник по scheme?
Аноним 12/12/18 Срд 23:57:54 1310360387
Аноним 12/12/18 Срд 23:58:19 1310362388
Аноним 13/12/18 Чтв 15:23:12 1310640389
>>1310355
Есть вроде новая версия на питоне, так что нет.
Аноним 13/12/18 Чтв 15:52:17 1310645390
>>1310640
>новая версия на питоне
Нет, на питоне сделали новый курс на замену, и он совсем другой - заточен под современные айти реалии.
Аноним 16/12/18 Вск 01:01:47 1311766391
image.png (944Кб, 1280x720)
1280x720
ОП, живой?
Аноним 16/12/18 Вск 12:46:03 1311995392
Приветствую, аноны. Подойдёт ли данная книга совсем для новичка? Планирую комплексно вкатываться в программирование, интересно всё, что с ним связано, однако на данный момент являюсь полным дубом. Пойму ли я хоть что-то? Или нужно начинать с чего-то более простого?
Аноним 16/12/18 Вск 13:26:19 1312041393
В шапке есть книга на русском, стоит начинать учить если я не знаю англ или пиздовать в 1с тренд???
Аноним 16/12/18 Вск 13:27:35 1312043394
>Хьюго Дум хочет построить квадратор

Не знаю почему, но эта фраза вызвала у меня неконтролируемый хохот и я смеялся несколько минут.
Аноним 16/12/18 Вск 15:06:10 1312089395
>>1311766
Да, живой, только нихуя не делаю. Точнее другим все занят, но думаю на следующей неделе домучаю все свои дела и вернусь к изучению htdp. Короче перерыв себе сделал месяц+неделя.
>>1311995
Ну мне не подошла, во втором посте лично от себя совет давал, с чего начать.
>>1312041
Я тоже инглиша не знаю, сижу с переводчиком. Бытует мнение, что для вката инглиш не сильно и нужен, а если вкатишься, параллельно выучишь.
оп
Аноним 16/12/18 Вск 16:01:49 1312115396
>>1312089
Да, книгу, которую я советовал, там только первые 2 абзаца. Ну а так можно htdp попробовать, может сразу пойдет, но у меня не пошла.
Аноним 16/12/18 Вск 16:10:54 1312118397
Я не понимаю, зачем нужны кадры в модели вычислений с окружениями. Ведь значения переменных и так содержаться в окружениях. Допустим, пример из 3.2.3:
>Для начала мы конструируем кадр, в котором amount, формальный параметр W1, связывается со значением 50

Зачем? Мы ведь уже сконструировали окружение (при вызове функции), в котором amount связан с 50. Зачем нужна сущность "кадр", если есть сущность "окружение"?

Можно от противного: покажите мне пример, где в окружении присутствует несколько кадров и в этом есть необходимость.
Аноним 16/12/18 Вск 23:46:57 1312390398
>>1312118
https://ideone.com/oKdSCx
Пример простой и надуманный, но, я надеюсь, ты уловишь суть, подумав, чем отличается x как аргумент func от того x, который внутри let, и от того x, который должен быть после let (оставляю тебе последнее в качестве самостоятельного упражнения).
Аноним 17/12/18 Пнд 10:28:57 1312478399
>>1312390

Но ведь при вызове let будет создано новое окружение, в котором x связан со значением "аргумента" let (вообще, насколько я помню, let - это синтаксический сахар для вызовы lambda). Код let связан со своим окружением, код func - со своим. Когда код let закончит выполнение, мы вернемся в код func и будем пользоваться значением x из его окружения. Кадр в каждом из окружении по-прежнему один. Или я не прав?
Аноним 17/12/18 Пнд 11:32:30 1312488400
Это наверное очень тупой вопрос и я покажусь лютым раком, но есть возможность переложить материал из SICP на BASH и кресты?
Аноним 18/12/18 Втр 00:26:27 1312881401
Свобода! Равенство! Ссылочная прозрачность!
Аноним 18/12/18 Втр 11:15:01 1312976402
>>1312488
Все возможно, пробуй.
Аноним 18/12/18 Втр 12:00:06 1312984403
>>1312118
Можно рассматривать make... как создание новой процедуры с ее собственным окружением, а можно как создание нового окружения с ссылкой на процедуру, и вот это второе называется кадром.

Тут скорее вопрос конкретной реализации, видимо, их лисп был так устроен.
Аноним 20/12/18 Чтв 22:28:04 1314297404
ОП рапортует. Доделал все свои дела, с завтрашнего дня с отдохнувшей головой продолжу обучение.
Аноним 22/12/18 Суб 15:17:06 1314955405
>>1295208
>А на любой другой язык можно переучиться за 3 месяца.
После СИКПа за неделю можно освоить любой язык.
Аноним 22/12/18 Суб 15:18:03 1314957406
>>1295212
>С самого начала задаюсь вопросом, зачем автор выбрал схему? Почему не хаскель, на котором даже сайты можно писать, а также графические интерфейсы и многое другое?
На Racket можно писать тоже самое.
Аноним 22/12/18 Суб 15:23:06 1314959407
>>1297679
>На самом деле сисп переоценен. Хз зачем его тут форсят, но если хотите подтянуть уровень читайте Кормена.
>Он объясняет всё на псевдокоде, который очень легко перенести на питон, жаву, жаваскрипт и почти любой другой яп.
СИКП - построение абстракций, архитектура, и немного алгоритмы. Кормен - только алгоритмы. Алгоритмы без абстракций - это дырка от бублика.

>>1297679
>Сисп не плохая книга, но он устарел лет так на 30.
Рассмешил. До сих пор никто не создал лучшего языка и руководства.

>>1297679
>В 2к18 есть гораздо лучше, современнее и актуальнее.
А тут по подробнее. Покажи ка нам что есть лучше.
Аноним 22/12/18 Суб 15:26:12 1314961408
>>1310355
>SICP - это же, получается, просто учебник по scheme?
Нет, это учебник по построению программ.
Аноним 22/12/18 Суб 15:31:16 1314964409
Аноним 22/12/18 Суб 15:32:30 1314965410
>>1314297
>ОП рапортует. Доделал все свои дела, с завтрашнего дня с отдохнувшей головой продолжу обучение.
Завтра скажешь себе, что завтра начнешь. И так до бесконечности. Рекурсия.
Аноним 22/12/18 Суб 15:42:45 1314967411
>>1312488
>есть возможность переложить материал из SICP на BASH и кресты?
Лисп (Scheme, Racket) - может выступать как псевдокод. По сути он и есть псевдокод. Поэтому его код легко переводить в любой другой. Только проблема в том, что в баше нет функций высшего порядка (а может и есть, я не в курсе).
Аноним 22/12/18 Суб 17:02:13 1315012412
>>1314955
Ничего не скажу на этот счет, я не спец. Единственное, что команды-то выучить удастся-ли за такой короткий срок. Но поглядим, время покажет. Хотя начал склоняться к тому, чтобы htdp изучить, а sicp может и нахуй послать. Или в свободное время потихоньку прорешивать. Все-таки жизнь идет и саморазвиванство тоже должно иметь какие-то пределы и не в ущерб зарабатыванию денег.
>>1314965
Да почему, я 3 недели тогда ебашил без выходных и праздников, за это время мозг закипел и дел накопилось. Сейчас все разгреб и мозги отдохнули. Если бы ты читал предыдущие треды, ты бы понял, что я упертый мудак и сдаваться это не про меня.
Аноним 22/12/18 Суб 18:07:22 1315067413
>>1315012
В СИКП сложно только задачи решать. Темы первых 2 глав не сложные. Работа с функциями. Без этого сам не научишься из функций строить абстракции. А без этого не научишься строить модульные программы. Так какое тогда может быть зарабатывание денег.
Аноним 22/12/18 Суб 18:37:15 1315081414
>>1315067
Ну у меня htdp в планах целиком осилить, там разве этого не будет?
Аноним 22/12/18 Суб 18:57:13 1315104415
>>1315081
Не читал, не знаю. Скорее всего нет. Тем более СИКП есть на русском. Можно лучше понять идеи, которые авторы туда вложили. Идеи эти на самом деле простые, но мощные. Например интерпретатор в 100-200 строк в 4 главе.

HTDP как мне кажется уже не то. Все современные идеи глуповатые, чрезмерно переусложненные. Код ради кода. Сейчас такое время, инженеры уже не те, они думают, что чем сложнее тем круче. Но все ведь наоборот. Самые крутые решения это простые. Простое легко изменять, оно надежное, мощное, не подверженное крушению. В СИКП простые и мощные решения.

Это видно по современным языкам программирования. Java, C#, C++, Rust, Python, - все они чрезмерное неоправдано переусложнены. То есть их навороты не решают задач, а только приносят лишнюю сложность. Получается что инженеры не решают проблемы, а создают. Где это видано чтобы было так. Инженеры должны бороться со сложностью, с проблемами, а они наоборот их создают.

Поэтому Лисп всегда будет мощнейшим из языков. Ни один язык не достиг такой мощи при такой простоте. СИКП придерживается той же философии что и создатели Лиспа. Что-то подобное сейчас найти почти невозможно.
Аноним 22/12/18 Суб 19:16:45 1315124416
>>1315081
мне хватило первых 3-ёх глав, дальше слишком нудно
но об этих 3-ёх не пожалел ни капли
Аноним 22/12/18 Суб 19:17:44 1315126417
>>1315081
сикп начал, много нравится из того, что там дают, но
матана слишком много, поэтому пока остановился, мб забью, мб продолжу, от такого кол-ва математики воротит
можно же рекурсии различных типов объяснить без матана, как в хтдп том же
Аноним 22/12/18 Суб 19:58:04 1315149418
>>1315104
Я сикп пробовал, для меня он слишком сложный, поэтому пока htdp.
>>1315124
Ну я первую пока процентов на 40 прошел, поглядим, что дальше будет.
>>1315126
Ну я сикп бросал, Т.к. вообще что-то не шло, абсолютно. С математикой по жизни проблем вроде не было, но позабылось уже; одним словом поглядим.
Аноним 22/12/18 Суб 20:19:19 1315157419
>>1315149
У меня тоже не было проблем с математикой, но сикп с первого раза тоже на зашел. Его вообще нужно перечитывать регулярно. Как писал Пол Грэм, что перечитывает сикп уже 15 лет, и до сих пор находит новые знания.
Аноним 22/12/18 Суб 21:04:23 1315178420
>>1314964

Я знаю, что такое стек и стековый кадр. Ты хочешь сказать, что под кадром они имели в виду просто кадр стека? Почему, блин, тогда нельзя было так и написать?
Аноним 22/12/18 Суб 22:06:10 1315229421
>>1315178
>Ты хочешь сказать, что под кадром они имели в виду просто кадр стека?
Да.

>>1315178
>Почему, блин, тогда нельзя было так и написать?
Это мне не известно. Может в оригинале так и есть, просто перевод такой.
Аноним 22/12/18 Суб 22:32:43 1315253422
>>1315229
>>1312984
>>1312390

Спасибо, аноны, что помогли разобраться. СИКП-треды: доброта и взаимопомощь.
Аноним 24/12/18 Пнд 16:17:01 1315937423
Что SICP подразумевает под словом "абстракция"? Она упоминается на протяжении всей 2 главы, но я все никак не могу в полной мере понять, что это такое.
Может мои знания из других ООП языков мне мешают понять?
Аноним 24/12/18 Пнд 16:45:14 1315945424
>>1315937
Абстракция - это сокрытие деталей реализации: Петян может использовать программный модуль Васяна, не зная как он устроен, только зная АПИ. А Васян может как угодно перепелить реализацию своего модуля в любой момент, скажем, на более быструю, и на коде Петяна это никак не отразится, если, конечно, Васян не долбоёб и не закомитит баг.
Аноним 24/12/18 Пнд 16:51:59 1315948425
>>1315178
Потому, что это не стековый кадр. Хотя и очень похоже.

У них кадр - это кусочек окружения. Нода в дереве кадров. Все кадры собираются в дерево, и кадр+все вышестоящие по дереву кадры - это окружение.
Аноним 24/12/18 Пнд 19:25:18 1316013426
>>1315937
>means of abstraction, by which compound elements can be named and manipulated as units

В самом первом пункте первой главы написано. Проще говоря, тебе не придется каждый раз писать код для совершения какого-либо действия. Например, извлечения квадратного корня.
Аноним 24/12/18 Пнд 20:06:32 1316045427
>>1316013
>>1315945
То есть инкапсуляция.
Это я понимаю. Но слово мелькает в каждой второй строчке, от чего мозг начинает немного плавиться.
А может это я тупой и нужно читать более вдумчиво. В любом случае спасибо
Аноним 24/12/18 Пнд 23:46:38 1316143428
>>1315937
Смотря в каком контексте применяется. В общем случае абстракция это способность представлять сущности в формальном виде. Программирование как и математика это система абстракций. Сущности, процессы, модели, - представляются в них в формальном виде, в котором можно рассуждать о них. Бывают уровни абстракции. О каждом предмете или явлении можно рассуждать на разных уровнях абстракции.
Аноним 24/12/18 Пнд 23:50:11 1316144429
>>1316045
>инкапсуляция
Нет, инкапсуляция - это простое объединение данных и кода в единый компонент. Что, вобщем-то не обязательно обеспечивает сокрытие деталей реализации.
Аноним 25/12/18 Втр 00:01:40 1316147430
Аноним 25/12/18 Втр 04:36:44 1316193431
Еще один рапорт от ОПа. Ну че, 2 дня более-менее упорно сижу и разбираюсь, дело идет. Многие вещи начинаю вспоминать, ну не сильно-то и позабылись, но тем не менее. Полон энергии и энтузиазма, все заебись :З
Аноним 25/12/18 Втр 14:37:17 1316326432
ох так приятно что аниме стоит.. мм.. спасибо
Аноним 26/12/18 Срд 21:50:32 1316929433
аа.jpg (79Кб, 582x588)
582x588
Итак, ОП вкатывается опять. Как заставить этого ебаного кота двигаться слева направо с помощью big-bang? Я поначалу сделал через cond и animate, в принципе получилось. Но по заданию надо именно через ебаный big-bang написать. Нажимаю run - выделяет черным функции, мол все верно. Пытался задать переменную ws, ну мол, чтобы изначальное положение этого блохастого выбрать, тоже нихуя.
Проблема в приципе в том, что образца готовой программы по тексту не было. Объясняли только, что может этот ебаный big-bang в себе содержать, а как в общем сдружить его с программой - нихуя нет. Ну или я правда тупой и чего-то не понимаю.
Аноним 26/12/18 Срд 21:52:08 1316932434
Да, я понимаю, что там чушь написана и нужно прописать, сколько пикселей в так двигается, но это пробовал, хуй там. Пытался формулу выше куда-то засунуть, ну мол чтобы возвращало с измененным числом пикселей и постоянно отнимало, тем самым двигая кота, тоже не получалось. КОроче шаблон для работы пока такой.
Аноним 26/12/18 Срд 22:10:07 1316944435
Аноним 26/12/18 Срд 22:12:40 1316947436
>>1316929
big-bang это великая функция, я через неё очень много прог написал интересных
Аноним 26/12/18 Срд 22:18:01 1316950437
Аноним 27/12/18 Чтв 02:44:36 1317083438
аа.jpg (90Кб, 592x578)
592x578
Итак, разобрался я, как это делать. Конечно в тексте учебника как-то то-ли непонятно описано, то-ли я туповатый. Ну в любом случае начало этого big-bang положено и к нему допиливать еще какие-то функции, будь то реакция на мышку или клаву, думаю труда не составит.
Пытался эти 2 течпака отключить, перестает читать функции big-bang и прочие, хотя в предустановленных, в среднем экране настроек они висят. Да и хуй с ним, работает, да и ладно.
Еще раз спасибо, что бы я без вас делал. Хотя оглядываясь назад, вспоминаю, как хуесосили, что я троллю, мол тупым таким нельзя быть, когда простых вещей не понимал. А тут уже хотя бы что-то соображаю, значит труды, в т.ч. и ваши, не пропадают и приносят пользу.
Аноним 27/12/18 Чтв 19:46:00 1317385439
Всем привет, давно у вас тут не появлялся. С лета примерно.

>>1317083
ОП, все превозмогаешь? На какой главе htdp сейчас?

И, кстати, где там анон, который за месяц хотел sicp осилить? Помню, он распечатывал себе книжку даже
Аноним 27/12/18 Чтв 21:03:15 1317409440
>>1317385
Здоров. Да, все превозмогаю. Я не ОП самого первого треда, я ОП второго и последующих. Сейчас примерно в середине 1 главы, все идет хорошо. Правда предыдущие 1.5 месяца ничего не делал, т.к. мозги закипели, когда 3 недели каждый день изучал. Вот несколько дней назад опять приступил к обучению.
Насчет того, кто хотел за месяц осилить, что-то не видно его.
Аноним 27/12/18 Чтв 23:34:09 1317530441
>(define integers (cons-stream 1 (add-streams ones integers)))

Это пиздец, уже час не могу понять, почему это работает. Дебаггер что ли искать...
Аноним 28/12/18 Птн 00:15:36 1317561442
>>1317530
check-expect – тестировщик написанной программы, в конце пишем (check-expect (имя написанной программы 32) 0) после имени переменную ввода, вторая переменная, это сколько должно получиться (уже готовые значения писать) и он выдаст, правильно ли программа сработала
Ну у меня есть в конспекте вот такая хуйня, не знаю, поможет ли в твоем случае.
оп
Аноним 28/12/18 Птн 04:38:14 1317616443
аа.jpg (115Кб, 591x507)
591x507
ОП опять со своими говнопроблемами. Не могу сделать этот светофор ебаный. Задал полотно, задал размер, прозрачность и цвет этих ебаных цветных кругов. Написал функцию рекурсии через cond, чтобы если цвета совпали, перешло дальше и включило другой цвет. Прописал время 2 секунды для тика. НИхуя блядь, требует функцию для on-tick. Поясните долбоебу, какую функцию я там могу написать? Ладно с котом в предыдущем примере я все понял, там пиксели прибавляем или отнимаем, а как заставить его картинку поменять? Пробовал целиком cond скопировать - хуй на рыло, перерыл все функции big-bang, тоже нихуя путевого не увидел. Блядь, я не знаю. Причем самое обидное в том, что по тексту сейчас разжевывали принцип работы cond, просто как для конченных долбоебов и все было абсолютно ясно изначально, т.к. раньше все это было и давно уже с его участием примеры решал. А в упражнении заставляют делать то, что хуй знает, с какой стороны подойти.
Вот сидел реально не один час, прежде чем сюда это тащить.
https://pastebin.com/9dhT58qB на всякий сюда скинул
Аноним 28/12/18 Птн 05:03:43 1317620444
Да, там круги включаться должны один вместо другого, тупо в одном квадрате, без понтов, типа красный сверху, желтый посередине и пр.
Аноним 28/12/18 Птн 10:28:07 1317675445
аа.jpg (40Кб, 461x398)
461x398
Короче сижу и до сих пор ебусь, блядь. Уже методом тыка тупо все перепробовал, что можно было. По-идее переменная это Х, т.е. текущее состояние, грубо говоря цвет круга на дополнительном экране. Пытался сделать формулу в on-tick, чтобы сравнить состояние экрана с каким-то положением cond, а хуй на рыло. Получается так, что сравниваю "red" и yellow (обозначения сейчас с потолка взял, не в этом суть). Пытался сравнить через string=? - не дает, т.к. yellow это изображение, со строкой "red" сравнить не выйдет, грубо говоря разные типы данных. По тому же принципу пытался сравнить через image=? - та же хуйня, разные типы, теперь yellow подходит, а "red" не подходит, т.к. это строка. Думал хоть если сравню, если выведет #t или #f, будет ясно, скакнет на следующий круг или нет, а тут даже сравнить не выходит. Заебало, блядь, реально бесить начинает. Там вот настолько подробно cond перед этой задачей расписали, просто для долбоебов конченных, собственно пикрилейтед, хотя и так оно очевидно изначально. Но зато сразу после этого примера предлагают ВЫСРАТЬ ФОРМУЛУ и даже образца нет никакого, за счет чего будет сцену переключать - а хуй его маму знает. Ладно, пойду я спать, всю ночь просидел, блядь, уже бошка нихуя не варит и нервов никаких нет.
Аноним 28/12/18 Птн 11:05:46 1317684446
аа.jpg (121Кб, 583x524)
583x524
ПОЛУЧИЛОСЬ БЛЯДЬ!!!
Сука, методом тыка. Ладно, потом буду разбираться, почему именно так. Отбой тревоги, короче говоря. Ну и да, дорогу осилит идущий, лол.
Аноним 28/12/18 Птн 14:06:36 1317764447
>>1317409
Да я сам из-за завала на работе остановился на 3 главе SICP.
Вот, думаю, с нового года засесть за него снова. Мне лиспы нравятся. Хоть какое-то отвлечение от js-рутины.

Только запамятовал, у тебя какие цели-то? Вот пройдешь ты HTDP, дальше что? Стремишься куда? На работу устроиться или так, просто для себя?
Аноним 28/12/18 Птн 20:59:48 1317976448
>>1317764
Хочу на работу устроиться, вроде логика программирования одна на всех языках и судя по отзывам htdp и sicp лучше всего ей обучат. Первоначальный план был прорешать thdp, потом sicp, а уже потом месяца за 3 переучиться на любой другой язык и пойти трудоустраиваться. Сейчас правда мысли htdp прорешать и возможно начать учить язык для трудоустройства, т.к. прорешивание sicp может еще оттянуть на полгода-год устройство на работу, что не есть хорошо. Кстати на твой js наверно обучаться буду, вроде по вакансиям проще всего найти работу.
Аноним 28/12/18 Птн 22:17:32 1318039449
>>1317976
Да, php или js чаще всего встречаются.

Только учитывай, что js часто - это frontend, а там некоторые хотят, чтобы не только логику на фреймворке (react/vue/angular) писал, но еще и верстал им. Бывает, конечно, что в штате держат отдельно версталу.
Чисто backend (node.js) вакансии чуть реже, но тоже есть.

SICP отодвинет не на год, а больше.

Хоть основы программирования HTDP и даст, но с экосистемой (либы всякие, бандлеры, фреймворк и т.д.) придется попердолиться знатно. Вряд ли 3 месяца хватит (ну если только совсем как трейни идти). Так что расчитывай где-то на пол-года минимум.
Аноним 28/12/18 Птн 22:42:43 1318056450
>>1318039
Ну хорошо, буду иметь в виду, спасибо за советы. Терпение и труд, как говорится. Вчера вон всю ночь просидел, хуями в монитор ложил, но ебаный светофор все-таки сделал. Сейчас разобрался, что куда идет и почему именно так должно быть. Как говорил великий филосов Кама Пуля - не главное, с какой скоростью ты двигаешья, главное не останавливаться :З
Аноним 28/12/18 Птн 23:57:44 1318097451
Почитал тредик про рекурсию, получается в СИКПе пиздят, когда говорят, что хвостовая рекурсия = цикл? Ну допустим оптимизация хвостовой рекурсии имеется, но цикл сам себя не вызывает таки, всё равно разные вещи
Аноним 29/12/18 Суб 00:10:45 1318108452
>>1318097
Хвостовая рекурсия это скорее goto, а не цикл. Можно и цикл запилить, можно и не цикл. По читаемости примерно эквивалент goto.
Поэтому собственно в ФП эту рекурсию прячут под плинтус, выставляя на фасад комбинаторы.
Аноним 29/12/18 Суб 00:17:52 1318114453
>>1318108
это всё понятно, но ведь цикл сам себя не вызывает всё равно, то есть именно с этой точки зрения цикл запилить всё равно не получится через хвостовую рекурсию?
Аноним 29/12/18 Суб 00:21:02 1318115454
>>1318114
или если как в типичном фп, оптимизация хвостовой рекурсии, то вызовы в стеке не остаются и в принципе тоже самое получится?
Аноним 29/12/18 Суб 00:36:06 1318121455
>>1318115
>вызовы в стеке не остаются и в принципе тоже самое получится
Именно, получится goto в начало функции. А на базе goto уже легко делается цикл while, из него можно сделать и for.
Аноним 29/12/18 Суб 00:47:24 1318128456
>>1318108
Что ты имел ввиду под словом "комбинаторы"?
Аноним 29/12/18 Суб 00:48:25 1318129457
>>1318128
Всё, допёр, отставить
Аноним 29/12/18 Суб 02:57:21 1318189458
>>1318097
>Почитал тредик про рекурсию, получается в СИКПе пиздят, когда говорят, что хвостовая рекурсия = цикл?
Где там такое написано?

>Ну допустим оптимизация хвостовой рекурсии имеется, но цикл сам себя не вызывает таки, всё равно разные вещи
Это уже особенности реализации транслятора. Рекурсивная функция все равно рекурсивная, даже если транслируется в цикл. В машинных кодах вообще функций и циклов нет. Но это же не значит, что в высокоуровневом коде нет функций и циклов.
Аноним 29/12/18 Суб 10:14:47 1318248459
>>1318189
там написано, что цикл - это хвостовая рекурсия с синтаксическим сахаром
Аноним 29/12/18 Суб 11:46:38 1318260460
Аноним 29/12/18 Суб 11:59:23 1318269461
Аноним 29/12/18 Суб 11:59:53 1318270462
1.jpg (23Кб, 538x66)
538x66
Аноним 29/12/18 Суб 12:13:08 1318279463
>>1318269
>>1318270
И где там написано, что цикл это хвостовая рекурсия?
Аноним 29/12/18 Суб 12:17:18 1318280464
>>1318269
>>1318270
Цитата немного выше:

"Как следствие, эти языки способны описывать процессы только с помощью специальных циклических конструкций вроде do, repeat, until, for и while."

Теперь понятно, циклические конструкции это конструкции языка. Хвостовая рекурсия это способ написания рекурсивной функции, которая порождает итеративный процесс. Оптимизация хвостовой рекурсии, это когда хвостовой вызов транслируется в нечто не потребляющее стек.
Аноним 29/12/18 Суб 12:20:12 1318282465
Аноним 29/12/18 Суб 12:57:49 1318296466
>>1318282
статью чекну, спасибо
а со стеком я хорошо знаком
Аноним 29/12/18 Суб 13:04:38 1318299467
>>1318296
Кинул ссылку перед прочтением, потом прочитал и увидел некоторые несостыковки в ней. Например написано, что хвостовая рекурсия никогда не потребляет стек, но это не так, если нет оптимизации в языке, то потребляет. И еще некоторые неточности. Но в целом можно прочитать. Есть конечно более фундаментальные статьи на эту тему. А еще лучше почитать книги.
Аноним 29/12/18 Суб 13:11:27 1318301468
>>1318299
Да я со всем этим знаком давно, только про уточнение с оптимизацией хвостовой рекурсии услышал впервые, я думал, что везде вызовы в стек не помещаются, а оказывается только если оптимизация имеется. Мне просто хочется получше понять, как устроен цикл на более низком уровне. С рекурсией и её видами мне всё понятно, и как работает, и все фишки со стеком, и что это такое. С циклами я тоже умею работать, но не совсем понимаю, как это устроено изнутри. Ну в хвостовой рекурсии увеличили аргумент, к примеру, затем вызвали ту же функцию с этим изменённым аргументом, и так пока какое-то условие всё не остановит. А как в цикле все эти итерации проходят, если не процесс сам себя не вызывает?
Аноним 29/12/18 Суб 13:12:15 1318302469
>>1318301
если процесс сам себя не вызывает
быстрофикс*
Аноним 29/12/18 Суб 13:14:49 1318307470
>>1318301
Один в один, как при хвостовой рекурсии с её оптимизацией, или как-то по-другому?
Аноним 29/12/18 Суб 13:44:53 1318320471
>>1318301
>А как в цикле все эти итерации проходят, если не процесс сам себя не вызывает?
Чтобы это понять нужно самому написать интерпретатор. И процессы бывают разные, есть процессы операционной системы, есть процессы реализующиеся языками, а в СИКПе говорится о процессе вычисления. То есть не о живом процессе в программе, а об абстрактном.
Аноним 29/12/18 Суб 13:44:55 1318321472
Ну выучу я эту ебалу и чё, сразу программистом стану? Где нормальные языки?
Аноним 29/12/18 Суб 13:46:43 1318323473
>>1318320
Скорее не программный процесс, а вычислительный. Алгоритмический еще можно назвать. Линейный, нелинейный и т.п.
Аноним 29/12/18 Суб 15:07:55 1318359474
>>1317530
Потому что cons-stream - это особая форма, а не функция, и свой аргумент она не вычисляет, сразу по крайней мере, а вычисляет только в тот момент, когда нужен очередной элемент последовательности. Лисповские стримы - это то, что сейчас принято называть "ленивыми списками", гугли.
Аноним 29/12/18 Суб 15:11:37 1318360475
>>1318189
>В машинных кодах вообще функций и циклов нет
Здравствуй, приехали, а инструкции call, ret и префикс инструкций rep тебе говрит о чём-нибудь?
Аноним 29/12/18 Суб 15:13:32 1318361476
>>1318359
> свой аргумент
свои аргументы
слоуфикс
Аноним 29/12/18 Суб 15:14:25 1318362477
>>1318360
И что это за инструкции? Вообще то, машинный код состоит из двоичного кода, и в нем нет никаких инструкций.
Аноним 29/12/18 Суб 15:23:10 1318365478
>>1318362
call вызывает функцию - кладёт на стек адрес возврата, а в регистр rip - адрес функции. ret возвращается из функции, делает то же, что и call, но в обратной последовательности. rep - префикс для повторения следующей инструкции до тех пор, пока значение в rcx не станет равным нулю, такой себе рудиментарный for.

> Вообще то, машинный код состоит из двоичного кода, и в нем нет никаких инструкций.
Машинный код состоит из ассемблерных инструкций, хватит троллить тупостью. В png-файле из оп-поста тоже двоичный код, но попробуй-ка ты его выполни, как исполнимый.
Аноним 29/12/18 Суб 15:37:58 1318370479
>>1318365
Не функцию, а процедуру. Это не такие же функции как в высокоуровневых языках. Нельзя переписать функцию из высокоуровнего языка в одну функцию на ассемблере.

До ассемблера тоже были компьютеры, и естественно был машинный код.
Аноним 29/12/18 Суб 15:46:09 1318372480
>>1318365
И вообще, процедуры появились в ассемблерах не так давно, если не ошибаюсь.
Аноним 29/12/18 Суб 15:56:01 1318375481
Аноны, читал в паре статей, что в самом MIT от SICPa уже отказываются, да и вообще, книгу на пистон перевели\хотели перевести. Однако гугл выдаёт какую-то сильно урезанную версию книги на питоне.
Есть ли где-то полноценная версия на питоне или на чём нибудь поновее, чем лисп? А то даже смотря на код, чувствую, что перед глазами laba2.
Аноним 30/12/18 Вск 03:30:14 1318550482
>>1318375
А сикп это разве не дико навороченная лаба2, по крайней мере первые главы которые и советуют прочитать
Аноним 30/12/18 Вск 05:37:39 1318567483
Кому не лень объясните нахуй он нужон в 2019?
Аноним 30/12/18 Вск 10:20:07 1318613484
001.webm (15538Кб, 1280x720, 00:02:46)
1280x720
002.webm (23661Кб, 1280x720, 00:01:30)
1280x720
Аноним 30/12/18 Вск 11:43:43 1318634485
>>1318613
Где бы посмотреть видосики чувака со 2 вебм?
Аноним 30/12/18 Вск 12:12:22 1318642486
>>1318634
Гугли Кирилл Мокевнин. На DevConf зарегайся там есть его доклад.
Аноним 30/12/18 Вск 13:03:49 1318670487
Аноним 30/12/18 Вск 13:23:30 1318679488
>>1318613
Ну, это он конечно же загнул. Сейчас это никому не нужно. Сейчас бизнес заинтересован в том, чтобы программист смог накидать рест контроллер на спринг буте (Аннтоация @Controller) и набросать сервис (аннотация @Service), которая расширяет единственный интерфейс MyServiceImpl extends Service, в котором будет реализован доступ к базе данных через дао (аннотация @Repository). Сам хайбернейт даже не нужно знать, а только уметь пользоваться Spring Data. Т.е. по-сути ты пишешь всякие findByName, а умный спринг фрамеворк за тебя гененирует высокооптимизированный запрос в базу.
Аноним 30/12/18 Вск 14:01:06 1318685489
>>1318679
Найс явамакака порвалась.
Сикп не для тех, кто из говна, фреймворков и палок собирает БИЗНИСУНУЖНОБИСТРО. Сикп для тех, кто проектирует и пишет те же самые базы, например. По забавному совпадению прямо сейчас пишу на Scheme индексы для рудиментарной базы данных в пет-проекте - производительность почти как у C, кода на порядок меньше, а читабельность кода на порядок выше.
Аноним 31/12/18 Пнд 04:00:52 1319014490
нг.mp4 (16053Кб, 640x360, 00:04:21)
640x360
Ну что, антоши, с наступающим вас. Благодаря вам я вкатился в обучение программированию; немало труда было в это вложено, но успехи есть - половину первой главы htdp (даже чуть больше) я уже осилил. Сейчас уже полноценно продвигаюсь по книге и уже не думаю, что стану ее бросать.
Добра вам и няшек, всего самого в наступающем году.
Вот вам песенка про новогоднюю ночь :З
ваш оп надеюсь после переката галка ОР все-таки начнет работать
Аноним 31/12/18 Пнд 09:14:38 1319048491
>>1319014
Да, всех с наступающим Новым годом!
Аноним 31/12/18 Пнд 11:17:08 1319066492
Аноним 02/01/19 Срд 19:55:50 1319755493
Пиздец неужели обязательно читать 500стр?
Аноним 02/01/19 Срд 20:06:31 1319767494
KomichiAyaReadi[...].jpg (122Кб, 400x450)
400x450
>>1319755
Ну двощи ты читаешь каждый день, что мешает полистать книгу.
Я вот повёлся на форчанский форс книги, понял что вроде общие идеи понимаю и интересно весьма, но математика уровня школьника и недостаточная сообразительность мешают выполнять упражнения, поэтому попробую вкуривать английские лекции. Всё равно больше нечем заняться.
Аноним 02/01/19 Срд 20:15:12 1319774495
>>1319767
Когда я понимаю, что для результата нужно приложить очень много усилий то руки сразу опускаются
Аноним 02/01/19 Срд 20:18:46 1319778496
>>1319774
Ты не один такой.
Честно говоря, не знаю что за люди традиционно обитают /pr/, но я на своём этапе деградации уже не надеюсь сделать это своей профессией и воспринимаю как хобби.
Аноним 02/01/19 Срд 20:25:16 1319782497
>>1319778
На моем этапе деградации мне кажется, что я скоро под себя срать начну
Аноним 02/01/19 Срд 20:27:05 1319783498
>>1319782
А я слюни пускать, именно поэтому необходимо занятие, стимулирующее умственную деятельность.
Аноним 02/01/19 Срд 21:45:57 1319851499
>>1319774
Делай понемногу каждый день.
Аноним 02/01/19 Срд 23:40:09 1319976500
>>1319851
Не ебу о чем ваш тред, но я перекатился в питонотред, мне там вполне уютно, даже чувствую прогресс всем двачем пытаемся сделать брут цифрового кода
Аноним 03/01/19 Чтв 05:15:47 1320098501
Аноним 09/01/19 Срд 02:08:16 1323516502
>>1271806 (OP)
О чем эта книга, кратко.

Это та самая книга, о которой написано в лурке было? Я читал ее миллион лет назад, хуле толку-ниче не запомнилось.
Аноним 16/01/19 Срд 11:25:04 1327711503
Не знаю лисп ни разу, смогу прочитать книгу и что-нибудь понять и узнать?
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Топ тредов
Избранное