Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 28 мар 2024, 12:43

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 01 июл 2019, 21:01 
Не в сети
Администратор
Аватара пользователя

Сообщения: 273
Откуда: Россия
Код: "OBERON"
Т.е. знак @ помечает фактические параметры, в которых должен получаться результат? В целях совместимости лучше тоже сделать эту пометку необязательной. Если указано @ - проверяется, что формальный параметр VAR или OUT, не указано - по обычным правилам.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 01 июл 2019, 21:03 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Я всё-таки за обязательность. Необязательность ведёт к безалаберности, небрежности и, как следствие, к бардаку.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 03 июл 2019, 22:57 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
Zorko писал(а):
А почему именно символ "@", а не, скажем, "$" или "&"?
Мне кажется так логичнее (@ = at = местоположение, что отлично иллюстрирует реализацию) и даже быстрее набрать. & (and) там делать нечего, а доллары лучше преберечь на что-нибудь дорогостоящее ;)


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 18 авг 2019, 11:02 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
А если так?
Код: "OBERON"


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 19 авг 2019, 06:00 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Закоммитил предложение Олега Комлева насчёт нового синтаксиса охранщика типа "x(:T)".

Также реализовано предложение Андрея Голянтова помечать @ в месте вызова VAR-параметры, которые могут измениться. Это позволяет увеличить выразительность программы — можно сразу выделить такие параметры, не заглядывая по коду выше-ниже. Смотрится и правда отлично.

Изображение

Теперь эти фичи доступны в Ofront+ в режиме -3.

Также я подготовил краткое описание возможностей диалекта Оберон-3


P.S. Можно отпраздновать! Перевалили за тысячу коммитов в реп Ofront'а+, ура, товарищи! :-)


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 21 авг 2019, 01:24 
Не в сети

Сообщения: 146
SovietPony писал(а):
Раз тут пошло такое дело с допустимой поломкой совместимости...
Я давно подумываю про явную маркировку использования var/out-параметров для наглядности.
Код: "OBERON"
  1. PROCEDURE Code (VAR x: INTEGER);
  2. ...
  3. Code(@myvar)
Вот, сразу видно что myvar может изменить своё содержимое. Может тоже будет полезно?
Согласен с желательностью маркировки, но, на мой взгляд, лучше было бы маркировать тем же словом, что и параметр в заголовке процедуры, то есть, VAR. Это было бы особенно актуально, если бы из Oberon-3 не были бы удалены IN и OUT


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 21 авг 2019, 03:45 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Comdiv писал(а):
Согласен с желательностью маркировки, но, на мой взгляд, лучше было бы маркировать тем же словом, что и параметр в заголовке процедуры, то есть, VAR.
Вот так?
Код: "OBERON"
Гм, как-то не очень вроде.

Comdiv писал(а):
Это было бы особенно актуально, если бы из Oberon-3 не были бы удалены IN и OUT
IN в Обероне-3 получается вшитый, как в Обероне-07. А пляски с OUT наблюдаются даже в BlackBox Центре. Если кто не в курсе, то в новых сборках BlackBox OUT'у отказано в поддержке простых переменных, теперь только массивы и записи. Так что для простых переменных остаются только VAR-параметры.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 21 авг 2019, 20:32 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
Zorko писал(а):
в новых сборках BlackBox OUT'у отказано в поддержке простых переменных, теперь только массивы и записи
Щито?!! Щ_Щ


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 авг 2019, 01:03 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Да, так и есть. Инициатива BlackBox Center'а. Это странно, т.к. они очень неохотно лезут изменять сам язык. Но на этот раз полезли.

Выдвигаю на обсуждение поддержать в Обероне-3 идею luowy "CASE для строк".



Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 23 авг 2019, 13:07 
Не в сети

Сообщения: 35
Zorko писал(а):
Также я подготовил краткое описание возможностей диалекта Оберон-3

Из описания Оберона-3:
Цитата:
Отсутствие неявного приведения к 32-битному INTEGER коротких целых типов при целочисленных расчётах.

Тогда вопрос: пусть есть типы INT32 и INT8 (-128..127) (не важно, как они называются).
Объявлены переменные:
Код: "OBERON"
  1. VAR
  2. a, b: INT8;
  3. c: INT32;

и такой код:
Код: "OBERON"
  1. a := 64;
  2. b := 64;
  3. c := a + b;

Чему будет равно с: +128 или -128? Я так понимаю, -128?


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club