Re[58]: Ультракороткий язык программирования RS
От: ambel-vlad Беларусь  
Дата: 24.12.10 13:43
Оценка: 3 (1)
Здравствуйте, PC_2, Вы писали:

AV>>Вот только первоначально был несколько другой код, у которого очень интересно поведение. В двух соседних строках одна и та же переменная является разными сущностям. И ладно бы сначала была массивом, а потом на его базе (не)явно строилась последовательность. Но в примерах последовательность ни с того ни с сего превращается в массив.


PC_>о_О


Кстати, есть еще один вопрос. Положим есть уже готовый массив из 100 элементов. Мне надо возвести в квадрат первый элемент и другие которые удовлетворяют определенному условию. Например, индексы этих элементов являюся квадратами целых чисел. Как это будет выглядеть?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[60]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 13:48
Оценка:
S>понимаешь, когда ты говоришь что у меня здесь используются генераторы — это не велосипед. Когда ты говоришь что изобрел переборщики — то это велосипед, причем без сидения.

Ну опять 25. Это велосипед без сиденья, но зато запишется короче и понятней ...
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[59]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 13:52
Оценка:
AV>Кстати, есть еще один вопрос. Положим есть уже готовый массив из 100 элементов. Мне надо возвести в квадрат первый элемент и другие которые удовлетворяют определенному условию. Например, индексы этих элементов являюся квадратами целых чисел. Как это будет выглядеть?

x=1..100
(sqrt(I)*sqrt(I)==I?
х.I*=х.I)

так. Правда функции корня у меня нету

Ну и на каком языке это будет еще короче ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[34]: Ультракороткий язык программирования RS
От: Erop Россия  
Дата: 24.12.10 13:58
Оценка:
Здравствуйте, samius, Вы писали:

S>Вот как ляжет (I>10?I)? Сам I придется получать из некого индекса вычислителя, так?

Так. По идее у тебя будет код, который добывает I. (он в КУДЕ уже есть)
Потом сравним, и маскируем те из вычичлителей, кому не надо. А если можно упростить ещё до запуска параллельного кода, то можно и проредить.

S>Результат генератора так же можно получить из индекса вычислителя ничуть не хуже чем I, только число итераций будет известно заранее. Смотрим на Range генератора и знаем сколько раз надо зарядить вычислители.

Нет, ты не понимаешь, все вычичлители выполняют ОДИН И ТОТ ЖЕ КОД. Просто с разными данными. И ещё паттерны доступа к памяти важны.
Руками писать там не так уж и просто. Очень низкоуровнево получается. Можно на mp, но при больших ограничениях зело.

Но это всего лишь один из примеров применения такой фигни.

S>(I%10000+42==0?)

S>Погонишь по всему диапазону?
Это не прогонишь. Ну и что. Зато многое другое прогонишь...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[35]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.12.10 14:05
Оценка:
Здравствуйте, Erop, Вы писали:

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


S>>Вот как ляжет (I>10?I)? Сам I придется получать из некого индекса вычислителя, так?

E>Так. По идее у тебя будет код, который добывает I. (он в КУДЕ уже есть)
E>Потом сравним, и маскируем те из вычичлителей, кому не надо. А если можно упростить ещё до запуска параллельного кода, то можно и проредить.

S>>Результат генератора так же можно получить из индекса вычислителя ничуть не хуже чем I, только число итераций будет известно заранее. Смотрим на Range генератора и знаем сколько раз надо зарядить вычислители.

E>Нет, ты не понимаешь, все вычичлители выполняют ОДИН И ТОТ ЖЕ КОД. Просто с разными данными. И ещё паттерны доступа к памяти важны.
Я это прекрасно понимаю.
Вот представь что вместо сравнивания и маскирования ты прибавляешь к индексу вычислителя 10 и ничего не сравниваешь.
E>Руками писать там не так уж и просто. Очень низкоуровнево получается. Можно на mp, но при больших ограничениях зело.
Что значит руками писать?

E>Но это всего лишь один из примеров применения такой фигни.


S>>(I%10000+42==0?)

