LINUX.ORG.RU

Яр 0.4.0 разочаровывающий

 ,


2

4

Выложил очередной релиз Яра, «разочаровывающий». Дело идёт к заморозке проекта, работаю над ним до 1 февраля, а потом хлеб насущный буду зарабатывать. Найти спонсора за два года не удалось. Видимо, дело в недостаточной вере в успех, т.е. в отсутствии ощущения зрелости проекта, при которой можно называть сроки и нести за них ответственность.

Из последних конвульсий: теперь clcon поддерживает также CCL, а не только SBCL. Ну и Яр, соответственно, собирается и запускается под CCL под Linux и Windows. Зато я что-то сломал и образ SBCL под линуксом не сохраняется. С точностью до системы знаю. Впрочем, не суть важно.

Правы были те, кто говорил, что не нужно пытаться менять CL. Он хорошо защищён от изменений частоколом из грабель: если делаешь не совсем общепринятые вещи даже в рамках стандарта, например, свою readtable, проблем огребёшь по полной, и я их огрёб, и на них был истрачен ценный трудовой ресурс. А без всяких улучшений он слишком скучен для меня.

Если вдруг кому интересно, за последние месяцы немного поразбирался в SBCL, и пришёл к тому выводу, что можно наляпать много нового и интересного, но поскольку там всё внутри черт-те в каком состоянии, причём хронически, то по сути дела работать ничего не будет. Красивую показуху сделать можно. Я сделал черновик иммутабельных хеш-таблиц и струтур с рассуждениями о типах в них, а также сильно улучшил пошаговую отладку. После этого я пообщался с одним из разработчиков и, оказывается, они тоже мечтают про отладчик а-ля Visual Basic, но сделать его быстро не могут, т.к. примитивы, на которых он должен быть построен, низкокачественные. Сейчас, судя по коммитам, они их начали исправлять. Дай Бог, чтобы у них получилось. Однако я не вижу причины, по которой не может существовать инструментирующий отладчик для CL. Более того, он уже существует и называется lispdebug-0.92 - жаль, что лицензия подкачала.

Также отчасти разобрался в работе вывода типов. Там есть два механизма - собственно type inference и constraint propagation. Если о первом я имею кое-какое представление, то второй - вообще тёмный лес. Потому и захотел отладчик, чтобы лазить туда не с голыми руками, а вооружившись удобным инструментом. Но - не склалось у меня с SBCL.

В итоге теперь у Яра нет отладчика и не на что опереться в плане вывода типов. Может быть, попробую сделать «Яр на базе Typescript», хотя при отсутствии материальных ресурсов думается на эту тему тяжело - ясно, что создать серьёзный ЯП с инфраструктурой - это достаточно трудоёмко. Более трудоёмко, чем казалось сначала по факту написание за две недели транслятора с 1С 7.7 в CL.

Тем не менее, задел есть, можно продолжать потихоньку в хоббийном режиме. Правда, нафиг оно нужно, не совсем ясно, когда рядом ходят монстры типа JetBrains со своими Kotlin-ами.

Просто по темпам развития понятно, что они меня съедят в любом случае. Ну и честно говоря, я ожидал, что меня будут смешивать с говном на форумах за идею русскоязычного языка программирования. Но то, что к этой идее окажутся холодны Росатом, ФПИ, Касперский, 1С и фонд «Русский Мир» - к этому я был морально несколько не готов. Такое чувство, что никто не догоняет, что за вытеснением из обихода «неэффективного» русского языка может произойти и вытеснение с территории и самого населения, говорящего на «неэффективном» языке. Вроде как и Казахстан уже на латиницу переходит, и на Украине черт-те что. Нет, Россия спит. Впрочем, в одном месте мне указали на соседний вход и сказали, что нужно обязательно писать заявку на грант, но почему-то моральных сил пока нет. Может быть, через некоторое время появятся.

Попробую за оставшиеся 10 дней сделать для CCL инструментирующий пошаговый отладчик - тредов не будет, уж извините.

★★★★
Ответ на: комментарий от anonymous

Если добавить аргумент к функции, то получится новая функция с другой сигнатурой, так делать нельзя.

ну да, потому что методы принадлежат классам, и возникает Fragile Base Class problem. в языке с generic функциями, мультиметодами (тех же CL и Julia) — не возникает этой проблемы.

Нельзя только менять дерево наследования: был class Bender extends Robot, а нужен class Bender extends Ostap - вот так нельзя.

а в CL через Change-class и МОП — вот так можно.

вывод: проблемы хрупкой архитектуры связки язык-платформа-приложение-ООП в стиле C++, которые в JVM/DCEVM решаются с костылями, в платформе CL/.../ООП в стиле CLOS — просто не возникают.

лисп решает их на метауровне, устранив корневую причину. и на конкретном уровне — они просто не возникают.

это может пригодиться для какого-то симулятора на лиспе, с livecoding обновлением модели для симуляции.

но всё равно что-то нужно думать на тему архитектуры связей, ЖЦ самой модели. например, в Modellica акаузальные модели, тоже способствует инкрементальной разработке.

anonymous ()
Ответ на: комментарий от AndreyKl

Кроме тебя энтузиастов не нашлось... пмсм, вполне здраво: яр не привносит ничего нового и прогрессивного, просто повторение избитых мотивчиков но на кириллице, извини за откровенность.

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

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

если какой-то DSL на русском транслировать в это и затем в лисп — можно использовать гибкость лиспа и его системной архитектуры.

не наступая на те грабли на которые наступают не на лиспах.

решая проблемы заранее на метауровне, чтобы на конкретном уровне — их просто не возникало бы.

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

просто не надо продавать им лисп со скобочками. хочут они сахарок с славянским синтаксисом — будет им сахарок.

anonymous ()
Ответ на: комментарий от vcerloman

Миру не нужен лисп. Что ты можешь делать? Принять, либо доказать обратное. Но доказать ты сможешь что-то только тогда, когда это действительно так. Все остальные случаи - насаждение, но у тебя нет на это ресурсов.

миру нужен лисп. лисп не нужен всего лишь какому-то «царю сишки», который не осилил полезный юзкейс, в котором лисп гибче и лучше чем си.

разберём это утверждение с точки зрения логики. ты совершаешь логическую ошибку, логический круг. предполагая, что лисп не нужен (ты неявно пьёшь водку по утрам) делаешь вопрос, содержащий в себе неявное утверждение (перестал пить, чиста конкретно, да или нет двоичное. а не троичное «non sequitur», например).

нельзя так делать, если ты осилил логику. отучаемся говорить за весь мир.

Но доказать ты сможешь что-то только тогда, когда это действительно так.

зачем нечто доказывать, если это действительно так? в этом случае это логическая тавтология, тривиальное следствие. это можно и не доказывать — формально логические следствия достаточно самоочевидны.

что означает здесь «действительно так» ? для кого действительно — для царя с сишным манямирком, ниасилившим лисп-реальность? в которой всех этих проблем и костылей просто не возникает.

в лисп-реальности это действительно «не так».

почему не возникает? потому что в царёвском манямирке эти проблемы не актуальны, и решать их не нужно? да не, если проблемы объективны, они и там себя проявят. значит, таки нужно их уметь решать, не?

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

И так происходит всегда. Люди имеют какие-то идеи. Они идут в мир и мир их не принимает. У тебя есть несколько путей. Убедить себя в том, что «ты не должен» и не думать ни о чём. Подумать, может действительно твои идеи несостоятельны. И уже потом, если это действительно так - доказать это. Другого пути нет.

доказать что, что они таки несостоятельны? опять же, нечёткая логика у тебя какая-то. это не логика, основанная на знании. а сектантское учение какое-то, ещё и с неудавшейся телепатией.

так что это ты сектант, а не я — приписываешь мне свои проекции.

опять у тебя логический круг.

неведомая гибкая архитектура лиспа

вот правильно слово: ведать. то есть, уверенность, основанная на знании, и знание основанное на понимании.

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

или не получишь, если и дальше будешь себя ограничивать.

Пошли самые убогие сектантские потуги, а именно «у всех своя правда». Нет, правда она одна.

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

ты делаешь неверное предположение, потом задаёшь вопрос, неявно подразумевая это предположение логически истинным (а это не так, это лишь твоя частная правда — ограниченное недопонимание царя-манямирковской логики). потом проецируешь на другое, а оно не проецируется. потому что далее у тебя опять тавтологии, формальные.

а качественных нету, потому что нету референтного опыта.

anonymous ()
Ответ на: комментарий от vcerloman

Другое дело, что решение ненужность == отсутствие полезного решения, а значит в результате ноль.

кто будет определять полезность? и нужность? ты? ты не можешь — ты же не видишь примеров. и округляешь не ноль в ноль.

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

научись видеть.

anonymous ()
Ответ на: комментарий от anonymous

Ты полностью и тотально обделался. Меня мало волнуют твои убогие потуги рассуждать о нужности лиспа, о логике. Когда в своём развитии ты перерастёшь табуретку, ты сможешь мне что-то рассказать о логике, а пока. Ты жалка и убогая посредственность, а дефолтные рассуждения, которые я знаю и без тебя - меня мало волнуют. Это твой потолок, а не мой.

миру нужен лисп. лисп не нужен всего лишь какому-то «царю сишки», который не осилил полезный юзкейс, в котором лисп гибче и лучше чем си.

Это так смешно, когда трепло рассказывает, что нужно и тут же обделывается, рассуждая о каком-то неведомом «полезном кейса». Ламерок, «полезные кейсы» существуют только в твоей фантазии. В реальном мире что-то полезное полезно либо вообще, либо никак. Всё остальное - никому не интересно.

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

разберём это утверждение с точки зрения логики. ты совершаешь логическую ошибку, логический круг. предполагая, что лисп не нужен (ты неявно пьёшь водку по утрам) делаешь вопрос, содержащий в себе неявное утверждение (перестал пить, чиста конкретно, да или нет двоичное. а не троичное «non sequitur», наприме

Твои потуги просто жалкие. Это мусор, который ничего не стоит. Ни из каких моих утверждений никакая твоя шизофрения не следует, а из твоей шизофрении ничего не следует так же.

а) я не делаю никаких вопросов. б) я не утверждаю, а констатирую факт. Все предпосылки я тебе дал. Есть что возразить - возражай. Колхозные базворды меня не интересуют, как и твоя запартная лексика. Ты соседям по парте будешь её ретранслировать.

