LINUX.ORG.RU

Schemesh v0.9.0 — оболочка командной строки на Scheme

 , ,


1

5

Пока сограждане предавались праздничным развлечениям, разработчик Schemesh разрабатывал и в результате наразрабатывал очередной релиз своего проекта: оболочка командной строки, представляющая собой довольно элегантную амальгаму синтаксиса Chez Scheme и классического UNIX Shell.

В данном выпуске:

  • добавлены функции работы с историей и портами (в том числе и совместимые с Racket);
  • улучшена работа с фоновыми процессами;
  • несколько мелких исправлений и обновлённые инструкции по сборке.

Из нетривиальных особенностей проекта стоит отметить возможность смешивать синтаксис Lisp с обычным shell в рамках одного скрипта и возможность подгружать schemesh в качестве библиотеки в Chez Scheme. Детальнее с примерами можно посмотреть здесь.

От других REPL-образных оболочек с Lisp/Scheme синтаксисом данный проект отличается наличием полноценного job control (fg\bg и прочее).

На вкус автора новости получилась бы отличная замена того же Fish если бы поддерживался right prompt – на удивление редко встречающаяся фича среди оболочек командной строки.

>>> подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: unfo (всего исправлений: 2)
Ответ на: комментарий от Kroz

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

Абстрактное, лишённое содержания и смысла высказывания.

Приведённый пример на bash реализуется в разы проще.

Обоснуйте.

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

И эти люди запрещают лисперам ковыряться в носу!

Я тоже искренно недоумеваю, когда люди недолюбливают Лисп. Но надо так же честно признать, что любители Лиспа, увы, исчезающий ископаемый тип.

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

дабла! 3.14+3.14

А можно пример когда это может понадобиться в автоматизационных скриптах?

P. S.

$ bc <<< "3.14+3.14"
6.28
Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Мне одному этот код кажется отлично читаемым?

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

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

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

А можно пример когда это может понадобиться в автоматизационных скриптах?

Да мало ли, в конфиг-файле какой-то параметр увеличить в полтора раза.

bc <<< «3.14+3.14»

вот-вот, об этом я и говорю

sena ★★★
()
Последнее исправление: sena (всего исправлений: 2)
Ответ на: комментарий от ugoday

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

Абстрактное, лишённое содержания и смысла высказывания.

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

Обоснуйте.

Каждый раз писать вот это для запуска внейней команды? (shell {:out :string} "ffprobe"). Для шелла???

Вы точно инструмент по назначению используете?

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

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

Так bash не для этого.

Вы ещё скажите, что возможностей bash не хватает чтобы ядро написать.

Под каждую задачу - свой инструмент.

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

Что под каждую задачу свой инструмент?

Ещё про Волгу и Каспийское море расскажите.

Каждый раз писать вот это для запуска внейней команды? (shell {:out :string} «ffprobe»).

Довольно дешёвая цена, которой достигаются большие возможности. Кроме того, в силу того, что clojure — довольно мощный язык тут не нужно дёргать внешние программы, чтобы перемножить два числа. Так что да, запись чуть более многословная, но это ерундовая проблема.

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

Так bash не для этого.

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

Если есть уже отработанные, очень простые, легковесные интерпретаторы, типа Лиспа или Луа, которые позволят недорого расширить возможности шела, оставаясь при этом совместимыми со старым кодом, то почему бы и нет?

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

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

Потому, что это нужно очень редко. Для задач bash.

Я на Линуксе лет 25, как дома так и на работе, живу в коммандной строке, bash знаю очень хорошо, писал скрипты в сотни и тысячи строк; и при этом я не помню ни разу чтобы мне это понадобилось. А вот на Питоне это нужно каждый день. Поэтому в bash работа со значениями с плавающей запятой сложно, а запуск внешних програм - просто. А в Python наоборот. Потому как для своих задач.

А вот пример когда в язык тащат всё: C++. Он переусложнён. Чтобы на нём более-менее комфортно писать, нужно года 3 активной практики, и это не считая времени на изучение теории. Это на джуна. Потому как теория относительно несложная. Но как только ты доходишь до практических задач, ты попадаешь с ситуацию сороконожки, которая однажды задумалась в какой последовательности она преставляет ноги, и далее не смогла сделать ни шагу. Потому как в C++ можно 100500 способами сделать одно и то же, а вот какой из этих способов выбрать - тут нужен недюжий опыт. Если что C++ - один из моих любимых языков. Но мне в голову не прийдет использовать его место шелла; ровно как использовать bash там, где нужно много логики с плавающей запятой. А для одной операции можно и внешнюю команду вызвать, там более что это не сложнее чем внутреннюю.

