странное спрошу
От: Alexey Voytsehovich Украина  
Дата: 24.09.10 03:49
Оценка:
Подумалось тут. Есть ли такой язык\технология, который мог бы в рантайме, пользуясь шаблоном кода (один) и правилами обработки данных (много разных), получать код для обработки именно необходимых данных? потом в рантайме запустить полученный код, отработать и выдать результат?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Я не умею быть злым, и не хочу быть добрым.
Re: странное спрошу
От: FR  
Дата: 24.09.10 04:31
Оценка: 4 (1)
Здравствуйте, Alexey Voytsehovich, Вы писали:

AV>Подумалось тут. Есть ли такой язык\технология, который мог бы в рантайме, пользуясь шаблоном кода (один) и правилами обработки данных (много разных), получать код для обработки именно необходимых данных? потом в рантайме запустить полученный код, отработать и выдать результат?


Наверно подойдет любой язык с мощным метапрограммированием например лисп.

Ну и другой подход Суперкомпиляция когда все это делается автоматом, гуглить рефал.
Re[2]: странное спрошу
От: Alexey Voytsehovich Украина  
Дата: 24.09.10 04:54
Оценка:
Здравствуйте, FR, Вы писали:

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


AV>>Подумалось тут. Есть ли такой язык\технология, который мог бы в рантайме, пользуясь шаблоном кода (один) и правилами обработки данных (много разных), получать код для обработки именно необходимых данных? потом в рантайме запустить полученный код, отработать и выдать результат?


FR>Наверно подойдет любой язык с мощным метапрограммированием например лисп.


а .Net или Embacadero Prism? Или даже так — по каким ключевым словам надо гуглить и проверять возможность такого в языке?

FR>Ну и другой подход Суперкомпиляция когда все это делается автоматом, гуглить рефал.


спасибо. почитаю
Я не умею быть злым, и не хочу быть добрым.
Re[3]: странное спрошу
От: An arbitrary organic compound  
Дата: 24.09.10 05:41
Оценка: 5 (2)
Здравствуйте, Alexey Voytsehovich, Вы писали:

AV>а .Net или Embacadero Prism? Или даже так — по каким ключевым словам надо гуглить и проверять возможность такого в языке?


По наличию функции eval (в .Net можно компилировать и выполнять сгенерированный в рантайме исходный код, пользуясь System.CodeDom.Compiler и рефлексией). В Lisp и Clojure eval принимает код не в виде строки, а в виде данных, поэтому, для генерации исполняемого в рантайме кода можно использовать все возможности Лиспа для обработки данных.
Re[3]: странное спрошу
От: WolfHound  
Дата: 24.09.10 06:00
Оценка: 4 (1) +1
Здравствуйте, Alexey Voytsehovich, Вы писали:

AV>а .Net или Embacadero Prism? Или даже так — по каким ключевым словам надо гуглить и проверять возможность такого в языке?

Nemerle. http://rsdn.ru/forum/nemerle/
Есть мощьное метапрограммирование.
Компилятор можно запускать в рантайме.
Плюс статическая типизация, вывод типов и много других плюшек.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: странное спрошу
От: BulatZiganshin  
Дата: 24.09.10 10:57
Оценка: 1 (1)
Здравствуйте, Alexey Voytsehovich, Вы писали:

AV>Подумалось тут. Есть ли такой язык\технология, который мог бы в рантайме, пользуясь шаблоном кода (один) и правилами обработки данных (много разных), получать код для обработки именно необходимых данных? потом в рантайме запустить полученный код, отработать и выдать результат?


это странное называется higher-order functions и является ключевой частью ФП
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: странное спрошу
От: Alexey Voytsehovich Украина  
Дата: 24.09.10 15:19
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, Alexey Voytsehovich, Вы писали:


AV>>Подумалось тут. Есть ли такой язык\технология, который мог бы в рантайме, пользуясь шаблоном кода (один) и правилами обработки данных (много разных), получать код для обработки именно необходимых данных? потом в рантайме запустить полученный код, отработать и выдать результат?


BZ>это странное называется higher-order functions и является ключевой частью ФП


ну радует хоть не чтото ненормальное в голову пришло
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Я не умею быть злым, и не хочу быть добрым.
Re[2]: странное спрошу
От: Lloyd Россия  
Дата: 24.09.10 15:22
Оценка: :))) :))) :)
Здравствуйте, BulatZiganshin, Вы писали:

BZ>это странное называется higher-order functions


Высоко-порядочные функции.
Re[3]: странное спрошу
От: BulatZiganshin  
Дата: 24.09.10 17:28
Оценка:
Здравствуйте, Lloyd, Вы писали:

BZ>>это странное называется higher-order functions


L>Высоко-порядочные функции.


но в других культурах это считается изысканным извращением!
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: странное спрошу
От: Aleх  
Дата: 26.09.10 20:44
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, Alexey Voytsehovich, Вы писали:


AV>>Подумалось тут. Есть ли такой язык\технология, который мог бы в рантайме, пользуясь шаблоном кода (один) и правилами обработки данных (много разных), получать код для обработки именно необходимых данных? потом в рантайме запустить полученный код, отработать и выдать результат?


BZ>это странное называется higher-order functions и является ключевой частью ФП


Это есть почти во всех языках программирования. Я думаю, автор имел ввиду метапрограммирование в рантайме, что уже не является ключевой особенностью ФП.
Re[2]: странное спрошу
От: MasterZiv СССР  
Дата: 27.09.10 08:21
Оценка:
BulatZiganshin wrote:

> это странное называется higher-order functions и является ключевой частью ФП


Нет, это не совсем оно, возможно это более частный случай, либо вообще
никак не связано с higher-order functions. Если конечно автор действительно
хочет в рантайме генерировать код и потом его исполнять.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: странное спрошу
От: Alexey Voytsehovich Украина  
Дата: 27.09.10 13:17
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>BulatZiganshin wrote:


>> это странное называется higher-order functions и является ключевой частью ФП


MZ>Нет, это не совсем оно, возможно это более частный случай, либо вообще

MZ>никак не связано с higher-order functions. Если конечно автор действительно
MZ>хочет в рантайме генерировать код и потом его исполнять.

да. именно в рантайме сгенерировать и потом выполнить
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Я не умею быть злым, и не хочу быть добрым.
Re[4]: странное спрошу
От: BulatZiganshin  
Дата: 02.10.10 12:49
Оценка:
Здравствуйте, Alexey Voytsehovich, Вы писали:

>>> это странное называется higher-order functions и является ключевой частью ФП


MZ>>Нет, это не совсем оно, возможно это более частный случай, либо вообще

MZ>>никак не связано с higher-order functions. Если конечно автор действительно
MZ>>хочет в рантайме генерировать код и потом его исполнять.

AV>да. именно в рантайме сгенерировать и потом выполнить


ну а HOF создают в рантайме не код, а функции
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: странное спрошу
От: Alexey Voytsehovich Украина  
Дата: 02.10.10 16:41
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, Alexey Voytsehovich, Вы писали:


>>>> это странное называется higher-order functions и является ключевой частью ФП


MZ>>>Нет, это не совсем оно, возможно это более частный случай, либо вообще

MZ>>>никак не связано с higher-order functions. Если конечно автор действительно
MZ>>>хочет в рантайме генерировать код и потом его исполнять.

AV>>да. именно в рантайме сгенерировать и потом выполнить


BZ>ну а HOF создают в рантайме не код, а функции


а чем тогда можно именно код генерировать? к примеру для .net есть чтото такое?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Я не умею быть злым, и не хочу быть добрым.
Re[5]: странное спрошу
От: MasterZiv СССР  
Дата: 02.10.10 18:59
Оценка:
BulatZiganshin wrote:
> ну а HOF создают в рантайме не код, а функции

Я бы так не сказал.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: странное спрошу
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 04.10.10 10:54
Оценка:
Здравствуйте, MasterZiv, Вы писали:

>> ну а HOF создают в рантайме не код, а функции

MZ>Я бы так не сказал.

Почему?
Re[7]: странное спрошу
От: BulatZiganshin  
Дата: 04.10.10 19:58
Оценка:
Здравствуйте, lomeo, Вы писали:

>>> ну а HOF создают в рантайме не код, а функции

MZ>>Я бы так не сказал.

L>Почему?


он не верит в существование first-class functions
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: странное спрошу
От: BulatZiganshin  
Дата: 04.10.10 19:59
Оценка:
Здравствуйте, Alexey Voytsehovich, Вы писали:

AV>а чем тогда можно именно код генерировать? к примеру для .net есть чтото такое?


а для тебя имеет значение — код создаётся или функции? проблема в скорости?
Люди, я люблю вас! Будьте бдительны!!!
Re[7]: странное спрошу
От: Alexey Voytsehovich Украина  
Дата: 05.10.10 03:53
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, Alexey Voytsehovich, Вы писали:


AV>>а чем тогда можно именно код генерировать? к примеру для .net есть чтото такое?


BZ>а для тебя имеет значение — код создаётся или функции? проблема в скорости?


проблема в том что эта область мне совершенно не известна и каждое слово нет сбивает с толку

вы не могли бы ткнуть в инете на любой пример на дотнет который генерирует код\метод на лету и его выполняет?
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Я не умею быть злым, и не хочу быть добрым.
Re[8]: странное спрошу
От: Jack128  
Дата: 06.10.10 11:51
Оценка: 4 (1)
Здравствуйте, Alexey Voytsehovich, Вы писали:


AV>вы не могли бы ткнуть в инете на любой пример на дотнет который генерирует код\метод на лету и его выполняет?



var p = Expression.Parameter(typeof(int), "i");
var x = Expression.Lambda<Func<int, int>>(Expression.Multiply(Expression.Constant(2), p), new[] { p });

var mul2 = x.Compile(); // компилируем

return mul2(10); // результат - 20
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.