зачем нечто доказывать, если это действительно так? в этом случае это логическая тавтология, тривиальное следствие. это можно и не доказывать — формально логические следствия достаточно самоочевидны.

Если ты идиот, то да - ты родишь подобные потуги, но нет. Ты написал ахинею.

Попытки доказать никак не связаны с тем реальным положением дел. Ты спокойно можешь доказывать что угодно.

Действительность может быть неизвестной, либо недоказанной. Ты не дорос пока до логике даже 5класса, но я тебе поясню.

Земля круглая, это действительно так. Так было всегда, но в представлениях людей всё было иначе, именно поэтому и потребовались доказательства. Доказательва, малоразвитая табуретка, нужны не реальности - они нужны тебе. Реальность итак знаете - что правда, а что нет.

что означает здесь «действительно так» ? для кого действительно — для царя с сишным манямирком, ниасилившим лисп-реальность? в которой всех этих проблем и костылей просто не возникает.

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

Пойми, табуретка, ты по умолчанию ангажирован. Именно твои представления являются маня-мирком по умолчанию. Хотя о чём я тебе говорю.

почему не возникает? потому что в царёвском манямирке эти проблемы не актуальны, и решать их не нужно? да не, если проблемы объективны, они и там себя проявят. значит, таки нужно их уметь решать, не?

Понимаешь, табуретка. Придумать себе проблему ты можешь какую угодно. Проблему спасения, проблему завоевания мира жидами и прочее. Объективность твой проблемы - равна нулю.

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

Ты совсем идиот? Ты вообще понимаешь, что такое объективная проблема? Объективная проблема существует ДЛЯ ВСЕХ, для её ОБЪЯСНЕНИЯ, ПОНИМАНИЯ - НЕ НУЖНО понимания НИКАКОЙ частной области.

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

И сектант не привёл НИ ЕДИНОГО примера. НИ ОДНОГО. Т.е. сектант не можешь, а виноват я? Ты совсем поехавший7

доказать что, что они таки несостоятельны? опять же, нечёткая логика у тебя какая-то. это не логика, основанная на знании. а сектантское учение какое-то, ещё и с неудавшейся телепатией.

Тут ясно и понятно, что имеется ввиду.

Колхозник, ты явно перепутал реальность. Ты - табуретка малоразвитая, которая не моет полы только потому, что в мире уровень табуретки - есть норма. У тебя абсолютно нет НИКАКИХ знаний, и ни от каких знаний логика не зависит. Логика существует отдельно.

вот правильно слово: ведать. то есть, уверенность, основанная на знании, и знание основанное на понимании.

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

А знаниями, существующими только в рамках твоего маня-мирка ты можешь подтереться - они ничего не стоят.

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

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

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

Ни одного примера ты не показал. Все твои недопримеры - фантазии, существующие в твоём сектантском мире. Намёка на что-то хотя-бы близкое к реальное у тебя нет.

Ты, табуретка, настолько тупая, что демонстрируешь типичный конфликт интересов. Если бездарность осилил лисп, то каким образом бездарность может признать его несостоятельность? Любое изучение чего-то делает тебя рабом этого. Обладай ты хоть каплей мозга - ты бы не нёс подобную ахинею. Она ведь играет против тебя.

ты делаешь неверное предположение, потом задаёшь вопрос, неявно подразумевая это предположение логически истинным (а это не так, это лишь твоя частная правда — ограниченное недопонимание царя-манямирковской логики). потом проецируешь на другое, а оно не проецируется. потому что далее у тебя опять тавтологии, формальные.

Опять ахинея мусорная. Я сделал вывод, я тебе дал предпосылки. Ты можешь попытаться их оспорить. Ты обделался от одного их вида, и решил всё это заигнорит.

Всё, все остальные твои потуги - несостоятельны. Ты либо доказываешь ошибочность моих выводов, но ты этого сделать не можешь. Ты несоизмеримо слабее меня. Либо опровергаешь ту основу, которую я использовал. Но её ты так же не опровергнешь, ведь это объективная реальность.

Вот у тебя и остаётся, что кидаться убогими лозунгами, игнорировать всё и вся, и нести ахинею про «тебе не понять». Ога. Иди лечись.

vcerloman ()
Ответ на: комментарий от anonymous

кто будет определять полезность? и нужность? ты? ты не можешь — ты же не видишь примеров. и округляешь не ноль в ноль.

Да я, табуретка. Ты пятилетний ребёнок в сравнении со мною, и уж мой анализ куда сильнее твоих убогих потуг. Это первое, да и это неважно даже.

Всё очень просто. Тебе уже всё объяснили, но ты продолжаешь это игнорировать. Весь мир отражает полезность Си. Всё на си, везде си.

Весь мир не отражаете полезность лиспа - он отражает его бесполезность. Полезность его существует только в твоём маня-мирке. Как максимум ты можешь родить миллионные доли от полезности си.

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

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

Зачем ты мне приводишь подобные потуги? Да, есть те, кто приходят в секту сразу, если те, кому надо показать побольше. Что из этого следует? Что у твоей секты много потенциальных клиентов? Ты гордишься этим?

