Re: Описание физических величин
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 01:46
Оценка: +1
Здравствуйте, Oyster, Вы писали:

...

А вот здесь действительно видна сила языка. Вместо птичьего языка имеется внятный DSL. Это окупает любые сложности в разработке макросов!
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [Nemerle] Семантический контроль над размерностями
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 01:46
Оценка:
Здравствуйте, Oyster, Вы писали:

O>Имхо как минимум понятнее, чем на C++, и менее подвержено человеческим ошибкам при вводе.


Это оОооочень скромно сказано.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [Nemerle] Семантический контроль над размерностями
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 01:46
Оценка:
Здравствуйте, Vermicious Knid, Вы писали:

Уменя порой впечатление, что ты входишь в группу разработчиков языка.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [Nemerle] Семантический контроль над размерностями
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 01:46
Оценка:
Здравствуйте, Vermicious Knid, Вы писали:

VK>Точно. Это в общем-то фича языка — нет разницы между постфиксными и префиксными операторами.


VK>
VK>using Nemerle.English;
VK>def yoda = true not;
VK>def reallyObfuscated = yoda !;
VK>def ohmy = 23 ~;
VK>


А это не может вызвать проблем? Не окажется, что постфикстные операторы интерпретированы не врено?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [Nemerle] Семантический контроль над размерностями
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 01:46
Оценка: +1
Здравствуйте, vdimas, Вы писали:

V>Описание самих величин — понятнее.


Дык... Именно они особо важны в прикладном смысле. Именно их в последствии будет несметное множество (если конечно вообще это кому-то надо ).

V> А вот код, где вся механика происходит — не в пример запутаннее. В то время как в варианте на С++ все понятно.


Дык, в С++ 90% нужного функционала уже встроено в язык. А ему пришлось писать все на универсальном средстве. Он же типы вручную генерирует.

V>Жаль... я именно это и имел ввиду. Спасибо за своевременный ответ.


Как видишь
Автор: Vermicious Knid
Дата: 05.04.06
вишло. И очень даже просто.

ЗЫ

Кстати, кто-то намчто-то обещал
Автор: vdimas
Дата: 05.04.06
сделать если выйдет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [Nemerle] Семантический контроль над размерностями
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 01:46
Оценка: +1
Здравствуйте, Кодт, Вы писали:

К>Немного отдаёт неряшливостью, что внесистемные единицы помещены в систему Ext.

К>На то они и внесистемные...

Дык цель то была опробовать Немерле в бою.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [Nemerle] Семантический контроль над размерностями
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 01:46
Оценка: +1
Здравствуйте, CrystaX, Вы писали:

CX>Было бы очень интересно и познавательно вести разработку параллельно — на C++ и на Nemerle. Исключительно из спортивного интереса.


Мужики я преклоняюсь перед вашей настойчивостью и самоотверженностью, но такие усилия лучше было бы направить на что-то более полезное.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [Nemerle] Семантический контроль над размерностями
От: vdimas Россия  
Дата: 06.04.06 06:20
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Кстати, кто-то намчто-то обещал
Автор: vdimas
Дата: 05.04.06
сделать если выйдет.


Да куда он от нас денется... Я вот только свою инструментальную либу парсеров закончу на C# и с собой возьму. А то, насколько я понял, чтобы сделать на Немерле совсем уж эдакое, возможно, придется самим парсить и разбирать свои DSL. Иными словами я бы не хотел шарахаться от задач только потому, что они вдруг могут потребовать небольшого парсинга, выходящего за рамки регэкспов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: [Nemerle] Семантический контроль над размерностями
От: vdimas Россия  
Дата: 06.04.06 06:22
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Кстати, кто-то намчто-то обещал
Автор: vdimas
Дата: 05.04.06
сделать если выйдет.


Да куда он от нас денется... Я вот только свою инструментальную либу парсеров закончу на C# и с собой возьму. А то, насколько я понял, чтобы сделать на Немерле совсем уж эдакое, возможно, придется самим парсить и разбирать свои DSL. Иными словами я бы не хотел шарахаться от задач только потому, что они вдруг могут потребовать небольшого парсинга, выходящего за рамки регэкспов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: [Nemerle] Семантический контроль над размерностями
От: Oyster Украина https://github.com/devoyster
Дата: 06.04.06 06:24
Оценка:
Здравствуйте, CrystaX, Вы писали:

