The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его основе , opennews (??), 24-Ноя-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


18. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +2 +/
Сообщение от user90 (?), 24-Ноя-20, 01:07 
ПользовалСЯ, ответил выше. Осилишь мануал + знаешь Лисп = проблем быть не должно. Но пакетов раньше было не много, и возня с ними слегка достала :)
Ответить | Правка | Наверх | Cообщить модератору

29. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от Аноним (29), 24-Ноя-20, 02:59 
> ПользовалСЯ, ответил выше. Осилишь мануал + знаешь Лисп = проблем быть не
> должно. Но пакетов раньше было не много, и возня с ними
> слегка достала :)

В том и дело, что лисп не знаю от слова - "СОВСЕМ".
Насколько глубоко его нужно знать, чтобы этой системой пользоваться?
Насколько сложная возня с пакетами, если как для генты ебилд написать, а дальше всё "шамо" в системе собирается каким-нибудь аналогом гентовских инструментов, это одно, а ежели там такое дрючево, как в LFS, скажем, и постоянно, это другое?!

Ответить | Правка | Наверх | Cообщить модератору

32. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от ра (?), 24-Ноя-20, 05:23 
По их лиспу, который Guile, есть полная книга-руководство. Знать нужно на уровне разговорного, потому что только общаясь с системой на этом языке, ты можешь добавлять в нее новые пакеты, сервисы, настраивать существующие, писать повторяемые рецепты сборки для своих программистских проектов.
Ответить | Правка | Наверх | Cообщить модератору

33. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от ра (?), 24-Ноя-20, 05:25 
В guix тоже scheme-рецепт написать, а дальше все само в системе собирается гиксом.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

64. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от Аноньимъ (ok), 24-Ноя-20, 22:47 
>В том и дело, что лисп не знаю от слова - "СОВСЕМ".
>Насколько глубоко его нужно знать, чтобы этой системой пользоваться?

Лиспа одна из самых простых языков.

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

81. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 25-Ноя-20, 13:41 
>>В том и дело, что лисп не знаю от слова - "СОВСЕМ".
>>Насколько глубоко его нужно знать, чтобы этой системой пользоваться?
> Лиспа одна из самых простых языков.

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

Ответить | Правка | Наверх | Cообщить модератору

84. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от Аноним (84), 25-Ноя-20, 15:25 
>>>В том и дело, что лисп не знаю от слова - "СОВСЕМ".
>>>Насколько глубоко его нужно знать, чтобы этой системой пользоваться?
>> Лиспа одна из самых простых языков.
> Это не означает, что на Лисп просто писать каждому, а не только
> великим комбинаторам неподвижных точек.

Лисп сам по себе неплох, вся штука в том, что выглядит это как нечто, что специально на нём написано, типа студенческий проект, proof of concept, я не знаю что ещё это может быть. А людям потом надо учить новые кракозябры, чтобы постичь очередную святую истину.
Новая религия требует учить язык своих священных писаний.
Штука в том, что основная масса людей, хотят просто пользоваться системой, чем больше в чём-то нестандартных, малораспространённых решений, тем меньше, у этого чего-то, последователей.
Мало того что нужно недостяющие пакеты самому собирать, так ещё и новую школу магии учить.
Тут либо нужен перевод священных писаний на понятный язык для народа, либо учение так и останется в катакомбных задворках.

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

Ответить | Правка | Наверх | Cообщить модератору

95. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 26-Ноя-20, 15:34 
С основной массой понятно, но есть люди, кому полезно иногда изучать новый язык. Лисп подкупает своей гениальной простотой, но у меня неоднозначное к нему отношение, потому что  ̶в̶ ̶г̶л̶а̶з̶а̶х̶ ̶р̶я̶б̶и̶т̶ ̶о̶т̶ ̶с̶к̶о̶б̶о̶ч̶е̶к̶  я дважды брался написать Лисп-машину (честную, а не на Лисп) и... в первом случае погряз в выборе между CL и Scheme, а во втором уже не помню что, но вряд ли потому что я совсем тупой (всё-таки сделал несколько других ВМ, и одна даже исполняет Лисп).
Ответить | Правка | Наверх | Cообщить модератору

99. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от Аноньимъ (ok), 27-Ноя-20, 01:09 
Попоробуйте Racket. Довольно забавная книжица у них по лиспу, и сам он местами прикольный.
Есть типизированная версия (typed racket).
Ответить | Правка | Наверх | Cообщить модератору

100. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 27-Ноя-20, 10:22 
> Попоробуйте Racket. Довольно забавная книжица у них по лиспу, и сам он
> местами прикольный.
> Есть типизированная версия (typed racket).

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


(defun fact (n)
  (cond
    ((= n 1) 1)
    (t (* n (fact (- n 1))))))


(define (fact n)
  (cond [(zero? n) 1]
        [else (* n (fact (- n 1)))]))