научись видеть.

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

vcerloman ()
Ответ на: комментарий от RazrFalcon

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

И наследие питона (как и сам питон) немного смущает, в моём понимании любой хороший язык должен быть C-подобный

Но! Даже несмотря на всё это - Go прикольный - прикольный тем, что это как бы первый не знаю как это выразиться... «веб-френдли компилируемый язык» :) в смысле нормально компилируемый, а не как ява.

Собственно это и есть суть ответа на вопрос, что нужно новому языку программирования, чтобы «зайти в массы» - удачно вписаться в какие-то популярные задачи/требования... а не кириллица, конечно...

vitalif ★★★★ ()
Последнее исправление: vitalif (всего исправлений: 1)
Ответ на: комментарий от vcerloman

Ты вообще понимаешь, что такое объективная проблема? Объективная проблема существует ДЛЯ ВСЕХ, для её ОБЪЯСНЕНИЯ, ПОНИМАНИЯ - НЕ НУЖНО понимания НИКАКОЙ частной области.

есть проблема: инкрементальная разработка, hotswapping. есть её способ решения: Java. описан анонимусом тут, есть недостатки. есть способ решения на CL тут

там этих недостатков нет.

вопрос.1: почему есть эти недостатки в подходе Java и в решениях на Java? потому что это она ЧАСТНАЯ ОБЛАСТЬ понимания архитектуры и её метамоделей, один из возможных вариантов реализации на базе каких-то ограничений и компромиссов.

вопрос.2: в решении на CL почему этих решений не возникает? потому что понимание другое, порождённое другими ограничениями и компромиссами.

вопрос.3: какой подход лучше приспособлен к инкрементальной разработке (при прочих равных, понимании частных областей)? имхо, CL более гибок и более годен.

вопрос.4: прочие равные — равны? ответ: нет, не равны.

хватит с тебя и двух уже приведённых примеров.

anonymous ()
Ответ на: комментарий от den73

Тут на это по-другому можно посмотреть - ну вот разве плохо было бы, если бы все умели говорить на одном и том же языке? Круто же, представь - ты бы свободно путешествовал по миру и со всеми общался, как дома.

И все вроде как бы в теории не против, чтобы язык был один. Но только каждый хочет, чтобы это был именно ЕГО язык :) то есть по сути язык частично используется как средство управления людьми / «разделения наций». Ну вот на Украину сейчас посмотри например. Фиг знает, так ли хорошо это применение в качестве «самоидентификации».

vitalif ★★★★ ()
Ответ на: комментарий от anonymous

еперь про преимущества Лиспа :-) Лисп - это метаязык :-) Это теория :-) Теперь практика :-) Та куча дерьма, которую надо с потугами наколбасить на цепепе, чтобы сгенерировать строчку в компайл-тайме (ты знаешь, о чём я), на Лиспе является не кучей нечитаемой параши, а естественным кодом строк на 5 :-) Т.е. преимущество одно - возможность писать программы кратко, благодаря макрам :-) Всякие там горячие замены с инкрементальными разработками в образе - это уже побочка :-)

на самом деле (если таки подумать головой), то основное преимущество как раз вытекает из теории :) что лисп — это не язык, а метаязык. то есть, конструктор для конструирования языков (не обязательно языков программирования, а например и языков моделирования, симуляции и проч.)

вот есть например такой язык моделирования «киберфизических» объектов как Modelica.

из туториала

To give an introduction to Modelica we will consider modeling of a simple electrical circuit as shown below. The system can be broken up into a set of connected electrical standard components. We have a voltage source, two resistors, an inductor, a capacitor and a ground point. Models of these components are typically available in model libraries and by using a graphical model editor we can define a model by drawing an object diagram very similar to the circuit diagram shown above by positioning icons that represent the models of the components and drawing connections. A Modelica description of the complete circuit looks like

model circuit
 Resistor R1(R=10);
 Capacitor C(C=0.01);
 Resistor R2(R=100);
 Inductor L(L=0.1);
 VsourceAC AC;
 Ground G;

equation
 connect (AC.p, R1.p); // Capacitor circuit
 connect (R1.n, C.p);
 connect (C.n, AC.n);
 connect (R1.p, R2.p); // Inductor circuit
 connect (R2.n, L.p);
 connect (L.n, C.n);
 connect (AC.n, G.p); // Ground
end circuit;

For clarity, the definition of the graphical layout of the composition diagram (here: electric circuit diagram) is not shown, although it is usually contained in a Modelica model as annotations (which are not processed by a Modelica translator and only used by tools). A composite model of this type specifies the topology of the system to be modeled. It specifies the components and the connections between the components. The statement Resistor R1(R=10); Modelica 1.4 Tutorial 4 declares a component R1 to be of class Resistor and sets the default value of the resistance, , to 10. The connections specify the interactions between the components. In other modeling languages connectors are referred as cuts, ports or terminals. The language element connect is a special operator that generates equations taking into account what kind of quantities that are involved as explained below.:

partial model OnePort "Superclass of elements with two electrical pins"
 Pin p, n;
 Voltage v;
 Current i;
