Re[17]: чем плохи шаблоны?
От: WolfHound  
Дата: 05.02.12 11:31
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Но зависит от стандартной библиотеки, которая зависит от нет.

Ты серьезно или прикалываешься?
Скажи что мешает компилятору написанному на .НЕТ генерировать код не под .НЕТ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[18]: чем плохи шаблоны?
От: Аноним  
Дата: 05.02.12 12:28
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, <Аноним>, Вы писали:


А>>Но зависит от стандартной библиотеки, которая зависит от нет.

WH>Ты серьезно или прикалываешься?
WH>Скажи что мешает компилятору написанному на .НЕТ генерировать код не под .НЕТ?

И как отлаживать этот код?
Re[19]: чем плохи шаблоны?
От: CodingUnit Россия  
Дата: 05.02.12 12:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>И как отлаживать этот код?


Скажем, то с чего начали, если я генерю С++ текстовый код для микроконтроллера, то я буду отлаживать на самом микроконтроллере, или на той платформе для которой я его генерил. С этим проблем быть не должно, здесь Н поможет только как конвертер и первичная основа для преобразования нужного мне ДСЛ или другой трансформации. Хотя здесь действительно нет ограничений и связи с Н, можно и ассемблерные инструкции генерить если нужно, все компиляторы создавались на других языках и интерпретаторах, первый Фортран вообще люди выступали в роли первичного компилятора, но потом связи с прежней платформой не осталось.
Re[20]: чем плохи шаблоны?
От: FR  
Дата: 05.02.12 13:20
Оценка:
Здравствуйте, CodingUnit, Вы писали:

CU>Скажем, то с чего начали, если я генерю С++ текстовый код для микроконтроллера, то я буду отлаживать на самом микроконтроллере, или на той платформе для которой я его генерил. С этим проблем быть не должно, здесь Н поможет только как конвертер и первичная основа для преобразования нужного мне ДСЛ или другой трансформации. Хотя здесь действительно нет ограничений и связи с Н, можно и ассемблерные инструкции генерить если нужно, все компиляторы создавались на других языках и интерпретаторах, первый Фортран вообще люди выступали в роли первичного компилятора, но потом связи с прежней платформой не осталось.


Тут http://felix-lang.org/ (https://github.com/felix-lang/felix) целый язык генерирующий C++ и во многом не уступающий немерле:

Features:

* generates highly optimised ISO C++
* advanced resource manager organises compilation and linkage
* often runs faster than C
* glueless binding to C and C++ libraries
* lightweight threads with channels
* asynchronous network I/O
* thread safe garbage collection
* strictly statically typed
* overloading
* first order parametric polymorphism
* polymorphism with constraints
* multitype Haskell style type classes
* type classes with real semantic specification
* semantics can be checked by theorem provers
* strong functional subsystem
* pattern matching
* first class function, sum, and product types
* Tre based regexp processing built in


а по некоторым фичам и Хаскель переплевывает.
Re[9]: чем плохи шаблоны?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 13:36
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>>>Если у меня вдруг появится настроение я даже машину Тьюринга на шаблонах могу изобразить.

VD>>Это вряд ли. Что будешь в качестве непрерывной ленты использовать?
WH>Не забывай с кем разговариваешь...

На вопрос то не хочешь ответить?

Пойми есть огромная разница между полнотой по тьюрингу некоторой машины возможностью на ней воспроизвести саму эту машу в исходом описании.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: чем плохи шаблоны?
От: Аноним  
Дата: 05.02.12 13:43
Оценка: -1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, WolfHound, Вы писали:


WH>>>>Если у меня вдруг появится настроение я даже машину Тьюринга на шаблонах могу изобразить.

VD>>>Это вряд ли. Что будешь в качестве непрерывной ленты использовать?
WH>>Не забывай с кем разговариваешь...

VD>На вопрос то не хочешь ответить?


VD>Пойми есть огромная разница между полнотой по тьюрингу некоторой машины возможностью на ней воспроизвести саму эту машу в исходом описании.


нет разницы. Полнота по тьюрингу это возможность воспроизвести машину тьюринга.
Re[21]: чем плохи шаблоны?
От: CodingUnit Россия  
Дата: 05.02.12 14:53
Оценка:
Здравствуйте, FR, Вы писали:

FR>Тут http://felix-lang.org/ (https://github.com/felix-lang/felix) целый язык генерирующий C++ и во многом не уступающий немерле:


Это интересно для некоторых задач, только больно тяжело читать документацию, сайт так сделан, не могу найти нормального туториала.
Re[21]: чем плохи шаблоны?
От: _Claus_  
Дата: 05.02.12 14:59
Оценка:
FR>Тут http://felix-lang.org/ (https://github.com/felix-lang/felix) целый язык генерирующий C++ и во многом не уступающий немерле:

AST должен быть очень близкий, значит можно дернуть оттуда генератор С++
Re[22]: чем плохи шаблоны?
От: FR  
Дата: 05.02.12 15:08
Оценка:
Здравствуйте, CodingUnit, Вы писали:

CU>Это интересно для некоторых задач, только больно тяжело читать документацию, сайт так сделан, не могу найти нормального туториала.


Да с документацией там туговато, сам вот только-только начал разбираться с этим языком.
Примеры тут http://felix-lang.org/$/usr/local/lib/felix/felix-latest/doc/Tutorial.fdoc
Re[22]: чем плохи шаблоны?
От: FR  
Дата: 05.02.12 15:11
Оценка:
Здравствуйте, _Claus_, Вы писали:

_C_>AST должен быть очень близкий, значит можно дернуть оттуда генератор С++


