Re[3]: [Nemerle] Семантический контроль над размерностями
От: Vermicious Knid  
Дата: 05.04.06 10:12
Оценка: 54 (3)
Здравствуйте, Oyster, Вы писали:

O>Но так — без обрамляющего макроса и с величинами, заданными постфиксом, — по-моему точно не выйдет (у всего есть предел ):


А по-моему выйдет.
namespace My.Phys
{                    
    [assembly: Nemerle.Internal.OperatorAttribute ("My.Phys", "kg", true, 283, 284)]
    [assembly: Nemerle.Internal.OperatorAttribute ("My.Phys", "sec", true, 283, 284)]

    macro @kg(val)
    {
        <[ do_something_crazy_with_kg($val) ]>
    }

    macro @sec(val)
    {
        <[ do_something_crazy_with_sec($val) ]>
    }
}


using System;
using My.Phys;

module Main
{
    do_something_crazy_with_kg(val : double) : double
    {
        val
    }

    do_something_crazy_with_sec(val : double) : double
    {
        val
    }

    Main() : void
    {
        Console.WriteLine(100.0 kg);
        Console.WriteLine(100.0 kg);
        Console.WriteLine(20.0 sec);
        Console.WriteLine(100.0 kg * 20.0 sec);
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.