Лично я для себя сформировал следующую облать применения bash как скриптового языка:

  1. Автоматизация
  2. До 500 строк
  3. Нет работы с разными типами данных, особенно с неатомарными (структуры, массивы, и т. п.)
  4. Много вызовов внешних программ

Всё что выходит за рамки - Python. Повторюсь - задачи автоматизации. Потому как есть ещё С/C++, Lua, Java и т. п. - у всех них разная область применения.

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 2)
Ответ на: комментарий от sena

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

P. S. Дело не в сложении. Это целый пласт логики: арифметика, сравнение (мы ж в if тоже хотим использовать?), вывод с заданной точностью, явное/неявное приведени к int. Там закопаться! И это чтоб в одном из 1000 скриптов не вызывать внешнюю комманду, сэкономить пару символов? Это просто ненужно.

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

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

Можно сисок этих поделок, где нет варианта минимальной установки?

А на LOR ты через elinks сидишь?

Через eww.

Или твоё желание строить из себя нетакусика так далеко не простирается?

А вот и «пацаны с падика засмеют» подъехало. Вяленькие такие предсказуемые.

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

Уровень диалога моего младшенького.

Или как животное в кнопочки GUI тыкать?

Что поделать - приходится подстраиваться под уровень собеседника.

Некоторые приматы (не хомо сапиенс) могут пользоваться GUI.

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

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

Мне одному этот код кажется отлично читаемым?

Нас как минимум двое. Но люди разные.

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

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

Ну да. Сначала сломаем то, что прекрасно работает без смузихлёбов. Потом пусть платят за починку. Я не знаю как у вас, а у нас таких мамкиных специалистов гонят ссаными тряпками.

Да всем насрать на хотелки полутора калек.

Ты сам себе противоречишь. KDE Plasma же существует. Значит о полутора калеках тоже думают.

Те, кто переучивание не осиливает, может по форумам поныть.

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

Есть ещё, разумеется, вариант написать самому, но те, кто на такое способен, и с обучением проблем не испытывают.

Так придётся. Люди с хлебушком между ушей порешали.

От чего у ламеров дополнительно пригорает, а нормальных людей - развлекает :)

Ламерам как раз всё это до лампочки. Они ставят бубунту и пользуют гном. Продвинутые ламеры ставят бубунту. Ваннаби корпоративные ламеры ставят федорку.

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

зачем тогда страдать с линуксом?

Тебе? Точно не за чем. Сваливай обратно на винду и не простудись по дороге :-D

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

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

Нет, ты не прав. Когда ресурсы тратятся впустую (человеческие или там энергетические), это неправильно. Непрофессионально, халтурно, не эстетично, некрасиво, расточительно и глупо наконец.

Сейчас это самая распространённая практика в IT. И смотри как людям в головы нассали – они свято верят, что так правильно.

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

Сваливай обратно на винду

Я не осиливаю, она слишком сложная. Даже после надругательств поттеринга линукс попроще. Вот когда баш заменят на девопсячью долбню, тогда наступит пора валить.

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

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

Это неправда. Да и дело не в синтаксисе. В жаве он тоже простой.

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

P. S. Дело не в сложении. Это целый пласт логики: арифметика, сравнение (мы ж в if тоже хотим использовать?), вывод с заданной точностью, явное/неявное приведени к int. Там закопаться!

➜  ~ echo "$((5+3))"
8
➜  ~  echo "$((5/3.4))"
1.4705882352941178
➜  ~ echo "$((5 ** 2.5))"
55.901699437494742
➜  ~ ps
  PID TTY          TIME CMD
18040 pts/10   00:00:04 zsh
29132 pts/10   00:00:00 ps

А в zsh взяли и сделали. И стало только лучше. shell — это по определению высокоуровневая штука, т.е. она должна выполнять работу за пользователя, а не пользователь подстраиваться под интерпретатор. Я понимаю, когда С заставляет человека попрыгать с бубном. Там это осмысленно и понятно ради чего все эти телодвижения. А тут — чистое долбоклюйство. Сделано неудобно, чтобы пользователю было неудобно. Деды страдали и нам велели.

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

не помню ни разу чтобы мне это понадобилось

Ну вот такой твой личный опыт, у меня другой.

Поэтому в bash работа со значениями с плавающей запятой сложно, а запуск внешних програм - просто.

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

Автоматизация

Ну вообще говоря почти любой язык подходит под это определение, и с++ и луа… :)

До 500 строк

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

Нет работы с разными типами данных, особенно с неатомарными (структуры, массивы, и т. п.)

Это не правило, это вынужденное ограничение. Как ты будешь работать со структурами и контейнерами в шеле. :) А вынужденное потому что опять же очень ограниченный язык, окаменевший 30 лет назад…

sena ★★★
()
Последнее исправление: sena (всего исправлений: 2)
Ответ на: комментарий от bread

