The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Первый тестовый выпуск языка программирования Hare"
Отправлено n00by, 26-Фев-24 07:36 
>> А что там есть на тему "открыли случайно" -- я должен найти сам, да?
> Никто не запретит там искать, но это же глупость, там ничего не
> должно быть о метапрограммировании.

Угу, а ещё там нет о суперкомпиляции, потому что такой термин придумал Турчин для своего варианта, и опять "совершенно случайно" (но я это не утверждал выше, а потому и доказывать не буду ;).

А если понимать, что такое обобщённое программирование, тогда и термин "специализация" окажется совершенно понятен.

Вот как раз в этой ветке (#68) упомянут вариант метапрограммирования из ML:
let i = 5
Если убрать отсюда "5", например, заменить аргументом функции:
let i = x
то получится обобщённая запись, где тип произволен. При этом запись куда компактнее аналога из C++. "Специализация" такого "template" происходит безо всяких < < > >, тип первого варианта будет выведен алгоритмом Хиндли-Милнера из типа числа 5, то есть int.

Отсюда и возникает интересный вопрос, если автор срисовал синтаксис с ML, то зачем он требует явного указания типа:
let i: int = 5;
а потом даёт "удобство парсинга" для "нормальных" макросов, а не "как в крестах".

>> типобезопасная инстанциация обобщенного кода
> Нет, он так мудрёно не пишет, он же ясно пишет про параметризованные
> типы (в т.ч. для создания стандартной библиотеки), не больше, не про
> замену макросов. Macro-expand там вообще глагол, непонятно к чему цитата.

Если это сложно, то Страуструп написал отдельную книгу об истории создания языка, и там наверняка есть про макросы в авторском варианте библиотеки STL (что значит "Степанов и Ли", а не "стандарт либрари"), но цитаты я искать не буду, последовав примеру. ;)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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