equation
 v = p.v - n.v;
 0 = p.i + n.i;
 i = p.i;
end OnePort;
model Resistor "Ideal electrical resistor"
 extends OnePort;
 parameter Real R(unit="Ohm") "Resistance";
equation
 R*i = v;
end Resistor;
model Capacitor "Ideal electrical capacitor"
 extends OnePort;
 parameter Real C(unit="F") "Capacitance";
equation
 C*der(v) = i;
end Capacitor;

Modelica 1.4 Tutorial 6 where der(v) means the time derivative of . A model for the voltage source can be defined as

model VsourceAC "Sin-wave voltage source"
 extends OnePort;
 parameter Voltage VA = 220 "Amplitude";
 parameter Real f(unit="Hz") = 50 "Frequency";
 constant Real PI=3.141592653589793;
equation
 v = VA*sin(2*PI*f*time);
end VsourceAC;

anonymous ()
Ответ на: комментарий от anonymous

что здесь происходит? model — синоним для class, только немного с другим ООП чем обычно. есть разные другие виды классов. в модели определяются настраиваемые параметры, ненастраиваемые константы классы-предки и уравнения. при наследовании моделей происходит наследование уравнений. получается два альтернативных представления, казуальное (причинностное) типа языка программирования и аказуальное (как математическое уравнение, где не определён порядок вычисления при симуляции). например, закон Ома как уравнение R*i = v; аказуальное порождает три альтернативных алгоритма v := R*i; R:=v/i; i:=v/R;, три ветки (трассы выполнения).

когда описывается connect(P1.in,P2.out); происходит композиция уравнений.

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

такое представление (акаузальное) обладает составимостью (composability), что повышает reusability.

симуляция транслирует это всё в компилируемый код и исполняет в среде симуляции.

anonymous ()
Ответ на: комментарий от vcerloman

Я тебе уже объяснял, что да - я знаю все эти мантры, но я не видел ни одного примера. Пусть даже чисто теоретического.

вот тебе ещё один пример: конкретно практический.

У меня, да и как у кого-либо ещё( скорее всего), - есть представления о том, как что-то может выглядеть. И это представление не ограничивается крестами. Но во всех этих представлениях, во всех возможных имплементациях какого-либо интерфейса - я не вижу возможностей сделать лучше, сделать проще.

И тут есть два варианта - либо я не вижу целый пласт возможностей, либо их нет. И я всё никак не могу его увидеть.

а я вижу. вот например, нечто типа Modelica. сейчас оно реализовано трансляцией в C, есть FFI для С/Fortran/прочее, богатая библиотека стандартных элементов, функциональных блоков. развиваются, короче.

если пофантазировать — подобное вполне могло бы быть написано и на лиспе. и такая реализация дала бы новое качество, за счёт лучшей, более гибкой архитектуры.

например, по примеру из ссылки выше по топику («для протокола»): была написана подобная среда на лиспе ещё в середине 80-х годов.

в этой среде из коробки можно было сделать «машинно-генерируемые объяснения», например платформа бы рассказала как она собирается эти уравнения вычислять при симуляции. можно было бы прикрутить и базу знаний, на фреймовых сетях либо на CLOS либо на каком-то inference engine.

сейчас подобное можно и в Modelica реализовать, внешними dll.

но реализация на лиспе дала бы новое качество: инкрементальность обновлений, livecoding, hotswapping кода.

симуляцию можно было бы обновлять не перезапуская — из-за разработки в одном образе.

если реализовывать подобное на лиспе, тут как раз могут пригодиться идеи fare про Interface Passing Style и дальнейшее его развитие, трансформацию интерфейсов.

далее в такую вот реализацию можно было бы и тот же Яр воткнуть от ТС. и транслировать русскоязычные модели типа Modelica в какой-то такой лисп, только гибче.

anonymous ()
Ответ на: комментарий от vcerloman

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

при этом надо различать разные виды сложности (complexity vs. sophisticated) и разные виды простоты (минимализм vs. примитивизм).

разные виды простоты:

примитивизм это отсутствие более существенных смыслов. форма соответствует содержанию, смыслу и устроена просто и убого.

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

разные виды сложности:

complexity означает «сложно, потому что не понимаем, как добиться того же более простыми средствами». громоздко — потому что так получилось из-за недопонимания, как сделать простым способом.

sophisticated означает более существенные смыслы by design, и сложная архитектура, продуманная — отражает эти смыслы.

при этом sophisticated получается проще и эффективнее, но менее запутаннее и прозрачнее чем complicated.

сделать сложное продуманно — чтобы пользоваться им было просто.

C++ overcomplicated, и недостаточно sophisticated.

лисп минималистичен, но не примитивен.

anonymous ()
Ответ на: браузер на лиспе от anonymous

Re: браузер на лиспе, links-like

cl-charms, ncurses бекенд для McCLIM

запилить это в closure — lynx получится.

но современный веб это такое говно... из-за жабоскрипта и совместимостей, quirks

вот на tcl/tk был нормальный браузер, hv3 — HTML4/CSS и какие-то JS4 без DOM (лол).

в нём была нормальная архитектура, на базе движка правил. тесты проходил корректно хз сколько лет тому назад.

