REBOL3 - в чем разница между разными ветками?

Каковы различия между различными ветками Rebol 3, особенно с новой веткой REN?

Платформы, на которых они будут работать, набор функций, организация кода, соответствие стандарту C?


person Maarten    schedule 20.07.2015    source источник
comment
ты это читал? github.com/metaeducation/ren-c   -  person Graham Chiu    schedule 20.07.2015
comment
Больше чтения, на самом деле уже немного устаревшее ... поэтому вики сообщества, вероятно, хорошая вещь: Rebol State of the Union, июнь 2015 г.   -  person HostileFork says dont trust SE    schedule 20.07.2015


Ответы (1)


Этому ответу суждено устареть, поэтому он установлен на Вики сообщества. Эта информация представлена ​​на сентябрь 2015 г.. Поэтому, если вы обновляете этот ответ по прошествии некоторого времени, пожалуйста, измените дату.

Двоичная загрузка Rebol3 с сайта rebol.com

  • Последняя сборка была 5 марта 2011 г. и предшествовала выпуску с открытым исходным кодом.

  • Нет поддержки GUI, нет поддержки HTTPS, нет поддержки последовательного порта, нет поддержки UDP, нет смарт-консоли...

  • Никаких 64-битных сборок. Двоичные файлы предназначены для Windows x86, OS/X (PPC или x86), Linux (x86 или PPC), FreeBSD x86.

  • В то время как двоичные файлы Rebol2 заархивированы для многих "эзотерических" систем (BeOS, AIX , Windows DEC Alpha, QNX, Solaris...) аналогичные двоичные файлы для Rebol3 не предоставлялись. Единственная «странная» сборка предназначена для Amiga и только для Amiga OS4 PowerPC. Об успешных сборках Rebol3 для эмуляторов Amiga не сообщалось.

Выпуск Rebol3 с открытым исходным кодом на Github rebol/rebol

  • Открытый исходный код был 12 декабря 2012 г..

  • Двоичные загрузки rebol.com не были перестроены как часть этого выпуска. Однако участник сообщества (@earl здесь, на SO) создал ферму сборки на rebolsource.net, которая следует этому мастеру GitHub. всякий раз, когда он обновляется. Учитывая, что мастер rebol/rebol GitHub не обновлялся с марта 2014 года, этот динамизм в настоящее время используется недостаточно.

  • Сборка исходников на момент релиза получила исполняемый файл, не отличимый(?) по функциональности от сборок от 5 марта 2011. Это говорит о том, что в исходный код было внесено мало изменений, кроме некоторых правок по очистке и лицензированию Apache для подготовки к публикации.

  • Незначительные исправления и исправления интегрировались спорадически, при этом большинство PR простаивали. Последний PR, принятый на момент написания, был 3 марта 2014 г., то есть больше года. назад.

  • Самый заметный «ломающий» PR, который был одобрен, заключался в переназначении имени ФУНКЦИИ. Было решено сломать старую форму арности 3, чтобы слово можно принять за гораздо более полезную реализацию, такую ​​как сбор местных жителей FUNCT. (Это также выровняло Rebol с Red, FUNCTION которого имеет арность 2 и действует аналогично.) FUNCT был сохранен как есть для устаревшего кода.

  • Самый важный ненарушающий PR, который был получен, вероятно, не требует блоков вокруг ЕСЛИ, ЕСЛИ ИЛИ ЛЮБОГО тела. Это было хорошо воспринято теми, кто знает, что оно есть, как подходящее для свободной формы и нестандартной философии языка. Это позволяет некоторым конструкциям кода стать «красивее» и дает программистам больше выбора, хотя, похоже, это не вызывает больше проблем, чем что-либо еще. Это, конечно, меньше скорости, чем if [condition] [...], на самом деле кажется, что почти никто не знает, что эта функция была добавлена, поэтому она не должна никого кусать. (Если кто-то может прислушаться к Red, чтобы убедиться, что он получает ЕСЛИ и ЕСЛИ/ТОЛЬКО, то это было бы идеально.)

  • RETURN/REDO был удален. Обоснование заключалось в том, что он позволял функциям эффективно вести себя с переменной арностью, и что это было ненужным и больше не отнимало твердую землю. возможность предсказать арность функции по ее спецификации. Возможно, эта позиция заслуживает второго взгляда... поскольку пользователи Лиспа, которые настаивают на добавлении макросов в стиле Лиспа, похоже, не очень беспокоятся об этом. (Здесь, во вселенной StackExchange, это вызвало вопрос Programmers.SE Выиграет ли Rebol (или Red) от макросов в стиле Lisp?, который пока не получил много ответов.)

