Чт, 13 мая 2021 г. в 08:04, Sergei M. Abramov abram_AT_botik.ru <
refal@botik.ru>:
>
> PS. А почему 42? ;-) Два раза "очко"...
Любое конкретное число лучше, чем N -- когда дети видят, что сумма каких-то
чисел равна букве, они пугаются и не могут решать задачку.
А кто какие константы любит --
Добрый день!
Мне показалось, что задачки примерно одинаковые по сложности (над обоими
пришлось сосредоточенно поразмышлять минуту-две).
Не смотрел видео, но вижу в заголовке "профессора не справились" -- видимо,
речь про вторую задачку, и это меня не удивляет.
Мне она напомнила другую задачку,
Добрый день!
Прошу прощения, продолжу оффтоп про Хаскель.
Два небольших соображения:
1) primesA сильно быстрее, чем primesE, за счёт прыжков до следующего
квадрата. Если это реализовать для primesE, то разница в производительности
между ними уже не такая драматическая:
primesE2 = sieve [2..] 4
On Fri, Mar 1, 2019 at 4:08 AM Sergei M. Abramov abram_AT_botik.ru <
refal@botik.ru> wrote:
> День добрый, Антон, Юра!
>
> Я там как-то невнимательно следил.
>
> 1. Р+ с $iter должен быт лучше (не хуже) чем рекурсия. Но не сильно
> (хвостовая рекурсия мало уступает $iter).
>
$iter не хуже, чем
On Fri, Mar 1, 2019 at 8:57 AM Arkady Klimov arkady.klimov_AT_gmail.com <
refal@botik.ru> wrote:
> Чтобы понять, лучше ли iter чем рекурсия, я переделал последний вариант
> EX1 (хотя рекурсия там тоже не настоящая, хвостовая) через $iter. Антон или
> Юра, сможете пропустить? А то я пока не умею
On Tue, Feb 26, 2019 at 5:41 AM Yuri Klimov yuri_AT_klimov.net <
refal@botik.ru> wrote:
> Добрый день!
>
> Пример Аркадия на Рефал+:
>
> $func? EX sN eS = eS;
> EX \{
> 0 eS = eS;
> sN eS , 'abc' : e sX e , sX eS :: eR, # \{ eR : vA vA e; }, 1> eR>;
> };
>
> Я ошибся. По умолчанию в
On Fri, Feb 22, 2019 at 6:38 AM Arkady Klimov arkady.klimov_AT_gmail.com <
refal@botik.ru> wrote:
> Антон, спасибо,
> я тоже решил на этом коде немного поупражняться в чтении и понимании
> Рефала-Плюс, что дается мне нелегко. Вроде все разобрал, но при этом мне
> показалось, что тут есть ошибка
Александр,
Я, пожалуй, просто вставлю сюда код :)
Он не самодостаточен, но алгоритм из него читаем.
*/*
* MSG-Exprs (e.Format1) e.Format2
* Return e.Format3 -- most specific generalizing of formats 1 and 2.
*/**MSG_Exprs* {
((*FAIL*)) *e*.Fe2 = *e*.Fe2;
(*e*.Fe1) (*FAIL*) = *e*.Fe1;
Александр,
Да, всё верно. Я глянул в исходники (сам уже подзабыл и не был уверен) --
там применяется эвристика при конкатенации выражений, когда пришлось
выделить новый чанк: если левое выражение длиннее, то результат помещается
в начало чанка, если правое, то в конец. То есть, в моём конкретном
Интересно было бы сравнить с реализацией векторов в Clojure, которая
опирается на работу того же Phil Bagwell. Статьи нормальной я не нашёл, но
есть подробный блог-пост:
https://hypirion.com/musings/understanding-persistent-vector-pt-1
(и исходники).
Антон
On Thu, Feb 21, 2019 at 4:18 PM Sergei
On Wed, Feb 20, 2019 at 8:08 AM Arkady Klimov arkady.klimov_AT_gmail.com <
refal@botik.ru> wrote:
> Вопрос интересный, попытаюсь ответить за Антона как я планировал, если б
> занялся погружением рефала-6 в ту инфраструктуру.
> Первый вариант - да, все функции имеют общий формат
> $func eX = eX;
>
On Wed, Feb 13, 2019 at 6:13 AM Andrei Klimov andrei_AT_klimov.net <
refal@botik.ru> wrote:
> Александр, еще раз добрый день!
>
> Я понял, о чем вы писали и зачем требуется отношение порядка. Объясню
> своими словами на подвешенных скобках.
>
> Пусть (eX) и (eY) входят в два выражения e1(eX)e2 и
12 matches
Mail list logo