на каком-то движке правил и нужно такую вот веботню писать, с корявками насчёт невалидного/несовместимого HTML.

anonymous ()

Если вы уверены, что ваш инструмент даёт какие-то реальные преимущества, которые могут быть кому-то интересны, помимо киррилицы, то вам срочно нужно перепилить это всё на английский язык, сделать какой-никакой ребрендинг, что-то вроде «Yarrr!!1» И выкатить на гитхаб, с соответствующей документацией, аргументацией, пояснениями кому и почему это нужно и чем оно лучше остальных. Так у вас будет шанс спасти море потраченных сил и времени. Кто-то да заинтересуется. Уверен, что не буду оригинален в своём суждении, но киррилица в таких инструментах-это не фича и даже не баг, это огромный такой якорь, который тащит проект на дно. Вы сами закрываетесь от миллионов пользователей, знающих английский. Россия сейчас не в том положении, чтобы внедрять русский язык в ИТ. Если бы россия, например, выкатила настоящий квантовый компьютер первее всех-тогда она могла бы жахнуть под него язык программирования на русском и я уверен, многие бы подтянулись. Но сейчас-нет.

Pyzia ★★★★ ()
Ответ на: комментарий от Pyzia

Если автор сможет дожать свою мечту до конца и создаст востребованный язык на кириллице, то все «реалисты» и скептики утрутся, а он получит почёт на многие десятилетия. Сейчас, когда Илон Маск умудрился организовать полёт ракеты в космос на частные средства, даже такие безумные идеи не кажутся невозможными. Всё же историю пишут безумцы, ведь только безумцы пытаются преодолеть «невозможное», а «разумные и нормальные» всегда в стороне.

anonymous ()
Ответ на: комментарий от anonymous

Сейчас, когда Илон Маск умудрился организовать полёт ракеты в космос на частные средства...

Можно только посочувствовать людям верящим в эту чушь.

anonymous ()
Ответ на: комментарий от anonymous

Но ведь автор-не Илон Маск. Маск херачил долгие годы, прежде чем пробился туда, где он теперь. И начинал он с вполне себе коммерческого пейпала, без всяких лишних выкрутасов. А автор сдулся за 2 года. Кроме того, Маск-просто фронтмен. Да, достойный, но один он ничто, за его спиной стоят тысячи инженеров, которые по крупице сделали то, что сделали, Маск-просто красивая табличка над всем этим. Не спорю, он сделал многое, но он всё это делал не один. Время одиночек прошло. Не будет уже Леонардо да Винчи, Пифагора и Аристотеля.

Pyzia ★★★★ ()
Ответ на: комментарий от Pyzia

К этому:

Сейчас, когда Илон Маск умудрился организовать полёт ракеты в космос на частные средства...

можно добавить только «Билл Гейтс - гениальный программист» и «Стив Джобс - величайший компьютерщик»

.

... Маск-просто красивая табличка над всем этим...

Единственная здравая мысль.

anonymous ()
Ответ на: комментарий от Pyzia

Да какая разница кто автор? Его дело пробовать. Это не отменяет того, что одиночки могут и будут творить. Вы привели в пример великого математика, философа Древней Греции и художника Эпохи Просвещения и заключили, что время одиночек прошло. Хорошо. А Перельман? Он тоже в прошлом? А Эндрю Уайлд? Заметьте, вы коснулись математики. Философов и художников не касаемся, так как их вклад очень сомнителен в дело прогресса (можно привести миллионы художников, а философов аж целые миллиарды, вы не поверите). Да банально, Линус Торвальдс начинал в одиночку разрабатывать ядро. И пусть теперь за его спиной стоят сотни тысяч, это не отменяет того, что он добился желаемого. Ничто не мешает разработчику в будущем найти компаньонов и реализовывать поставленную цель. Форд как-то метко сказал - «Гораздо больше людей сдавшихся, чем побежденных», а ещё он остроумно прошёлся по профессионалам с их исключительным мнениям.

anonymous ()
Ответ на: комментарий от anonymous

Вот именно, автор сдался. За спиной всех перечисленных вами годы упорной работы, Линус Торвальдс попал точно в цель, находился в нужном месте в нужное время, Линукс оказался нужен миру, как воздух. За два года такой масштабнейший проект, как новый ЯП не потянуть и команде спецов, тут же у нас одиночка-маргинал.

Pyzia ★★★★ ()
Ответ на: комментарий от vcerloman

Весь мир отражает полезность Си. Всё на си, везде си.

Да ладно :-) Лол :-) Во всяких разных весьма успешных организациях можно запросто увидеть какой-нибудь дельфи :-) На нём пишут тонны кода, и плевать хотели на Си :-)

Весь мир не отражаете полезность лиспа - он отражает его бесполезность. Полезность его существует только в твоём маня-мирке.

Эти бесполезные рассуждения отражают лишь тот факт, что Лиспа ты не знаешь :-)

То, что каким-то там ламеркам из-за парты этот мусор нужен, то, что дерьмо нужно каким-то говноедам - не делает дерьмо нужным.