S>>Погонишь по всему диапазону?
E>Это не прогонишь. Ну и что. Зато многое другое прогонишь...
а смысл? Если нужные значения получаются из индекса вычислителя нехитрыми действиями.
Вместо (I>10?I) можно писать (I+10). Даже короче
Re[59]: Ультракороткий язык программирования RS
От: Erop Россия  
Дата: 24.12.10 14:08
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Кстати, есть еще один вопрос. Положим есть уже готовый массив из 100 элементов. Мне надо возвести в квадрат первый элемент и другие которые удовлетворяют определенному условию. Например, индексы этих элементов являюся квадратами целых чисел. Как это будет выглядеть?


А что тут сложного?
E X = 1..100
E !Y = 1..10
E X.(Y*Y) = X.(Y*Y) * X.(Y.Y)

Тебе это было надо?
А ведь, наверное, можно и так:
E !Y = 1..10
E !Z = (Y > 0 ? Y*Y)
E X.Z = X.Z * X.Z

А было бы круто, если бы было можно и так:
E !Z = Y*Y
E X.Z = X.Z*X.Z

Или ты хочешь в виде: (I-полный квадарат? I*I : I)?
Если так, то я не знаю, как просто записать предикат "является квадратом целого"
Ну и потом не совсем понятно, зачем такие вещи вообще надо уметь удобно записывать...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[36]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 14:09
Оценка:
S>Вот представь что вместо сравнивания и маскирования ты прибавляешь к индексу вычислителя 10 и ничего не сравниваешь.

Так уже обсудили. Вводим новую переменную, которая не есть индексом, а есть скрытым while(true) и все довольны
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[36]: Ультракороткий язык программирования RS
От: Erop Россия  
Дата: 24.12.10 14:14
Оценка:
Здравствуйте, samius, Вы писали:

S>Вот представь что вместо сравнивания и маскирования ты прибавляешь к индексу вычислителя 10 и ничего не сравниваешь.

Ну то есть последовательность I мы заменяем на 10*I? Или на I + 10?
И то и то несложно сделать...

E>>Руками писать там не так уж и просто. Очень низкоуровнево получается. Можно на mp, но при больших ограничениях зело.

S>Что значит руками писать?
На КУДАшном компиллере С.

S>Вместо (I>10?I) можно писать (I+10). Даже короче

так в RS так можно.

Все эти (I>10?I) появились потому, что надо было менять ЧАСТЬ массива...
Если ты можешь описать прямо переборщик этой части, то тоже можно...
Должно быть что-то вроде:
E X = 1..100
E !V = 10..100
E X.V = ... что-то ещё...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[60]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.12.10 14:15
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, ambel-vlad, Вы писали:


AV>>Кстати, есть еще один вопрос. Положим есть уже готовый массив из 100 элементов. Мне надо возвести в квадрат первый элемент и другие которые удовлетворяют определенному условию. Например, индексы этих элементов являюся квадратами целых чисел. Как это будет выглядеть?


E>А что тут сложного?

E>E X = 1..100
E>E !Y = 1..10
E>E X.(Y*Y) = X.(Y*Y) * X.(Y.Y)
1000 итераций вместо 10и?

E>Тебе это было надо?

E>А ведь, наверное, можно и так:
E>E !Y = 1..10
E>E !Z = (Y > 0 ? Y*Y)
E>E X.Z = X.Z * X.Z
А массив где?

E>А было бы круто, если бы было можно и так:

E>E !Z = Y*Y
E>E X.Z = X.Z*X.Z

E>Или ты хочешь в виде: (I-полный квадарат? I*I : I)?

E>Если так, то я не знаю, как просто записать предикат "является квадратом целого"
E>Ну и потом не совсем понятно, зачем такие вещи вообще надо уметь удобно записывать...
Re[60]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 14:17
Оценка: +1
кароче это, сделал я круглые скобки как обещал. Правда слегка помучался.
Реально синтаксис стал проще и лучше, можно писать вот так:

x=3
(1+1+
 2+8-
 5)
x=5


Так что день прошел не зря
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[61]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 14:17
Оценка:
ну и зааплодил ессесно
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[61]: Ультракороткий язык программирования RS
От: Erop Россия  
Дата: 24.12.10 14:18
Оценка: 1 (1) +1
Здравствуйте, samius, Вы писали:

E>>А что тут сложного?