Вилка Saphirion: "Saphir"

  • До открытия исходного кода Rebol у Saphirion AG были особые отношения с технологиями Rebol. У них был доступ к исходному коду, и они несли ответственность за большую часть работы по разработке графического интерфейса Rebol3. Они также добавили несколько других вещей, таких как HTTPS.

  • Saphir доступен в виде загружаемого двоичного файла с их веб-сайта, но предназначен только для 32-разрядной версии Windows. Одно время существовал экспериментальный .APK для Android от Сафириона.

  • Некоторые (но не все) исходники Saphir были выпущены после открытия исходного кода. Заметными упущениями были сборка для Android и некоторый код Rebol3 для запечатывания...a способ внедрения сжатых скриптов и ресурсов в двоичные файлы интерпретатора без необходимости его перекомпиляции.

(Примечание. В соответствии с лицензией Apache2 не требуется выпускать исходный код для своей производной работы.)

Интеграция сообщества в Rebolsource на GitHub

  • Из-за того, что GitHub rebol/rebol задерживается из-за интеграции, был создан форк rebolsource/r3 для «сборки сообщества», где работа может быть поэтапной.

  • Изменения в Rebolsource были консервативными и, по-видимому, были направлены на то, чтобы показать процесс того, как rebol/rebol GitHub может принять изменения «в том духе, в котором был задуман Rebol», если этот репозиторий будет делегирован сообществу. (Для этого духа см. это.) Следовательно, он интегрировал не вызывающие споров исправления ошибок и настройки вместо больших сторонних криптографических библиотек для реализации HTTPS. Кроме того: не допускается добавление зависимостей сборки, кроме компилятора C (например, без автоинструментов GNU).

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

Rebol "3.0" компании Atronix Engineering на Github zsx/r3

  • Atronix — поставщик решений для промышленной автоматизации, использующий Rebol. О том, как они это делают, рассказывает Дэвид ден Харинг, технический директор. , а их ПО ZOE построено на их версии Rebol.

  • После открытия исходного кода Atronix в партнерстве с Saphirion перенесла графический интерфейс на Linux. Atronix публикует свой исходный код публично по мере его разработки, а Дэвид ден Харинг отмечает в видео выше, что у них есть только один разработанный ими проприетарный компонент (драйвер промышленного управления). Кроме того, они рады поделиться исходным кодом для всех разработок Rebol, которые они делают.

  • Компания Atronix интегрировала 64-разрядные исправления от Rebolsource, создала 64-разрядную версию Windows и предлагает актуальные двоичные файлы. их ветки разработки для Windows и Linux x86/x64, а также Linux ARMv7.

  • Помимо функций Saphir, в сборке Atronix добавлена ​​поддержка CALL с /INPUT, /ВЫВОД, /ОШИБКА. Он также добавил интерфейс внешних функций, реализующий LIBRARY!, ROUTINE! и СТРУКТУРА! для связи с динамическими библиотеками, отличными от Rebol. Он также поддерживает инкапсуляцию в Windows и Linux.

  • «Религия» Rebol временами противоречила целесообразности, поэтому процесс сборки на основе Rebol при необходимости заменялся редактируемыми вручную make-файлами и проектами Visual Studio. Библиотека FFI ввела зависимость от автоинструментов GNU для сборки.

  • Все сборки Atronix включают графический интерфейс, поэтому сборки «Core» нет. И опять только линукс и винда.

Ren-C

(Примечание предвзятости: эта вилка — инициатива, начатая @HostileFork, знает о ней больше всего и будет говорить с большим энтузиазмом о.)

Вилка Олдеса

(Примечание о предвзятости: это редактирование добавлено самим Олдесом 28 февраля 2019 г.)

  • Создан из ветки community. Основное внимание уделяется сохранению кода, близкого к оригинальному релизу Карла, без того, чтобы слепо брать все из Atronix/Saphirion, но по-прежнему пытаться постепенно улавливать хорошие вещи из этих ветвей.

  • В отличие от Ren-C, эта версия не пытается ввести новый синтаксис, а скорее приближается к оригинальному Rebol2 и новому Красный язык

person Community    schedule 20.07.2015
comment
Это впечатляющий пост от человека, который явно страстно любит :) - person user310291; 09.09.2016
comment
Чувак, это слишком много. Как новичок в Rebol, с чего мне начать? - person Didier A.; 02.06.2019
comment
@ДидьерА. Этот пост сильно устарел. Примерно в 2019 году во вселенной Rebol разрабатываются две общедоступные кодовые базы: Ren-C (у которой теперь есть сборка webassembly) и Red. Между ними существует резкий контраст в методах, целях и личностях. Красиво сказать, что Ren-C сосредоточен на том, чтобы решить суть того, что сделает сам язык привлекательным для искушенных, в то время как Red больше сосредоточен на приложениях (диалект GUI, криптовалюта). Посетите чаты и форумы и выберите то, что находит отклик. - person HostileFork says dont trust SE; 02.06.2019
comment
Спасибо, тогда я проверю Ren-C и Red. Кроме того, справедливо ли с моей стороны предположить, что кодовая база R2 без открытого исходного кода и сборка больше не поддерживаются? Или за ними еще действующая компания? - person Didier A.; 03.06.2019