Ты ведь не про маня-мирок сейчас говоришь? :-) Поверь, если хорошо оплачиваемые ламерки на местах, которые на полном серьёзе считают, что на говнокоде можно успешно делать бабки :-) Эти самые персонажи считают, что говнокод может соперничать с кодом качественным :-) Парадокс, но до какой-то степени это оказывается правдой :-)

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

О да, давай в десятый раз сгенерим строчку в компайл-тайме на Си или на цепепе, и на Лиспе :-) Сравним юзабельный код в несколько строчек на Лиспе и нечитаемую парашу на цепепе :-) И ты уже успокоишься :-) Лол :-)

anonymous ()
Ответ на: комментарий от anonymous

Я всё понимаю, что ты вчера за партой узнал 2 новых базворда, но. Ты обделался.

Объясню пацанам о том, что имел ввиду данный колхозник. Он пытается балаболить о том, что «сложное и функциональное(не от слова „функция) на самом деле дерьмо потому, что „можно сделать проще“, а раз можно сделать проще - то пацаны просто не осилили и сделали дерьмо“, при этом - колхозник нам никогда не покажет как - как сделать проще, и не докажет того, что подобное „усложнение“ есть не следствие объективной необходимости, а следствие слабости, т.е. неспособности реализовать это лучше.

Второе, колхозник противопоставляет примитивное и полное, при этом называя говнолисп „минималистичным“, т.е. „проще без явного проигрыша в функциональном плане“, но это не так. Функционально говнолисп не стоит раже рядом с жабасприптом, и еле-еле побеждает брайнфак.

И казалось бы, если колхозник противопоставляет „переусложнённое“ лиспу, то он он должен показать обратное. Т.е. показать то, что обладает таким же функционалом, но - не является переусложнённым. Есть ли это в лиспе? Нет.

При этом, любой лисп-сектант является невменяемым по определению, ведь он вам рассказывает о некоем абстрактном лиспе, который минималистичен и прочее, но когда дело доходит до хелвордов - появляется ЦЛ, который уже нихрена не „минималистичен“.

Вся логика подобных сектантов построена на подмене понятий. Их ЦЛ - это явный признак того, что ФП - обделалось, лисп - обделался. Ведь ЦЛ не является лиспом.

Это попытка загнать в ущербный недосинтаксис синтаксис других языков, оправдывая это некоей „мультипирадигмой“, хотя это прямое заявление „мы обделались“.

Когда-то давно, запартные колхозники не осилили реализацию вменяемого синтаксиса - так родилось это убожество. И названо это было „минимализмом“, хотя не понятно - зачем ты со своим минимализмом тащишь классы, циклы и всё остальное.

В любом случае - всё это неважно. Адепты лиспа попросту неадекватны.

vcerloman ()
Ответ на: браузер на лиспе от anonymous

Это мусор.

Бетон/сталь - основа современной архитектуры. Весь мир отражает их полезность, весь мир отлит из бетона/стали. Покажи мне дом из дерьма. -«вон, посмотри, какой-то идиот построил хибару из дерьма», действительно.

Повторю, специально для сектантов, когда кто-то говорит «покажи мне что-то», в контексте сравнения - это должно быть конкурентоспособным, т.е. функционально-близким к тому, что есть у другой стороны. Нельзя насыпь из дерьма выдать за мост, а хибару в 5кубов за дом.

vcerloman ()
Ответ на: Re: браузер на лиспе, links-like от anonymous

в нём была нормальная архитектура

Это лишь твой убогий трёп, за которым ничего не стоит. Архитектура не нужна хелвордам. Почему ты, кукарекая об ахитектуре, выдаёшь хелворды? Почему все твои «сильные архитектурой» поделки - никогда из уровня хелворда не выбирались?

Броузер уровня 95года - хелворд, и естественно, что колхозники ринулись его писать, а вернее пастить. А как только сложность перевалила за уровень хелворда - тут же все колхозники и недоязычки обделались.

vcerloman ()
Ответ на: комментарий от anonymous

Да ладно :-) Лол :-) Во всяких разных весьма успешных организациях можно запросто увидеть какой-нибудь дельфи :-) На нём пишут тонны кода, и плевать хотели на Си :-)

Понимаешь - ты слишком глупый. Ты не можешь рассуждать - ты можешь только ретранслировать убогие поверья, который ты от кого-то слышал. Это не работает.

Успешные они наверное потому, что нонеймы и их отрыжка - нонейм? Отличный пример успеха.

Вернёмся к стали/бетону и домам. «Во всяких разных, весьма успешных, деревнях - можно запросто увидеть какое-то говно. На нём строят тонных хибар, и плевать они хотели на сталь».

Да, если ты идиот - это для тебя сработает, но нет же. Меня не волнуют колхозники и их потуги. Есть те, кто жрёт дерьмо - что из этого следует? Ничего. Дерьмо - не еда, и все твои отсылки на то, что где-то и кто-то его жрёт - ничего не меняют, ведь на мир это никак не влияет.

Эти бесполезные рассуждения отражают лишь тот факт, что Лиспа ты не знаешь :-)

Ах да, забыл. Что-бы увидеть небоскрёбы из дерьма - мне надо в них верить, а так я их увидеть не смогу. Прости.

Просто я привык, что мне не надо знать что-то о стали/бетоне, что-бы видеть небоскрёбы. Это, наверное, неправильно.