Это неправда. Да и дело не в синтаксисе. В жаве он тоже простой.

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

но дело действительно не в этом

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

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

bread
()
Последнее исправление: bread (всего исправлений: 2)
Ответ на: комментарий от ugoday

А в zsh взяли и сделали. И стало только лучше.

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

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

Это целый пласт логики: арифметика, сравнение (мы ж в if тоже хотим использовать?), вывод с заданной точностью, явное/неявное приведение к int. Там закопаться!

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

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

Вот народ извращается

http://howtowriteaprogram.blogspot.com/2010/11/lisp-interpreter-in-90-lines-of-c.html

было ещё, уже не найду

Конечно с ограничениями, но тем не менее, для джавы такого нет

sena ★★★
()
Последнее исправление: sena (всего исправлений: 2)
Ответ на: комментарий от Kroz

Ну так а какой тебя шелл?

В качестве логин-шелла dash, в качестве интерактивных - eshell и fish. Если сделают right prompt - последний заменю на проект из новости.

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

только уговаривать, объяснять

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

видимо влияние корпов

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

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

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

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

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

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

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

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

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

Можно сисок

Можно, разрешаю :-D

Заодно можешь проверку орфографии попробовать прикрутить - ну ту самую, которая по-умолчанию доступна в любом GUI браузере.

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

Некоторые приматы (не хомо сапиенс) могут пользоваться GUI.

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

Правда непонятно - если ты всё-равно предпочитаешь консоль, то почему у тебя так подгорел пердак от того, что те, кто прелпочитает GUI (то есть подавляющее большинство пользователей GNU/Linux), выбрали более удобный и грамотно спроектированный wayland вместо кривого дырявого xorg? Тебе-то какая разница? Порвался просто от того что тебя спросить забыли?

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

Можно, разрешаю :-D

Заодно можешь проверку орфографии попробовать прикрутить - ну ту самую, которая по-умолчанию доступна в любом GUI браузере.

Аргументация всё краше. Списка то нет в итоге? Газифицировал лужу и ну до опечатки докапываться.

ЗЫЖ Взял GUI-браузер. Нет проверки орфографии по умолчанию (без дефиса пишется; спелл-чекинг не отменяет необходимости пользоваться головой).

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

Некоторые приматы (не хомо сапиенс) могут пользоваться GUI.

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

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

Правда непонятно - если ты всё-равно предпочитаешь консоль, то почему у тебя так подгорел пердак от того, что те, кто прелпочитает GUI (то есть подавляющее большинство пользователей GNU/Linux), выбрали более удобный и грамотно спроектированный wayland вместо кривого дырявого xorg? Тебе-то какая разница? Порвался просто от того что тебя спросить забыли?

Вот бы тебе ещё научиться читать тред, который то комментируешь. Но это я, конечно, по нынешним меркам, много от тебя хочу. Извини.

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

сломаем то, что прекрасно работает

У тебя внезапно перестало работать то, что раньше работало? Так это просто потому что ты криворукий идиот - разработчики здесь точно ни при чём. При выпуске Debian 12, c Debian 11 ничего не происходит. И даже с Debian 10 ничего не меняется - всё работает ровно так как и раньше работало. То же самое относится к любому другому СПО.

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

Ага, в мечтах маня-мирка где кому-то не насрать на твоё охрененно ценное мнение.

KDE Plasma же существует

И прекрасно работает на wayland, ага. Сказать-то что хотел?

Ламерам как раз всё это до лампочки.

А по тебе не скажешь - развонялся так словно для тебя это очень животрепещущий вопрос.

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

А красноглазые нетакусики пусть и дальше теребонькают свой лялех.

Дык за чем дело стало? Вперёд и с песней - ты в компании с гейОС будешь смотреться максимально комплиментарно ;)

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

Как питон использовать в качестве оболочки?

Вот так:

➜ ~  xonsh --version
xonsh/0.19.3
➜ ~  curl https://raw.githubusercontent.com/xonsh/xonsh/refs/heads/main/logo.txt
                           ╓██▄
                          ╙██▀██╕
                         ▐██4Φ█▀█▌
                       ²██▄███▀██^██
                     -███╩▀ " ╒▄█████▀█
                      ║██▀▀W╤▄▀ ▐║█╘ ╝█
                 ▄m▀%Φ▀▀  ╝*"    ,α█████▓▄,▄▀Γ"▀╕
                 "▀██¼"     ▄═╦█╟║█▀ ╓ `^`   ,▄ ╢╕
                  ,▀╫M█▐j╓╟▀ ╔▓▄█▀  '║ ╔    ╣║▌  ▀▄
               ▄m▀▀███╬█╝▀  █▀^      "ÜM  j▐╟╫╨▒   ╙▀≡═╤═m▀╗
               █æsæ╓  ╕, ,▄Ä   ▐'╕H   LU  ║║╠╫Å^2=⌐         █
            ▄æ%Å███╠█ª╙▄█▀      @1╙       ║║╟╫╩*T▄           ▌
           ╙╗%▄,╦██▌█▌█╢M         ╕      M║║║║█═⌐ⁿ"^         ╫
             ╙╣▀████@█░█    ▌╕╕   `      ▌║▐▐║█D═≈⌐¬ⁿ      s ║⌐
               ╙╬███▓║█`     ▌╚     ╕   ╕▌║▐▐╣▌⌐*▒▒Dù`       ▐▌
                ╙╬██╨U█      ╟      $ ▌ ▌▌▐▐▐M█▄═≤⌐%       ╓⌐ ▌
                 ║║█▄▌║             ╟ ▌ ▌M▐▐▐M█▀▒▒▒22,       ▐▌
                  ███╙^▌            ║ ▌ ⌐M▐▐▐M█≤⌐⌐¬──        ▐M
                  ║██ ▌╙   ╓       H║ ▌╒ M║▐▐M█"^^^^^"ⁿ      ║
                   ██╕╙@▓   ╕      ▌║ H'  ║▐▐▐█══=.,,,       █
                   ╙█▓╔╚╚█     ╠   ▌└╒ ▌▐ ╚║║║▀****ⁿ -      ╓▌
                    ╙█▌¼V╚▌   ▌  ╕ ▌ ║╒ ║ ▌▒╠█▀≤≤≤≤≤⌐       █
                     ╙█▌╔█╚▌     ┘ M ▌║ ╫ UUM██J^^"        ▐▌
                      ╙██╙█╙▌  ╕$j  ▐⌐▌ ▌║╝╟█Å%%%≈═        █
                       ╙╣█╣█^▌ ╠║▐  ║ ▌▐.DU██^[""ⁿ       -╒▌
                         ▀█▄█`▌ ░M▀ ▌▐ Å£╝╝█╜%≈═╓""w   ⁿ⌐ █
                          `▀▄▀`▌ ▌█▐⌐║▐UW╖██%≤═░*─    =z ▄Γ
                            ╙██╙▄▌█  ▌Å╛╣██╨%╤ƒⁿ=    -` ▄┘
                              █▌╢▓▌▌ W £6█╤,"ⁿ `   ▄≡▀▀▀
                               █"█▌▌╟Å╓█╓█▀%`    ▄▀
                               ╙▌██`▒U▓U█%╗*     █
                                ▌╫║ ▌ÅÅ║▀╛¬`      `"█
                                ▌╫  ╫╟ █▄     ~╦%▒╥4^
                                ▌▌  "M█ `▀╕ X╕"╗▄▀^
                                █▌   ╓M   ╙▀e▀▀^
                                ╙██▄▄▀
                                  ^^
➜ ~  from itertools import permutations; list(permutations('ABC', 2))
[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
➜ ~ 
alx777 ★★
()
Ответ на: комментарий от theNamelessOne

И да, он умеет перемножать числа)

Это ерунда по сравнению с xonsh который умеет вычислять квадратный корень из отрицательных чисел :)

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

Жаль, пока складывать натуральные дроби получается не так хорошо

@# 0.1 + 0.2
0.30000000000000004

Но тут не стану придираться. С этим почти никто не справляется.

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

Жаль, пока складывать натуральные дроби получается не так хорошо

Ну если очень надо, то:

➜ ~  from decimal import *; getcontext().prec = 15; float(Decimal(0.1) + Decimal(0.2))
0.3

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

Это для ввода справа-налево?

Нет, такое обычно называется bidi. A right prompt это как left prompt, только с правого края экрана, а не с левого. Чертовски удобная штука, особенно на современных мониторах высокого разрешения.

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

хейтеры тоже приносят пользу

Разве что в виде кучки удобрений.

напишет багрепорт

Где ты таких видел-то? Хейтер будет часами гнить на LOR (и аналогах), но ни за что не станет тратить 5 минут на написание багрепорта. А если всё же напишет, то сделает это настолько через задницу, что единственная польза от этого репорта - бан его автора в багтрекере.

тратят своё время на багрепорты и жалобы

Не путай жопу с пальцем - бессмысленный высер на форуме даже близко не равен багрепорту.

А вот разраб - должен.

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

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

а что за система такая?

Debian derivative, но вообще bash практически где угодно можно вынести без особых последствий.

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

Списка то нет в итоге?

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

Газифицировал лужу

Тоже не понимаю зачем ты это сделал.

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

Дык за чем дело стало? Вперёд и с песней - ты в компании с гейОС будешь смотреться максимально комплиментарно ;)

Тут девопёс порвался.

skiminok1986 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.