fact {
   0  = 1;
   s. = <* s. <fact <- s. 1>>>; /* можно и привычно <s. * <fact <s. - 1>>> */
}


Ответить | Правка | Наверх | Cообщить модератору

101. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от Аноньимъ (ok), 27-Ноя-20, 14:39 
А вы на скобочки не смотрите :3
Ответить | Правка | Наверх | Cообщить модератору

85. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +1 +/
Сообщение от Аноньимъ (ok), 25-Ноя-20, 15:32 
Проще чем на питоне и при этом на порядок качественнее.
Ненужно никаким комбинатором быть.
Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

92. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 26-Ноя-20, 10:44 
> Проще чем на питоне и при этом на порядок качественнее.

Тут согласен.

> Ненужно никаким комбинатором быть.

То был намёк на Y-комбинаторы...

"Рассмотрим характер рекурсии на примере очень простой функции обработки строк, которая трансформирует каждое A в B"


  (define (fab x)
    (cond ((null x) nil)
         ((equal (car x)(quote a))
           (cons (quote b) (fab (cdr x))))
          (T (cons (car x)(fab (cdr x))))
    ))


Fab {
   A  e1 = B <Fab e1>;
   s2 e1 = s2 <Fab e1>;
         = ;
}

Ответить | Правка | Наверх | Cообщить модератору

93. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +1 +/
Сообщение от NuINu (??), 26-Ноя-20, 12:23 
не согласен! когда одного из разработчиков guix спросили, в чем преимущество вашей системы, он четко сказал: guile! запись конфигурации на схеме, то что конфигурация и код это единое целое, и делает guix мощнейшей системой по созданию и поддержке дистрибутива.

Ответить | Правка | Наверх | Cообщить модератору

94. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 26-Ноя-20, 12:41 
> конфигурация и код это единое целое

Что конкретно это даёт?

Ответить | Правка | Наверх | Cообщить модератору

102. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от NuINu (??), 02-Дек-20, 08:31 
>> конфигурация и код это единое целое
> Что конкретно это даёт?

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

ну и много что еще.

Ответить | Правка | Наверх | Cообщить модератору

103. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 02-Дек-20, 11:26 
Простите за такую подробность, но "некую конфигурацию", "нечто не обычное" и "много что еще" не добавляет конкретики.
Ответить | Правка | Наверх | Cообщить модератору

105. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от NuINu (??), 07-Дек-20, 01:03 
> Простите за такую подробность, но "некую конфигурацию", "нечто не обычное" и "много
> что еще" не добавляет конкретики.

будем считать, что я вас не убедил.

Ответить | Правка | Наверх | Cообщить модератору

106. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 07-Дек-20, 12:44 
Спасибо за откровение. Я-то хотел понять. Оказывается, меня убеждали.
Ответить | Правка | Наверх | Cообщить модератору

107. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от NuINu (??), 10-Дек-20, 11:22 
не будучи программистом guile, и не зная преимущества лисп подходов, к программированию, понять вы этого не сможете. Я даже не знаю программист ли вы? но если хотите ознакомиться, и что то понять почитайте Пола Грема. Парадокс Блаба, https://nestor.minsk.by/sr/2003/07/30710.html может поймете почему guile это гораздо круче любой нотации конфигурирования пакетов.
Ответить | Правка | К родителю #106 | Наверх | Cообщить модератору

108. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 10-Дек-20, 15:11 
> не будучи программистом guile, и не зная преимущества лисп подходов, к программированию,
> понять вы этого не сможете. Я даже не знаю программист ли
> вы?

Это потому что с информацией работать не хотите, либо не умеете.

> но если хотите ознакомиться, и что то понять почитайте Пола
> Грема. Парадокс Блаба, https://nestor.minsk.by/sr/2003/07/30710.html может поймете
> почему guile это гораздо круче любой нотации конфигурирования пакетов.

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

Ответить | Правка | К родителю #107 | Наверх | Cообщить модератору

109. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от NuINu (??), 10-Дек-20, 15:36 
это вы описали свои желания по вашей реализации рефала? я сам не специалист по сборке мусора, но когда то я интересовался guile и перевел немного документации по нему, то что меня интересовало, в частности подоробности реализации. так вот сам guile не реализует сборку мусора, а использует стороннюю библиотеку. как это делается в документации описано, если хотите почитать https://github.com/IisNuINu/guile-2.2.3-doc-rus там есть  pdf файл. вам как разработчику интерпретатора возможно будет интересно ознакомиться с опытом разаработчиков guile. (сам бы я за такую работу не взялся).
Ответить | Правка | К родителю #108 | Наверх | Cообщить модератору

110. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 10-Дек-20, 17:51 
> это вы описали свои желания по вашей реализации рефала?