Ты ведь не про маня-мирок сейчас говоришь? :-) Поверь, если хорошо оплачиваемые ламерки на местах, которые на полном серьёзе считают, что на говнокоде можно успешно делать бабки :-) Эти самые персонажи считают, что говнокод может соперничать с кодом качественным :-) Парадокс, но до какой-то степени это оказывается правдой :-)

И? Ширпотреб состоит из дерьма, на то он и ширпортреб. Колхозник должен мочь что-то делать, из чего-то строить. Он не может осилить что-то вменяемое, вот и ваяет на чём может. Следует ли из этого что-то? Нет.

Я тебе уже сказал. Я могу посмотреть на этот мир, на свой экран - увижу там только С/С++. Почему я не вижу лиспа? Слабо верю? Надо лучше?

О да, давай в десятый раз сгенерим строчку в компайл-тайме на Си или на цепепе, и на Лиспе :-) Сравним юзабельный код в несколько строчек на Лиспе и нечитаемую парашу на цепепе :-) И ты уже успокоишься :-) Лол :-)

Я тебя уже помножил на ноль в прошлый раз - попробуй ещё раз. Ты так и не смог ответить на вопрос «зачем», и не смог предоставить хоть какого-то функционально-полезного примера. Хотя это очевидно, ведь сектант и реальность - не совместимы.

И самое интересное, балабол уже знает, что обделался и готовит себе пути к отступлению. Он уже пытается выдать другое за «нечитаемое», хотя меня не волнует мнение убогих о том, что является читаемым, а что нет.

vcerloman ()
Ответ на: комментарий от vcerloman

Понимаешь - ты слишком глупый.

Не понимаю :-)

Ты не можешь рассуждать - ты можешь только ретранслировать убогие поверья, который ты от кого-то слышал. Это не работает.

Собственными глазами видел, как ламерки пишут тонны дерьма на дельфи и получают за это деньги :-) Это факт :-)

Успешные они наверное потому, что нонеймы и их отрыжка - нонейм? Отличный пример успеха.

Нет, успешные они потому, что умудряются продать свою парашу и выплатить зарплаты своим ламеркам :-)

Меня не волнуют колхозники и их потуги. Есть те, кто жрёт дерьмо - что из этого следует? Ничего.

Есть те, кто жрёт не дерьмо :-) И что? :-) А ничего :-)

Просто я привык, что мне не надо знать что-то о стали/бетоне, что-бы видеть небоскрёбы. Это, наверное, неправильно.

Ну а те, кто делает халабуды из говна и палок привыкли ничего не знать о стали и бетоне :-) Потому что есть желающие купить халабуды (см. про жрёт дерьмо) :-) Прикинь? :-)

И? Ширпотреб состоит из дерьма, на то он и ширпортреб. Колхозник должен мочь что-то делать, из чего-то строить. Он не может осилить что-то вменяемое, вот и ваяет на чём может. Следует ли из этого что-то?

Ширпотреб - это от «широкого потребления» :-) Т.е. массовый покупатель :-) Т.е. много денег :-) А следует из этого большая прибыль :-)

Я тебя уже помножил на ноль в прошлый раз - попробуй ещё раз.

Ну, в параллельном мире ты, возможно, и помножил кого-то там на ноль, одержав уверенную победу :-) Что из этого следует? :-) Ничего не следует :-)

И самое интересное, балабол уже знает, что обделался и готовит себе пути к отступлению.

Какие пути к отступлению? :-) Ты о чем? :-)

Он уже пытается выдать другое за «нечитаемое», хотя меня не волнует мнение убогих о том, что является читаемым, а что нет.

А чьё мнение тебя волнует? :-) Лол :-)

anonymous ()
Ответ на: комментарий от Pyzia

киррилицы

кириллицы

вам срочно нужно перепилить это всё на английский язык, сделать какой-никакой ребрендинг, что-то вроде «Yarrr!!1» И выкатить на гитхаб, с соответствующей документацией, аргументацией, пояснениями кому и почему это нужно и чем оно лучше остальных.

И получить очередной клон лиспа? Зачем?

киррилица в таких инструментах-это не фича и даже не баг, это огромный такой якорь, который тащит проект на дно.

Жопоголизм как он есть. Хорошо, что в 1С вашего мнения не послушали.

Я вот вполне представляю себе нишу для ЯП с русскоязычным синтаксисом. Другое дело, что я не уверен, что он должен быть похож на лисп. Сфера применения для ЯП на основе русского (французского, немецкого, китайского, etc.) языка - это создание заказного прикладного ПО. Такой язык должен позволять с максимальной лаконичностью описывать взаимодействие программы с предметной областью и обладать высокой степенью защиты от ошибок.

Повторюсь, я не уверен, что Яр приблизился к соответствию этим качествам - но в самой идее создания национальных ЯП я не вижу ничего порочного или постыдного. Да, браузеры или плееры на таких языках писать, очевидно, нецелесообразно - но это лишь малая часть разрабатываемых в мире программ.

Вы сами закрываетесь от миллионов пользователей, знающих английский.

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

Если бы россия, например

Это мода такая - названия стран писать с маленькой буквы?

hobbit ★★★★★ ()