LINUX.ORG.RU

Обновился пакетный менеджер Nimble для языка программирования Nim

 , ,


0

6

Первый релиз в 2018 году. Значительным новшеством стало поддержка в одном репозитории нескольких пакетов. Теперь можно указать ?subdir=<dir> в конце вашего репозитория и Nimble будет знать что смотреть в директории для вашего пакета.

Список изменений:

  • появилась поддержка нескольких пекетов в одном репозитории
  • улучшили сообщение об ошибке, когда пользователь имеет устаревшую версию библиотеки, что смущает nimble
  • появилась команад check для проверки пакетов
  • Nimble больше не игнорирует молча ошибочное «@» например nimble install compiler@
  • исправлены задачи с командой nimble path
  • команда nimble publish была улучшена и стабилизирована
  • улучшены сообщения для NIM_LIB_PREFIX
  • before install теперь вызывается когда пакеты устанавливаются по имени
  • исправлены задачи с nimble init
  • Nimble теперь отклоняет зарезервированные имена в Windows
  • поддерживается переменная среды NIMBLE_DIR в дополнение к флагу командной строке и настройке конфигурации
  • команда init значительно улучшена

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



Проверено: jollheef ()
Последнее исправление: Deleted (всего исправлений: 1)

появилась поддержка нескольких пекетов в одном репозитории
Проверено: jollheef

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

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

Vudod ★★★★★
()
Ответ на: комментарий от no-such-file

Вообще-то питон это компилятор + vm.

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

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

Специально для тебя Роб Пайк поясняет ...

Я все таки больше практик чем теоретик. Можете мне ( на примере Си или на ГО ) более практично все объяснить ?

Ухнул с гита исходник и что дальше ?

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

Паскаль, Питон, Жаба, Раст для юниксов это чужеродная ткань.

Всё, что не Си + sh, для Юниксов является чужеродной тканью. Что дальше? А если вылезти за пределы 2%, то выяснится, что и Си с шеллом не являются вездесущими абсолютами.

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

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

В питоне словари просто есть. Естественно, питон в этом вопросе выглядит выгоднее.

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

И да, Perl куда ближе к функциональным языкам, чем блевотный питон.

Блевотный перл так же далек от функциональных ЯП, как и Python. Единственное, к чему он близок, это к самому себе. Я еще не видел перловика, который бы сказал, что нашел более современный ЯП, который «как перл».

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

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

Я тоже понимаю, что твоё ЧСВ не позволяет признать, что ты лоханулся и ляпнул чушь про пакетный менеджер. Да ещё и продолжаешь упорствовать, выдавая новые порции чуши.

любой проц не может выполнять команды для ЯП написанные в текстовом файле

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

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

no-such-file ★★★★★
()
Ответ на: комментарий от DukeNukem

это Python Virtual Machine (интерпретация).

Но эта vm интерпретирует не файлы исходников, которые устанавливаются пакетным менеджером. Т.о. в контексте обсуждения разница цели копмилятора не существенна (байт-код или машкод).

no-such-file ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Когда стабилизируют?

Стабильность на уровне питона: а давайте вот это подкрутим, и там присобачим, а ещё вот тут... Но старые программы работают.

Концепты в допилили уже?

Пока нет. Concept[T] (и Static[T]) в открытых ишшуях россыпями.

uuwaan ★★
()
Ответ на: комментарий от no-such-file

Не понял при чем тут ЧСВ ?

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

И не смог придумать... вот и спросил народ чтобы мне объяснил.

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

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

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

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

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

Ладно я ВАС понял.

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

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

P.S. И да, сырцы не запускают а компилируют ...

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

Всё, что не Си + sh, для Юниксов является чужеродной тканью.

«Паскаль, Питон, Жаба, Раст для юниксов это чужеродная ткань». Это просто констатация фактов, такая же как если бы сказать человек состоит из белковой ткани. Си стал распространён благодаря OS UNIX, и потому, что сам UNIX от и до, был написан на Си. И пока духовные наследники UNIX в лице BSD-systems и GNU/Linux живы сишка никогда не умрёт.

Что дальше? А если вылезти за пределы 2%, то выяснится, что и Си с шеллом не являются вездесущими абсолютами.

Разумеется интерфейс общения с OS посредством терминала это не абсолют! Есть интерфейс окон где манипулятором типа мышь можно общатся с OS. Дальнейшее развитие этого направления это сенсорные экраны.

Но я о другом. Люди мигрировавшие из Windows OS в GNU/Linux требуют от операционной системы привычного поведения OS в стиле Windows. Как правило такие люди пользуются Mint или Ubuntu. Пусть такие люди обратно убираются в лоно Windows OS. Попытка сделать из GNU/Linux клон macOS или Windows OS это потрясающая глупость.

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

Но я о другом[…]

А, так вы за философию. Я-то думал, речь про спор «динамическая линковка vs. статическая».

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

Я еще не видел перловика, который бы сказал, что нашел более современный ЯП, который «как перл».

Много перловиков видел? Или ты общаешься с духами предков?

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

Питон — хорошо. Паскаль — хорошо.

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

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

Значит не видел ни одного. Я так и знал! Но уверенно говоришь за них.

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

