граница AI
May. 26th, 2023 03:19 pm(chatgpt4, который умеет ходить по ссылкам)
Пересказать на другом языке новостную статью - запросто. Просто отлично.
Попросить пересказать идеи из faultlore (https://faultlore.com/blah/tower-of-weakenings/) - его корёжит, пучит, ломает (в буквальном смысле - error in the stream), три попытки, и ни разу ни чего, хотя бы отдалённо напоминащего разумный пересказ сложной идеи.
В целом, наверное, так и надо тестирвать AI. Даёшь сложную статью, просишь пересказать своими словами идею статьи. Человек может понять Арию, AI - нет.
Пересказать на другом языке новостную статью - запросто. Просто отлично.
Попросить пересказать идеи из faultlore (https://faultlore.com/blah/tower-of-weakenings/) - его корёжит, пучит, ломает (в буквальном смысле - error in the stream), три попытки, и ни разу ни чего, хотя бы отдалённо напоминащего разумный пересказ сложной идеи.
В целом, наверное, так и надо тестирвать AI. Даёшь сложную статью, просишь пересказать своими словами идею статьи. Человек может понять Арию, AI - нет.
no subject
Date: 2023-06-01 11:17 am (UTC)no subject
Date: 2023-06-01 11:42 am (UTC)!markdown
В Rust (и в других нормально типизированных языках) принято использовать builder.
Всё то же самое, но значительно более читаемое.
На самом деле, у меня нет претензии к lisp для открывающих скобок. У меня есть претензия к закрывающим. Много, низкая плотность смысла, монотонность.
Я пишу на множестве птичьих языков, и для меня лисповые выкрутасы (во имя ast) ничем не лучше джинжевой бездны с пробелами. "Ну не шмогла лучше, любите какой есть".
no subject
Date: 2023-06-01 02:19 pm (UTC)Окей, потрём ещё за синтаксис. Clojure, другой более современный диалект лиспа, популяризовала т.н. "стрелка-макросы" ( https://clojuredocs.org/clojure.core/-%3E ). Смотри, как выглядел бы твой пример с ними (очень приблизительно, я не распарсил весь этот всратый синтаксис из него):
В твоём примере семь пар скобок, в вышеприведённом коде четыре. drops the mic
no subject
Date: 2023-06-01 02:26 pm (UTC)И я всё равно не понимаю, почему мне тут нужна открывающая скобка.
Алсо, ты пропустил кошмарик |x|x(x), который вызывает foo с ref foo, а вовсе не identity.
Более того, в выбранных примерах всё просто. Допустим, замыкания были бы не функциями, а замыканиями. Специально сделаю так, чтобы было сложнее упрощать:
no subject
Date: 2023-06-01 04:27 pm (UTC)My brother in Christ, мутабельность — это грех.
Если объяснишь, что означает вот эта залупа
в качестве аргумента функции (если я опять-таки правильно распарсил этот цыганский синтаксис), то, возможно, я даже покажу, как на лиспах это можно сделать ✨ K P A C U B O ✨
no subject
Date: 2023-06-01 06:54 pm (UTC)Рассказываю.
render принимает ссылку (shared reference) на name, а так же принимает во владение (ownership) нечто (допустим, u8 буффер большого размера), который создаётся buffer::new. В new передаётся результат выполнения get_size (допустим, это usize, то есть тип Copy), который в свою очередь считает его от reference на render.
Заметим, тут ни в одном месте нет мутабельности. & - немутабельная ссылка. А вывод buffer::new передаётся через владение, то есть после передачи в render, никто больше к нему доступа не имеет.