E>>E X = 1..100
E>>E !Y = 1..10
E>>E X.(Y*Y) = X.(Y*Y) * X.(Y.Y)
S>1000 итераций вместо 10и?
Почему? 10 итераций.


E>>Тебе это было надо?

E>>А ведь, наверное, можно и так:
E>>E !Y = 1..10
E>>E !Z = (Y > 0 ? Y*Y)
E>>E X.Z = X.Z * X.Z
S>А массив где?
Массив -- X.
Описан выше в предыдущем примере
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[37]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.12.10 14:19
Оценка: +1
Здравствуйте, Erop, Вы писали:

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


S>>Вот представь что вместо сравнивания и маскирования ты прибавляешь к индексу вычислителя 10 и ничего не сравниваешь.

E>Ну то есть последовательность I мы заменяем на 10*I? Или на I + 10?
E>И то и то несложно сделать...
Вроде про + речь шла, ну да ладно.

S>>Вместо (I>10?I) можно писать (I+10). Даже короче

E>так в RS так можно.

E>Все эти (I>10?I) появились потому, что надо было менять ЧАСТЬ массива...

E>Если ты можешь описать прямо переборщик этой части, то тоже можно...
E>Должно быть что-то вроде:
E>E X = 1..100
E>E !V = 10..100
E>E X.V = ... что-то ещё...
Это генераторы, а не переборщики. Переборщик — это как я понимаю, генератор + условие, попал или нет.
И заслуги RS в этом нет, т.к. он всего лишь десятитысячный язык с генератором, только с ущербным. Даже в C# генератор гибче и сильнее.
Re[61]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.12.10 14:20
Оценка: :)))
Здравствуйте, PC_2, Вы писали:

PC_>кароче это, сделал я круглые скобки как обещал. Правда слегка помучался.

PC_>Реально синтаксис стал проще и лучше, можно писать вот так:

PC_>
PC_>x=3
PC_>(1+1+
PC_> 2+8-
PC_> 5)
PC_>x=5
PC_>

Повеяло лиспом

PC_>Так что день прошел не зря
Re[62]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 14:26
Оценка: :)
S>Повеяло лиспом

Ну нормальненько так, это кошерней чем подчеркивание при переносе строки Васика,
или быдлоточка с запятой в конце каждой Си строки
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[63]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.12.10 14:37
Оценка:
Здравствуйте, PC_2, Вы писали:

S>>Повеяло лиспом


PC_>Ну нормальненько так, это кошерней чем подчеркивание при переносе строки Васика,

PC_>или быдлоточка с запятой в конце каждой Си строки
А выражения в одной строке чем разделять?
Re[64]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 14:40
Оценка: :)
Здравствуйте, samius, Вы писали:

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


S>>>Повеяло лиспом


PC_>>Ну нормальненько так, это кошерней чем подчеркивание при переносе строки Васика,

PC_>>или быдлоточка с запятой в конце каждой Си строки
S>А выражения в одной строке чем разделять?

ничем

По умолчанию одна строчка = одно выражение
Если выражение живет на двух и более строчках, то добавляем обычные скобки.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[65]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 14:41
Оценка:
Кстате версия получилась не самая стабильная, я бы даже ее не рекомендовал качать.
Ладно, потом пофиксю там баги

Меня и так уже спалило начальство что я фигней занимаюсь
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[38]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 24.12.10 14:46
Оценка:
S>Это генераторы, а не переборщики. Переборщик — это как я понимаю, генератор + условие, попал или нет.
S>И заслуги RS в этом нет, т.к. он всего лишь десятитысячный язык с генератором, только с ущербным. Даже в C# генератор гибче и сильнее.

Ну так как генерить пароли произвольной длины на гибком шарп генераторе ?

Джедайская методика через рекурсию для особо смекалистых ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[65]: Ультракороткий язык программирования RS
От: samius Япония http://sams-tricks.blogspot.com
Дата: 24.12.10 14:46
Оценка:
Здравствуйте, PC_2, Вы писали:

S>>А выражения в одной строке чем разделять?


PC_>ничем


PC_>По умолчанию одна строчка = одно выражение

По умолчанию "E " работал разделителем. Теперь ты его выпилил
PC_>Если выражение живет на двух и более строчках, то добавляем обычные скобки.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.