Ну как, желания.) В Базисном Рефале приходится определять вспомогательные функции, из-за них код выглядит сложнее. Ещё Турчин в своё время добавил в язык условия и блоки, по сути это вложенные функции, но не возвращаемые. Ограничение искусственное, естественно, что его давно убрали в Рефал-5λ.

> я сам не
> специалист по сборке мусора, но когда то я интересовался guile и
> перевел немного документации по нему, то что меня интересовало, в частности
> подоробности реализации.

Спасибо. Адский труд, который мало кто ценит (потому что "учите английский").

> так вот сам guile не реализует сборку мусора, а
> использует стороннюю библиотеку. как это делается в документации описано, если хотите
> почитать https://github.com/IisNuINu/guile-2.2.3-doc-rus там есть  pdf файл. вам как

Нашёл там только интерфейс. Сам сборщик (консервативный "пометить и подмести") вкратце описан https://www.gnu.org/software/guile/manual/html_node/Conserva... и далее по ссылке.

Но дело не в написать сборщик. В Рефале данные туда-сюда перетасовываются, потому память (традиционно) организована в двусвязный список. Часть его содержит аргументы функции (т.н. Поле Зрения), в другой части формируется результат (который становится ПЗ для следующей функции). Когда поле зрения просмотрено, оно автоматически становится свободным. Скажем, 100000 элементов списка удаляются за время O1, но в них требуется поискать "мусор"... в этом месте у меня начинает подгорать.

> разработчику интерпретатора возможно будет интересно ознакомиться с опытом разаработчиков
> guile. (сам бы я за такую работу не взялся).

Пока это на уровне баловства и экспериментов. Guile по плану на уровне сэм-восэм, где-то так.

Ответить | Правка | К родителю #109 | Наверх | Cообщить модератору

111. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от NuINu (??), 11-Дек-20, 11:14 
Не знаю, зачем нужен этот рефал? разве только для академических упражнений.

да вы правильно нашли, как раз про него я и говорил.(у меня он уже на русском). Я посмотрел сам пакет, пользоваться им просто.(судя по туториалу). так что можно не паритсья о сборе мусора. можете попробовать. поставив просто какой нибудь сишный дефайн, для своего сборщика, для  BDW-GC или еще для кого. переключаться между сборщиками мусора потом в коде можно просто по определенному определению.

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

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

Ответить | Правка | К родителю #110 | Наверх | Cообщить модератору

112. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 11-Дек-20, 13:07 
> Не знаю, зачем нужен этот рефал? разве только для академических упражнений.

Это можно адресовать почти любому языку, в том числе и Схеме. И вот мы возвращаемся к моему вопросу в #94. Если бы в Guix файлы конфигурации составлялись на отличном от Схемы языке, пришлось бы составлять формальную грамматику такого языка и реализовать транслятор. Этот шаг исключили. С одной стороны -- решение грамотное. С другой стороны, его цена -- потенциальная возможность запускать в системе с правами root произвольный код, в том числе зловредный (вероятно поэтому в NixOS конфиги пишут не на Хаскеле, а придумали отдельный язык, но я не изучал вопрос). Рефалу не требуются грамматики, на нём можно сразу написать интерпретатор конфигураций на Схеме. Да, получится не круто, потому что не всё подряд сможет запускаться.

> да вы правильно нашли, как раз про него я и говорил.(у меня
> он уже на русском). Я посмотрел сам пакет, пользоваться им просто.(судя
> по туториалу). так что можно не паритсья о сборе мусора. можете
> попробовать. поставив просто какой нибудь сишный дефайн, для своего сборщика, для
>  BDW-GC или еще для кого. переключаться между сборщиками мусора потом
> в коде можно просто по определенному определению.

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

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

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

Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

113. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от NuINu (??), 12-Дек-20, 01:04 
ну угроза безопасности возникает везде где руту(да и не руту тоже) приходится запускать какой либо сторонний код. мэйк или шелл. так что схема, ни чуть не более угрожающа, в этом плане.
Ответить | Правка | К родителю #112 | Наверх | Cообщить модератору

114. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от n00by (ok), 12-Дек-20, 08:58 
Есть угроза, а есть вектора атаки.
Представьте дом, в котором хранятся ценности:
1) в чистом поле;
2) с забором вокруг.
Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

96. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от Аноньимъ (ok), 26-Ноя-20, 16:15 
Так лисп умеет в функции высшего порядка, я глайд не копал подробно но уверен они там для всех стандартных случаев есть.
Что-то вроде (for-list [x list-x] (if (equal x 'a) 'b x))
Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

104. "Доступен пакетный менеджер GNU Guix 1.2 и дистрибутив на его..."  +/
Сообщение от NuINu (??), 07-Дек-20, 01:03 
> Так лисп умеет в функции высшего порядка, я глайд не копал подробно
> но уверен они там для всех стандартных случаев есть.
> Что-то вроде (for-list [x list-x] (if (equal x 'a) 'b x))

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру