Archived messages from: gitter.im/red/Russian from year: 2017

honix
21:02in russia we have a Red square! also russian word Red is a synonym for beautiful. :heart:

dockimbel
03:06Now I understand why Red language is popular in Russia. ;-)
9214
12:48преКРАСНЫЙ = beautiful
12:49КРАСНЫЙ = red
dockimbel
15:01Я могу читать кириллицу, могу угадать некоторые русские, но не могу говорить.
maximvl
15:02отлично
dockimbel
15:02Google Translate - мой друг! ;-)
15:05Видео, которое вдохновило меня на запуск Red: https://www.youtube.com/watch?v=PWmfNeLs7fA
maximvl
15:13@dockimbel wow, how can this inspire somebody to make a language?
dockimbel
15:20@maximvl Just joking, that song (I really like it) seems alien, so does Red when people discover it for the first time. ;-)
maximvl
15:30I see :)
15:34@honix приветствую, заметил у тебя на гитхабе интересные проекты и многие на коммон лиспе
15:35расскажи как к этому пришел, откуда узнал про ред? :)

honix
07:27@dockimbel ahaha, when i was young i listened vitas songs by tape player.
@maximvl на гитхабе заметил "kingcons starred red/red", тоже лиспер кстати. помню раньше еще видел красного, но вот только сейчас проникаюсь)
maximvl
08:02@honix просто лисп вобще не популярен в снг, как ты к нему пришел?
9214
13:50@dockimbel FYI, Rebol community also existed in Russia, I definetly saw a couple of (mostly dead) links scattered around the Net and even a newsletter ;) Surprisingly, [ru-rebol](http://ru-rebol.livejournal.com/) is still alive. Recently short article about Red popped up on [geekbrains](https://geekbrains.ru/posts/red_language).
dockimbel
13:53@9214 That's great!
13:53BTW, Vitas is a HUGE star in China. ;-)
9214
14:14@dockimbel perhaps he resembles C-pop genre in some way?

honix
00:50@maximvl в поисках удобных инструментов и технологий. лисп это синтаксис и динамика. у лиспа интересное сообщество и весьма своеобразное, маленькое, но живое :) иногда думаешь, какого фига люди пользуют\изобретают яву или питон, если есть лисп с его великими идеями. кстати, ред\ребол местами переплевывает и лисп. все ищу время поглубже проникнуться. решил на досуге писать приложение аля пэинт, для рисования)
dockimbel
05:31@9214 C-pop is more like K-pop. ;-) They like his high-pitch voice mostly.
maximvl
18:57@honix понимаю, я тоже считаю что ред идет дальше лиспа в его же собственных идеях
18:58круто встретить единомышленников :D
9214
19:03@honix учитывая твою любовь к визуальному программированию :point_right: http://www.luna-lang.org/
maximvl
19:12@honix зацени
>view [canvas: image 500x500 white on-over [ canvas/image/(event/offset): black ] all-over]
honix
19:46@maximvl фига себе, ты все одной строкой запилил :thumbsup: @9214 видел его уже) интересный проект
maximvl
19:47ну это конечно не все, а самый базовый примитив рисования - точки
19:48я хотел показать насколько это все легко и прозрачно и стоит найти время для изучения :)
honix
20:38пока [вот так](https://gist.github.com/honix/912b126e981108b347e7c6ed67e9894a), есть какие-то странности. например приходится делать не прозрачный pen-buffer, а почти прозрачный, иначе не работает.
maximvl
21:32@honix пытаюсь понять зачем тебе там вобще pen-buffer, что он делает?
21:33вижу что ты рисуешь на первом буфере второй, но почему бы сразу не рисовать на первом?

honix
09:33@maximvl ну например, если нужно прозрачной краской рисовать, то используя один буфер, краска будет накладываться и терять прозрачность. Сейчас pen-buffer динамический, каждый раз рисуется штрих, используя список координат. Когда штрих закончен on-up штрих переносится на холст
9214
09:42@uralbash приветствую, а вы случаем не хотите начать Red в УрФУ продвигать? :D
09:49я вот всё думаю что было бы круто сделать рисовалку, которая бы из нарисованной картинки выплёвывала draw блок
uralbash
10:15@9214 это не так просто, нужно вначале составить программу, написать лекции и самому выучить red :)
9214
10:16@uralbash дерзайте :+1:
honix
12:12@9214 неплохая идея, получится визуальный draw редактор! :)
12:15Можно сделать слои, трансформации.
12:15Блин, ведь это правда круто, если оставить возможность редактировать draw блок
12:16Я отчасти дизайнер, и знаю, что многое лучше делать не руками, а генеративно или алгоритмически, и тут поможет редактор кода
12:17Плюс есть возможность двигать элементы или рисовать вектор
9214
12:39@honix ну почему оставить, можно сделать два окошка - графическое для рисования и текстовое для редактирования кода, затем связать их в две стороны. Рисуешь - меняется код, редактируешь код - меняется рисунок (это кстати в [демке с часами](https://github.com/red/code/blob/master/Showcase/eve-clock.red) уже сделано ;)).
12:45и по-моему когда-то давно уже видел подобную наработку для VID, а-ля [Glade](https://glade.gnome.org/), только поскромнее.
12:47во :point_up: [10 января 2017 г., 13:35](https://gitter.im/red/red?at=58749cccdec171b811cc32dd)
13:16насчет прозрачности:
view [
    across
    b: base transparent 50x50 
        draw  [fill-pen 255.55.0.70 circle 25x25 20]
        react [b/draw/2/4: to integer! 255 * s/data]

    s: slider
]
maximvl
14:08@honix ну вот я и не понимаю в чем суть каждый раз переносить штрих на первый буфер, почему бы стразу не рисовать на нем?
14:08прозрачность теряться не должна, это же одно из значений цвета
9214
14:33мб чтобы потом из pen-buffer до отрисовки выковырять что-нибудь как из отдельного "контейнера"?
maximvl
14:48может быть, может быть полезно для отмены последнего действия или типа того
14:48но я не увидел ничего такого в коде
14:49в любом случае лучше использовать одну и ту же картинку, а не создавать новую, лучше очищать через pen-buffer/rgb: white
9214
16:13если пофантазировать, то не только для отмены, можно каждую отдельную каляку покрутить/подвигать/изменить и только потом нажать Enter и отрисовать в буфере
16:16но пока что мне тоже неясно зачем два буфера
ecityz3n_twitter
16:47Всем привет! Не могу врубиться как происходят каллбэки. Вот допустим есть инпут text "What is your name?" 50 field return button "ok" button "cancel"
И мне хочется записать имя в файл write %name.txt ???. Как это сделать?
9214
16:50@ecityz3n_twitter приветствую!
view [
    text "What is your name?"
    f: field
    return
    button "ok"     on-click [write %name.txt f/text] 
    button "cancel" on-click [clear f/text]
]
16:51почитай про [event'ы и event-handler'ы](https://doc.red-lang.org/en/view.html#_events)
ecityz3n_twitter
16:52Спасибо и за код, и за ссылку)
honix
21:18залил на гитхаб свою рисовалку https://github.com/honix/Redraw

9214
08:06[![изображение.png](https://files.gitter.im/red/Russian/7r4h/thumb/___________.png)](https://files.gitter.im/red/Russian/7r4h/___________.png)
uralbash
08:09падает на винде когда ползунки крутишь
08:09а как дебажить red?
maximvl
08:09пока только принтами
uralbash
08:10печально (
maximvl
08:12вобще в Red/System есть доступ к стеку и регистрам, этого должно быть достаточно чтобы написать дебаггер
9214
08:18помню только флажок system/view/debug?
08:20@uralbash поковыряй system, там много интересного должно быть связанного с дебагингом
uralbash
08:24ok, а какой редактор лучше поддерживает ред?
9214
08:24VSCode с [приблудой](https://github.com/red/VScode-extension)
uralbash
08:25я его пробовал, там только подсветка, видимо нужно его допиливать
9214
08:25странно, у меня и интеллисенс есть и хоткеи все
uralbash
08:26хм, надо поразбираться
08:26да точно есть настройки
08:27круто, хороший редактор, нужно еще дебаг прикрутить
9214
12:11@uralbash к слову (заметил у тебя много материалов и лекций по веб-программированию), попробуй попарсить всякие там html-и в Red, это сплошное удовольствие :)
uralbash
12:12у меня где то в задачах уже есть парсинг на ред )

maximvl
07:58я как-то писал супер простой парсер: https://gist.github.com/maximvl/c6335b52ac3a4ee1d780afbf3da636c4
uralbash
08:03спасибо, хороший пример

uralbash
10:52http://www.red-by-example.org/ неплохие примеры

uralbash
10:07что означают ? и ! знаки на конце функций (например "length?") http://www.red-by-example.org/index.html#lengthxqm ???
honix
11:42! значит тип
number! float! integer!
11:45? [судя по всему](http://www.rebol.com/docs/core23/rebolcore-6.html#section-4), значит только получить информацию, не изменяя объект
11:50хотя обычно принято что
***?
это предикат (возвращает true или false)
uralbash
11:51ага спасибо, я то же вначале подумал, что как Ruby

maximvl
08:19обсуждали это, вобщем ? не только для булевых функций используется и вобще не специальный символ

9214
14:40! как правило используется при именовании типов данных, ? подразумевает возврат булевого значения либо какого-либо свойства аргумента (например длина). Всё это просто соглашения по стилю написания кода.
honix
19:13вот как раз длинна это целочисленное, так что из правила бываю исключения
9214
19:14поэтому я и написал *либо какого-либо свойства* :)
honix
19:14ааа
9214
19:15можно поглядеть примеры если набрать ? "?" в консольке
honix
19:17кстати, ктонибудь знает, как под каптом устроен блок? это массив или связанный лист или еще что-то?
9214
19:18по-моему это сборная солянка из массива и листа, и ещё чего-то до кучи
honix
19:19да, по моим ощущениям както также. но интересно узнать подробнее)
9214
19:19надо в сырцах покопаться

9214
08:57В общем, блок это помесь односвязного списка (каждый элемент указывает на следующий) и массива (каждый элемент проиндексирован для быстрого доступа), более того, блок имеет т.н. "строчные маркеры" и может [сохранять свой формат](https://github.com/red/red/wiki/New-line-markers-in-blocks). Большего сказать не могу, потому что сам не знаю :D
09:03Плюс у каждого блока (не только у них, у всех series!) есть свой буфер с данными, на который (в моем понимании) существует ссылка. На один буффер могут ссылаться сразу несколько блоков, тем самым "расшаривая" данные:
>> blk1: [1 2 3]
== [1 2 3]
>> blk2: :blk1
== [1 2 3]
>> reverse blk1
== [3 2 1]
>> blk2
== [3 2 1]

чтобы такого безобразия не происходило, буфер можно скопировать с copy (или copy/deep, если внутри блока есть другие блоки со своими отдельные буферами)
>> blk1: [1 2 3]
== [1 2 3]
>> blk2: copy :blk1
== [1 2 3]
>> reverse blk1
== [3 2 1]
>> blk2
== [1 2 3]
09:06https://github.com/red/red/blob/master/runtime/datatypes/structures.reds#L54
https://github.com/red/red/blob/master/runtime/datatypes/block.reds
всё что сумел отыскать
honix
10:36@9214 спасибо за исследование!
10:42Мне нравится как ред всегда по дефолту старается использовать уже существующие данные. А когда нужно свежую копию используется copy. Это слегка странно, когда начинаешь, но это эффективнее и дает программисту выбор.
10:44Благодаря этому, программы на нем не выжирают память, учитывая что у нас пока нет сборщика мусора.
9214
10:48простенький GC же вроде где-то неделю назад в основную ветку запихнули?
10:49ой, пардоньте, то в ветке simple-gc
10:59@honix ты в телевизоре! https://twitter.com/red_lang/status/895966713358856192
honix
12:11Да, я видел) очень приятно :)

maximvl
16:52насколько я понял блок это динамический массив что дает О(1) доступ с индексами начала, конца и текущего положения
16:54поэтому a: next b это просто копирование нескольких индексов, адреса массива данных и инкремент текущего на 1

x86128
10:31Добрый день! Подскажите где почитать свежую статью где простым языком описывается диалект red для parse. И второй вопрос, где можно прочитать о том как связать библиотеку на С (linux so) с кодом на red/system и вообще какой-нибудь хело ворлд на нем с дисковым IO.
9214
10:43@x86128 привет, скорее всего наборот - parse для Red.
* http://www.red-lang.org/2013/11/041-introducing-parse.html
* https://en.wikibooks.org/wiki/Rebol_programming/Language_Features/Parse/Parse_expressions
* https://github.com/red/red/wiki/Red---Rebol-Dialects:--Selected-Articles-and-Links
наиболее свежая - первая, более-менее развернутая - вторая, но там есть несколько недочетов

по R/S пока только это
* http://static.red-lang.org/red-system-specs.html
* http://static.red-lang.org/red-system-specs.html#section-15 конкретно по линковке библиотек
10:45@x86128 I think @Oldes can show you his R/S proficency if you'd ask him ;)
10:46ну и ещё есть комната по [red/system](https://gitter.im/red/red/system), можешь задавать вопросы там
Oldes
10:46https://github.com/red/code/tree/master/Library
9214
10:47holy smokes :O, cheers @Oldes !
x86128
12:46Огромное спасибо. Будет мне духовная пища на выходные