CX>Предлагаю следующий вариант развития событий. У меня есть определенные мысли по развитию подобного инструмента, я их частично воплотил в новой версии. Было бы очень интересно и познавательно вести разработку параллельно — на C++ и на Nemerle. Исключительно из спортивного интереса. Весьма возможно, что кое-что из того, что мне далось с таким трудом на C++, будет легко сделать на Nemerle.


Интересная идея. И я вижу много чего, чего можно было бы в мой код добавить. Но... время, всё упирается во время. Мне, к сожалению, не нужно этот код использовать в своих приложениях, поэтому я не знаю, смогу ли развивать код дальше.

Тут Влад прав
Автор: VladD2
Дата: 06.04.06
— лучше направить усилия на что-то более нужное (в моём случае).
Re[7]: [Nemerle] Семантический контроль над размерностями
От: Oyster Украина https://github.com/devoyster
Дата: 06.04.06 07:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А это не может вызвать проблем? Не окажется, что постфикстные операторы интерпретированы не врено?


Могут быть проблемы в случае, если существует такой же бинарный оператор. Например, такой код:

def x = 100 -

При компиляции выдаёт ошибки:

error : parse error near operator `-': unexpected end of token sequence
error : parse error near separator or closing bracket: expecting expression


Причём проблема именно в существовании такого же бинарного оператора, потому что такой код выдаёт те же ошибки:

struct SomeValue
{
    public Value : double;

    this(value : double)
    {
        Value = value;
    }

    static public @-(value : SomeValue) : SomeValue
    {
        SomeValue(-value.Value)
    }
};

def x = SomeValue(100);
def y = x -
Re[3]: [Nemerle] Семантический контроль над размерностями
От: CrystaX Россия https://crystax.me/
Дата: 06.04.06 08:40
Оценка:
Здравствуйте, Oyster, Вы писали:

O>Интересная идея. И я вижу много чего, чего можно было бы в мой код добавить. Но... время, всё упирается во время. Мне, к сожалению, не нужно этот код использовать в своих приложениях, поэтому я не знаю, смогу ли развивать код дальше.


Согласен, с временем тяжело. Но ведь никто нас не гонит, не так ли? У этой библиотеки есть большой потенциал (далеко не только в области вычислений физических величин) и жалко было бы его упускать.

O>Тут Влад прав
Автор: VladD2
Дата: 06.04.06
— лучше направить усилия на что-то более нужное (в моём случае).


Ты знаешь, после того, как я написал эту библиотеку, я как-то самопроизвольно начал раскладывать в своих проектах все используемые величины по ортам — и это очень сильно помогает. Физические величины — это только пример, не более того.
Вот более жизненный пример. Какая-нибудь система учета, оперирующая понятиями 1) деньги и 2) различные грузы (например, сахар и мука). Введем орты нашей системы координат — деньги, килограмм-сахар и килограмм-мука.
Теперь цена на сахар — это не то же самое, что цена на муку и помножив руб/кгсах на кгмука я получу не руб, а руб*кгмука/кгсах, о чем мне тут же напомнит компилятор. Конечно же, сейчас трудно себе представить такое практическое применение моей библиотеки, но с новой версией это будет намного проще.

В общем, я беру таймаут на неделю. Затем выложу новую версию. Если будет интересно с ней поиграться — you are welcome.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[3]: [Nemerle] Семантический контроль над размерностями
От: CrystaX Россия https://crystax.me/
Дата: 06.04.06 08:42
Оценка:
Здравствуйте, VladD2, Вы писали:

CX>>Было бы очень интересно и познавательно вести разработку параллельно — на C++ и на Nemerle. Исключительно из спортивного интереса.


VD>Мужики я преклоняюсь перед вашей настойчивостью и самоотверженностью, но такие усилия лучше было бы направить на что-то более полезное.


Эта библиотека (по крайней мере заложенный в ней потенциал) — очень полезный инструмент. Более развернутый ответ см. здесь
Автор: CrystaX
Дата: 06.04.06
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[4]: [Nemerle] Семантический контроль над размерностями
От: Oyster Украина https://github.com/devoyster
Дата: 06.04.06 08:49
Оценка:
Здравствуйте, CrystaX, Вы писали:

CX>Ты знаешь, после того, как я написал эту библиотеку, я как-то самопроизвольно начал раскладывать в своих проектах все используемые величины по ортам — и это очень сильно помогает. Физические величины — это только пример, не более того.


Ну мне как-то всё равно не надо это в работе, если честно Есть и более важные вещи.

На этот код я убил, наверное, около двух рабочих дней. Больше убивать не хочется... Возможно, если интерес снова проснётся, я и займусь им, но гарантий на этот счёт никаких дать не могу.

CX>В общем, я беру таймаут на неделю. Затем выложу новую версию. Если будет интересно с ней поиграться — you are welcome.


Помнится, ты ещё говорил, что на выходных попробуешь с Nemerle покопаться... настоятельно рекомендую это сделать
Re[5]: [Nemerle] Семантический контроль над размерностями
От: CrystaX Россия https://crystax.me/
Дата: 06.04.06 09:07
Оценка:
Здравствуйте, Oyster, Вы писали:

O>Ну мне как-то всё равно не надо это в работе, если честно Есть и более важные вещи.


Я не настаиваю.

O> Помнится, ты ещё говорил, что на выходных попробуешь с Nemerle покопаться... настоятельно рекомендую это сделать


Копаться я и раньше начал. Я твой код хочу детально разобрать. А Nemerle — что ж, язык неплохой, но мне интересен пока только как объект познания, на практике его применить не могу.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[6]: [Nemerle] Семантический контроль над размерностями
От: Oyster Украина https://github.com/devoyster
Дата: 06.04.06 09:48
Оценка:
Здравствуйте, CrystaX, Вы писали:

CX>Копаться я и раньше начал. Я твой код хочу детально разобрать.


Ну тогда ты эта... обращайся... если что

CX>А Nemerle — что ж, язык неплохой, но мне интересен пока только как объект познания, на практике его применить не могу.


Да я тоже... пока что. Вроде намечается проектик на одного человека, на который можно будет выбить Nemerle. Скрещиваю пальцы на удачу
Re[3]: [Nemerle] Семантический контроль над размерностями
От: Кодт Россия  
Дата: 06.04.06 13:29
Оценка:
> Дык цель то была опробовать Немерле в бою.

Ну это да... только "опробовать в бою" это аспект не для Исходников...
Здесь вроде как обсуждаются решения с прикладной позиции.

P.S. Не завести ли нам форум по Немерле?
Posted via RSDN NNTP Server 2.0
Перекуём баги на фичи!
Re[4]: [Nemerle] Семантический контроль над размерностями
От: Oyster Украина https://github.com/devoyster
Дата: 06.04.06 14:38
Оценка:
Здравствуйте, Кодт, Вы писали:

К>P.S. Не завести ли нам форум по Немерле?


Завести!!!
Re[4]: [Nemerle] Семантический контроль над размерностями
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.04.06 14:46
Оценка: +1
Здравствуйте, Кодт, Вы писали:

К>Ну это да... только "опробовать в бою" это аспект не для Исходников...


Думаю Oyster просто решил разместить свой вариант рядом с уже опубликованным С++-ным.

К>P.S. Не завести ли нам форум по Немерле?


Незнаю. Возможно. Но пока рановато наврено.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Версия 0.02
От: Oyster Украина https://github.com/devoyster
Дата: 10.04.06 05:49
Оценка: 27 (1)
Недавно у меня снова выдалась свободная минутка, и я поработал над кодом библиотеки. Соответственно, последний претерпел некоторые изменения.

Самым главным нововведением является, безусловно, генерация value-типов вместо reference-типов, что должно ускорить работу с этими самыми физическими величинами.

Замечание: К сожалению, работа с value-типами пока что неполноценна, так как в компиляторе имеется досадный баг, не позволяющий комфортно работать с генериками при генерации типов. Неполноценность заключается в том, что при передаче одного физического значения в конструктор другого происходит боксинг. Такое поведение будет исправлено сразу, как пофиксят баг в компиляторе.


Кроме этого, в библиотеку были внесены и другие изменения:


Новую версию проекта можно забрать тут: Oyster.Units.0.02.zip. Билдить рекомендуется или на последней версии Nemerle из SVN, или на снапшоте r6176 и выше. Для тех, кому лень качать проект, я выложил новые исходники (кроме тестового примера — он изменился несущественно) в ответе на это сообщение.

PS: Направления дальнейшего развития библиотеки — избавиться от боксинга и ввести физические литералы (то, о чём так много говорили в этом топике).
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.