Локальный код возможно, но глобально вряд-ли языки слишком разные например феликс в отличии от немерле поддерживает не NET ОО а type class хаскелеобразные, да и в остальном наверняка куча различий.
Re[23]: чем плохи шаблоны?
От: Аноним  
Дата: 05.02.12 15:35
Оценка:
Здравствуйте, FR, Вы писали:

FR>Здравствуйте, _Claus_, Вы писали:


_C_>>AST должен быть очень близкий, значит можно дернуть оттуда генератор С++


FR>Локальный код возможно, но глобально вряд-ли языки слишком разные например феликс в отличии от немерле поддерживает не NET ОО а type class хаскелеобразные, да и в остальном наверняка куча различий.


тут кто то говорил о метаязыке типов....
Re[15]: чем плохи шаблоны?
От: para  
Дата: 05.02.12 15:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>супер. РЕАЛЬНО В ЭТО ВЕРИШЬ?


поробуйте Н и вы сами поверите...

пример на псевдокоде (извини под рукой нет компилятора) главное смотри идею:
macro CompileAsC(sources:PExpr)
{  
  def text = Analize(sources);         // ГЛУБОКИЙ АНАЛИЗ АСТ. в данном примере просто проброс строки

  File.WriteAllText("tmp.c", text);    // генерация кода конечно должна
  ShellExecute("gcc tmp.c -o res.exe") // быть покрасивее, но для примера
}

void main() 
{
  CompileAsC("prinf(\"hello world\")");
}

res.exe — результат(побочный) применения макроса логически зависит от исходников
но физически НЕ зависит от .Net
Re[16]: чем плохи шаблоны?
От: para  
Дата: 05.02.12 16:27
Оценка:
Здравствуйте, para, Вы писали:

более показательно примерно так:
macro CompileAsC(ast:PExpr)
{  
  def text = Analize(ast);             // ГЛУБОКИЙ АНАЛИЗ АСТ. в данном примере просто проброс строки

  File.WriteAllText("tmp.c", text);    // генерация кода конечно должна
  ShellExecute("gcc tmp.c -o res.exe") // быть покрасивее, но для примера

  <[]>
}

Analize(ast:PExpr) : string
{
| <[Console.WriteLine($str)]> => $"prinf($str)";
| _ => Message.Error();
}

void main() 
{
  CompileAsC(Console.WriteLine("hello world"));
}

отличается от шаблонов наличием Analize(ast:PExpr)
Re[17]: чем плохи шаблоны?
От: Аноним  
Дата: 05.02.12 16:30
Оценка:
Здравствуйте, para, Вы писали:

У меня такое чувство что мы говорим о разных вещах.
Re[18]: чем плохи шаблоны?
От: para  
Дата: 05.02.12 16:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, para, Вы писали:


А>У меня такое чувство что мы говорим о разных вещах.


я показал, что сгенерированная программа не зависит от .нет
в данном примере генериреутся вторая программа как побочный результат работы макроса
в Н2 это может быть штатный генератор кода, один из многих
Re[11]: чем плохи шаблоны?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 17:34
Оценка:
Здравствуйте, Аноним, Вы писали:

VD>>Пойми есть огромная разница между полнотой по тьюрингу некоторой машины возможностью на ней воспроизвести саму эту машу в исходом описании.


А>нет разницы. Полнота по тьюрингу это возможность воспроизвести машину тьюринга.


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

Полнота по Тьюрингу означает эквивалентность ей по вычислительным возможностям. Или, если не заумствовать, возможность реализации любого вычислительного алгоритма который может быть гипотетически реализован с помощью машины Тьюринга (конкретной).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: чем плохи шаблоны?
От: WolfHound  
Дата: 05.02.12 18:10
Оценка:
Здравствуйте, VladD2, Вы писали:

WH>>Не забывай с кем разговариваешь...

VD>На вопрос то не хочешь ответить?
Так я тебе реализацию этой самой ленты показал.

VD>Пойми есть огромная разница между полнотой по тьюрингу некоторой машины возможностью на ней воспроизвести саму эту машу в исходом описании.

Разницы нет.
Если удалось воспроизвести машину Тьюринга, то полнота по Тьюрингу доказана.
Ибо если работает машина Тьюринга то на ней можно запустить любой алгоритм, написанный для машины Тьюринга.

Конечность памяти в реальных устройствах во внимание не принимается. Просто по тому, что устройств с бесконечной памятью нет.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: чем плохи шаблоны?
От: WolfHound  
Дата: 05.02.12 18:12
Оценка:
Здравствуйте, <Аноним>, Вы писали:

WH>>Скажи что мешает компилятору написанному на .НЕТ генерировать код не под .НЕТ?

А>И как отлаживать этот код?
Мда... и что же мне помешает сгенерировать отладочную информацию?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: чем плохи шаблоны?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 19:01
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Достаточно безумная мысль так как немерле слишком завязан на нет и придется перетаскивать кучу библиотек нет что делает вашу работу сложной если не реальной.


Мысль весьма здравая, если не пытаться сделать универсальный транслятор. Если рассматривать частные случаи, то особых проблем в генерации кода нет. Можно хоть С++, хоть жабаскрипт генерировать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: чем плохи шаблоны?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 19:29
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Так я тебе реализацию этой самой ленты показал.


Она не бесконечна.

WH>Конечность памяти в реальных устройствах во внимание не принимается.


Тогда твое решение тоже не принимается как машина тьюринга. Это некоторое приближение. Да и машины тьюрига универсальной не бывает. Она как конечный автомат, для каждого алгоритма новая.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.