Если уж вы что-то слышали о функциональщине, то знаете, что правильная запись такая:
(average (map (len) (lines stdin)))

Такая запись правильная что, знаете то, функциональщине о слышали то-что вы уж если.

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

Питон — хорошо. Паскаль — хорошо.

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

В Расте какая-то особая умная императивщина? Да и не так уж далек он от Питона, есть заимствования. Скажем, в Питоне цикл for тоже неявно пытается получить итератор от обходимого объекта.

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

Да, умная. Там всё суть выражения для начала, а не тупой список команд. Это уже путь к функциональным паттернам, выраженным не через жопу.

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

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

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

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

stdin.lines.map(len).average()

левой стороне присваивается вообще совсем не то, что сразу за знаком равенства

а как тебе какой-нибудь такой вариант?

stdin | lines | map len | average -> result

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

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

Интересная мысль. Заставила меня задуматься. Спасибо.

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

любой проц не может выполнять команды для ЯП написанные в текстовом файле

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

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

язык создает отталкивающее впечатление помеси питона с паскалем

Питон — хорошо. Паскаль — хорошо.

возражаю. паскаль — хорошо, питон — плохо.

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

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

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

Ничего, что крайне популярная ныне методология разработки через тестирование - это в чистом виде функциональный подход, при котором вложенные уровни S-выражения "(exit (test (do something)))" заполняются по мере реализации собственно тех или иных функций приложения. Относительно того, кто как мыслит - вопрос тоже исключительно спорный. На мой взгляд, любое мышление нужно начинать с постановки общей задачи, а потом эту задачу уточнять, а не сразу вдаваться в дебри технических подробностей, забывая зачастую по ходу дела о том, что важны не технические особенности решения, а собственно тот техпроцесс, в котором ваше приложение - тоже функция.

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

возражаю. паскаль — хорошо, питон — плохо.

Два чая этому господину!

Паскаль - это классический академический язык программирования, разработанный Никлаусом Виртом, одним из видных теоретиков и основоположников, написавшим знаменитую книгу-букварь «Алгоритмы и структуры данных», иллюстрированную примерами на pascal'е

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

А вот что такое Python?

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

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

Паскаль - это классический академический язык программирования

фейспалм.жпг

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

А вот что такое Python?

Один из широко используемых языков.

чем интерпретатор, анально заставляющий делать отступы

Какая боль, какая боль.

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

Арабам конечно было бы в самый раз.

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

anonymous
()

Мне кажется что Nix это надстройка для C/C++, или плюсы с человеческим лицом. Компилятор Nix ничего сам не компилирует, а генерирует C/C++ код который компилируется уже в GCC и G++. Я правильно понял?

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

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

Ты не знаком с историей появления Паскаля? Н. Вирт разработал Паскаль как упрощённый вариант Алгола. У него и в мыслях не было обучать кого-то. Он сам был удивлён когда его интерпретатор Паскаля разошёлся по университетам. Более того сам Вирт, когда его спрашивали говорил, какой смысл от языка, с помощью которого нельзя решать прикладные задачи.

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

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

Н. Вирт разработал Паскаль как упрощённый вариант Алгола.

Не понял, как это противоречит «учебности» Паскаля.

У него и в мыслях не было обучать кого-то.

Везде говорят, что обучение было целью изначально.

https://en.wikipedia.org/wiki/Pascal_(programming_language)

«and to be useful for teaching students structured programming»

или http://wiki.freepascal.org/Object_Pascal_History#Wirth_Invents_Pascal

«Pascal was intended as a teaching language, and was widely adopted as such»

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

А вы в курсе что после паскаля Вирт пилил ?

Вирт пилил новый Паскаль, назвав его Модула, потом пилил новую Модулу назвав его Обероном...

И отгадайте с 3х раз что больше всего впитал Го ?

Честно говоря незнаю. Знаю только, что американцы купили у аспиранта, Н. Вирта права на исходники каког-то байт-кода. Потом-то купленное они назвали словом JAVA.

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

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

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

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

ckotinko ☆☆☆
()
Ответ на: комментарий от mx__

Короче ГО много от Оберона взял

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

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

Н. Вирт разработал Паскаль как упрощённый вариант Алгола.

Не понял, как это противоречит «учебности» Паскаля.

Когда-то давно сложилось мнение, что переусложнённый ЯП — это плохо. Безотносительно того, учебный это язык или профессиональный. Н. Вирт принадлежал к стороникам этого мнения. И соответственно, Простота != Учебность. Хотя, я лично сомневаюсь, что в 1970-х годах ЯП делились на учебные и профессиональные.

Везде говорят, что обучение было целью изначально.

1984 год. Слова самого Н. Вирта.

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

Нельзя изображать вторичный выхлоп, в качестве первоначальной цели.

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

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

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

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

Один из широко используемых языков.

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

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

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

Один из широко используемых языков.

Это его и сгубило.

Сгубило где и в чем, как ты меряешь? Применение всё растет.

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

Если ты помнишь времена, когда Python был «простеньким языком для обучения»... не часто на ЛОР встретишь людей, которым за 50. А если ты не помнишь тех времен, просто не говори.

последним воплем агонии со стороны питона

Зачем столько пафоса?

в ядро языка влепили оператор матричного умножения

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

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.