Re[24]: Ультракороткий язык программирования RS
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 22.12.10 11:06
Оценка:
Здравствуйте, avpavlov, Вы писали:

A>А оно скомпилируется (в Немерле не силён)? Если да, то грустно.

A>Я полагаю язык 21го века должен уметь отлавливать "unreachable statement" ситуации

Ну как бы отловить данную конкретную "unreachable statement" для произвольных типов i и n как бы не очень реально. Более простые ситуации, компилятор вполне отлавливает:

def f(n)
{
        | 0
        | 1 => n
        | _ => n * f(n - 1)
        | _ => throw ArgumentException() // здесь будет warning: this match clause is unused
}
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[16]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:08
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


__>>P.S.

__>>А почему бы RS не написать на Nemerle ?
__>>Тогда автор и сможет сравнить на практике RS и Nemerle.

L>Компилятор RS не может быть наисан на Nemerle, т.к. в ходе написания оного пишущий поймет тщетность задуманного и бросит.


Зачем писать еще один Немерле ?
"Живых" задач и так хватает, где вполне себе "ломятся" всякие там шарпы и прочий императив.

Это и задачи написания Броузера, где элементы ведут себя как "живые".
Это и задачи оптимизатор запросов
Это широкие задачи парсинга
Это задачи регекспов

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

PC_>Пардон, там с тегами напутал

PC_>вот часть верхнего сообщения

PC_>Ну пока нет синтаксических конструкций языка для определения операторов.

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

PC_>Но на уровне интерпретатора это делается за минут 5.

PC_>Регексп подредактировать, добавить энумерейшин айтем и еще один иф,
PC_>Соверрайдить функции в типах, которые могут работать с этой операцией.
PC_>(Последнее может занять больше времени, зависит от количества типов которые могут работать с этой операцией,
PC_>например + для строк определен как конкатенация, а для целых как суммирование и тд)
Да, это походу единственный путь для тех кто решил определить свой оператор.
Re[24]: Ультракороткий язык программирования RS
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 22.12.10 11:13
Оценка: +1 :))) :)))
Здравствуйте, Lloyd, Вы писали:

L>Выделеная строчка избыточна.


Зато она только что сработала
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Ультракороткий язык программирования RS
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 22.12.10 11:13
Оценка:
Здравствуйте, PC_2, Вы писали:

PC_>На Перле можно закодить шахматы, например, за 1 час студенческой не набитой рукой ?

PC_>А пузырек, пускай пример и примитивный, можно закодить и протестить за одну минуту ?

Что значит, закодить шахматы? Если брать генератор ходов, то все зависит от того, какой генератор ходов. Если брать 0x88, то на том же JavaScript это несколько часов работы. Если брать rotated bitboard или magic bitboard, то необходимо несколько часов въехать в алгоритм, написать за день, потом еще вылавливать жучков еще пару дней (+тесты). И там большую играет роль не лаконичность языка, а усиленная медитация. В случае magic bitobard если не брать готовые магические числа, то надо время их еще сгенерировать.
Re[2]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:14
Оценка: :)
Здравствуйте, Partisan, Вы писали:

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



PC_>>А закодить шахматы займет ну может 1 час.


P>Чего ж ты не закодировал за 1 час? Отвечаю сам за тебя: твой язык не годится для программирования.


А что годится для написания Шахмат за 1 час ?

P>Ты зафлудил своим RS форум sql.ru, ничего там не доказал и теперь хочешь охмурить тех, кто тебя ещё не знает.

P>Ну узнают, дальше что? Лучше займись чем-нибудь полезным.

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

Сидите обсуждайте там с Кирочкой и Ко как For в паскале реализовать, и эксклюзивные темы от модератора как прямоугольник от квадрата пронаследовать,
мне эта публика уже не интересна. Хотя и был десяток интересных собеседников, но без нормальных модеров тем там больше заводить не буду.

На sql по определению взлететь проект никакой не может, такова политика ресурса, хоть он и более популярен взлетевших проектов комьюнити не было, нет прецедентов
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[4]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:16
Оценка: :))
Здравствуйте, Mystic, Вы писали:

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


PC_>>На Перле можно закодить шахматы, например, за 1 час студенческой не набитой рукой ?

PC_>>А пузырек, пускай пример и примитивный, можно закодить и протестить за одну минуту ?

M>Что значит, закодить шахматы? Если брать генератор ходов, то все зависит от того, какой генератор ходов. Если брать 0x88, то на том же JavaScript это несколько часов работы. Если брать rotated bitboard или magic bitboard, то необходимо несколько часов въехать в алгоритм, написать за день, потом еще вылавливать жучков еще пару дней (+тесты). И там большую играет роль не лаконичность языка, а усиленная медитация. В случае magic bitobard если не брать готовые магические числа, то надо время их еще сгенерировать.


Путь от нескольких часов к часу ...

Следовательно за ночь предположительно таких игрушек можно будет написать штук пять ...
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[28]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 11:38
Оценка:
M>>

M>>Generate, //.. генерация чего? -> Массивов ясен перец, 1..5 не забыл ?


M>>Язык настолько ультрапонятен и просот, что одинаковая операция в нем то массив объявляет, то мутабельную переменную


PC_>Да нет же. ".." Это бинарная операция, которая определена для двух операндов, целых чисел. И генерит массив от одного числа до другого.

PC_>А присваивание массива к мутабельной переменной говорит о как бы о комбинаторике. По какому именно диапазону будет меняться эта переменная в выражении. Тоесть это не массив, это всего лишь переменная. А мутабл переменная может принимать в выражении много значений, всеравно что этот блок заключили в цикл с инкрементом этой переменной. Так понятно ?


нет



1..2  генерит массив от одного числа до другого

N := 1..2   все равно генерит массив от одного числа к другому

N.1 := 10   элемент с индексом 1 становится равным 10

N.I := 10   всем э\лементам массива присваивается 10

S *= N     ?????  Мы умножаем S на массив


Если оно выглядит, как массив, ведет себя, как массив, то это и есть массив


dmitriid.comGitHubLinkedIn
Re[28]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 11:40
Оценка:
PC_>>>>>E от слова Expression, начало выражения

M>>>>Нахрена?


PC_>>>За темже хреном что каждое сишное выражение заканчивается точкой с запятой. Я сделал круче, у меня начинается каждое выражение с E.

PC_>>>Начинаться может еще с G ( группа ) или с D ( декларация )
PC_>>>Таким образом при первом беглом взгляде на строчку сразу видно что это обьявлено. Группа, Выражение или Декларация, достаточно взглянуть на первый символ

M>>Так подавляющее большинство действий в программировании — это expression, е не нужен


PC_>Мамут не совсем языкостроитель, но скилы растут

PC_>Экспрешин нужно чтобы форматировать код нормально.

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


PC_>Например Си


PC_>
PC_>a = 1<2 &&
PC_>    A<b &&
    A>>C &&
PC_>    F<K;
PC_>


PC_>Точка с запятой нужна, это же не бейсик, и транслятор не знает где заканчивается выражение, он может это принять за

PC_>несколько выражений

PC_>a = 1<2 &&;

PC_> A<b &&;
A>>C &&;
PC_> F<K;


PC_>у меня


PC_>
PC_>E a = 1<2 &
PC_>    A<b &
    A>>C &
PC_>    F<K
PC_>




Открой для себя питон, например. Или Javascript (в котором точка с запятой, кстати, не нужна).

E не нужен


dmitriid.comGitHubLinkedIn
Re[16]: Ультракороткий язык программирования RS
От: _nn_ www.nemerleweb.com
Дата: 22.12.10 11:40
Оценка: +3
Здравствуйте, PC_2, Вы писали:

PC_>Господа, я не хочу противопостовлять РС Немерле, всетаки РС это экспериментальный а не такой серьезный язык как Немерле, да и до короля Макросов ему далеко. Предлагаю еще раз оставить тему Немерле, пускай себе живет наздоровье, а я буду добиваться 1 кбайтных шахмат с внятным и простым исходником.


Ну так я о том, что уже можно было бы сделать DSL на базе Nemerle, а с ним весь .Net Framework можно было бы использовать автоматически.
И вот вам ваша ультракороткость за приемлимое время реализации.

А так, кому нужен язык, который не сможет работать с внешним миром ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[29]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:42
Оценка:
Здравствуйте, Mamut, Вы писали:

M>>>

M>>>Generate, //.. генерация чего? -> Массивов ясен перец, 1..5 не забыл ?


M>>>Язык настолько ультрапонятен и просот, что одинаковая операция в нем то массив объявляет, то мутабельную переменную


PC_>>Да нет же. ".." Это бинарная операция, которая определена для двух операндов, целых чисел. И генерит массив от одного числа до другого.

PC_>>А присваивание массива к мутабельной переменной говорит о как бы о комбинаторике. По какому именно диапазону будет меняться эта переменная в выражении. Тоесть это не массив, это всего лишь переменная. А мутабл переменная может принимать в выражении много значений, всеравно что этот блок заключили в цикл с инкрементом этой переменной. Так понятно ?


M>нет



M>

M>1..2  генерит массив от одного числа до другого

M>N := 1..2   все равно генерит массив от одного числа к другому

M>N.1 := 10   элемент с индексом 1 становится равным 10

M>N.I := 10   всем э\лементам массива присваивается 10

M>S *= N     ?????  Мы умножаем S на массив

M>


M>Если оно выглядит, как массив, ведет себя, как массив, то это и есть массив


Все правильно.
Но в том моем примере было

так
M>

M>1..2  генерит массив от одного числа до другого

M>!N := 1..2   все равно генерит массив от одного числа к другому

M>N.1 := 10   элемент с индексом 1 становится равным 10

M>N.I := 10   всем э\лементам массива присваивается 10

M>S *= N     ?????  Мы умножаем S на массив

M>


Весь фокус в том что переменная обьявляется, когда неизвестному идентификатору ( имени ) присваивается первый раз значение.
Если это имя начинается с восклицательного знака, то это мутабл переменная. И ведет она себя как мутабл переменная а не массив в выражениях ниже
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[25]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 11:43
Оценка: +2
KV>>>
KV>>>def factorial(n, i = 1)
KV>>>{ 
KV>>>    | (0,_) 
KV>>>    | (1,_)              => i 
KV>>>    | _     when (n > 0) => factorial(n - 1, i * n)
KV>>>    | _     when (n < 0) => throw ArgumentException()
KV>>>    | _                  => throw LloydIsHereException("Задолбал уже")
KV>>>}
KV>>>


A>>А оно скомпилируется (в Немерле не силён)? Если да, то грустно.


A>>Я полагаю язык 21го века должен уметь отлавливать "unreachable statement" ситуации


PC_>Дауж, удивительное рядом.

PC_>Это кстате о излишних проверках, которые портят читаемость кода.

PC_>Кстате у меня этот код вполне работает

PC_>E 1..-1\*

Но результат не будет факториалом


dmitriid.comGitHubLinkedIn
Re[22]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 11:44
Оценка:
KV>>Мой вопрос был не о максимальной разрядности чисел. Спрошу четче: для итерирования последовательности из n элементов в приведенных примерах создаются массивы для хранения их индексов. Это — единственный способ организации итераций? Если нет, то можно увидеть, как будет выглядеть альтернативный способ?

PC_>Это уже детали подкапотной реализации Интерпретатора.


при чем тут интерпретатор?

PC_>Поверьте, можно ото сделать также оптимально как на Си.


не верим


dmitriid.comGitHubLinkedIn
Re[17]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:45
Оценка:
Здравствуйте, _nn_, Вы писали:

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


PC_>>Господа, я не хочу противопостовлять РС Немерле, всетаки РС это экспериментальный а не такой серьезный язык как Немерле, да и до короля Макросов ему далеко. Предлагаю еще раз оставить тему Немерле, пускай себе живет наздоровье, а я буду добиваться 1 кбайтных шахмат с внятным и простым исходником.


__>Ну так я о том, что уже можно было бы сделать DSL на базе Nemerle, а с ним весь .Net Framework можно было бы использовать автоматически.

__>И вот вам ваша ультракороткость за приемлимое время реализации.

__>А так, кому нужен язык, который не сможет работать с внешним миром ?


Ну так сделайте DSL.
Это всеравно что предлагать парню который кодит на TSQL говорить, ну зачем это все, напиши парочку DSL на Nemerle.
Да не получится, поскольку TSQL это несколько больше чем просто обычный язык. И макросами оптимизатор запросов тоже не разрулить.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[23]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:47
Оценка: :)
M>не верим

Не верь.
Кстате зачем мне чтото доказывать, вроде Шарп или другой какой современный язык такой же шустрый как Си ...

За абстракции и время программиста нужно платить ... иногда быстродействием.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[3]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 11:48
Оценка:
PC_>На sql по определению взлететь проект никакой не может, такова политика ресурса, хоть он и более популярен взлетевших проектов комьюнити не было, нет прецедентов


А здесь не взлетит, пка автор не начнет разбираться в языкостроении хотбы на половину так, как завсегдатаи форму "Философия программирования".


dmitriid.comGitHubLinkedIn
Re[17]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:49
Оценка: :)
__>Ну так я о том, что уже можно было бы сделать DSL на базе Nemerle, а с ним весь .Net Framework можно было бы использовать автоматически.

Я сначала прочитал, что на Nemerle можно было бы переписать .NET Framework.
Кстате идея не плохая, что скажете ?
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[4]: Ультракороткий язык программирования RS
От: PC_2 http://code.google.com/p/rsinterpretator/
Дата: 22.12.10 11:51
Оценка: :)
Здравствуйте, Mamut, Вы писали:

PC_>>На sql по определению взлететь проект никакой не может, такова политика ресурса, хоть он и более популярен взлетевших проектов комьюнити не было, нет прецедентов


M>А здесь не взлетит, пка автор не начнет разбираться в языкостроении хотбы на половину так, как завсегдатаи форму "Философия программирования".



Мамут, давайте столь смелые советы будут давать парни, у которых уже не один язык программирования за плечами,
а не те которые спрашивают зачем точка с запятой в конце строки. Пишите свой эзотерический парсер, или полулегальный жаваскрипт
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН
Re[30]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 11:52
Оценка:
M>>Если оно выглядит, как массив, ведет себя, как массив, то это и есть массив

PC_>Все правильно.

PC_>Но в том моем примере было

PC_>так

M>>

M>>1..2  генерит массив от одного числа до другого

M>>!N := 1..2   все равно генерит массив от одного числа к другому

M>>N.1 := 10   элемент с индексом 1 становится равным 10

M>>N.I := 10   всем э\лементам массива присваивается 10

M>>S *= N     ?????  Мы умножаем S на массив

M>>


PC_>Весь фокус в том что переменная обьявляется, когда неизвестному идентификатору ( имени ) присваивается первый раз значение.

PC_>Если это имя начинается с восклицательного знака, то это мутабл переменная. И ведет она себя как мутабл переменная а не массив в выражениях ниже

ВНЕЗАПНО! Появился еще один модификатор, которого до этого не было. Это некий символ ! который объявляет какие-то mutable переменные. Mutable у всех программистов означает "умеющий изменять значение".

E S:=1              присвоили значение
E !N:=1..1048576
E S*=N              той же переменной присвоили другое значение


ВНЕЗАПНО Sum является mutable переменной.


Итак, что имел автор в виду, когда ввел (без объяснения) некий модификатор "!"? (это, кстати, к вопросу об "ультрапонятности язвыка")

Да, все еще жду ответа на вопрос про счетчики тут: http://rsdn.ru/forum/philosophy/4088555.1.aspx
Автор: Mamut
Дата: 22.12.10


dmitriid.comGitHubLinkedIn
Re[5]: Ультракороткий язык программирования RS
От: Mamut Швеция http://dmitriid.com
Дата: 22.12.10 11:54
Оценка:
PC_>>>На sql по определению взлететь проект никакой не может, такова политика ресурса, хоть он и более популярен взлетевших проектов комьюнити не было, нет прецедентов

M>>А здесь не взлетит, пка автор не начнет разбираться в языкостроении хотбы на половину так, как завсегдатаи форму "Философия программирования".



PC_>Мамут, давайте столь смелые советы будут давать парни, у которых уже не один язык программирования за плечами,


Это — тот же VladD2, например. Но тебе же наплевать на его мнение?

PC_>а не те которые спрашивают зачем точка с запятой в конце строки.


Такого тут не спрашивают. Бросай курить то, что ты куришь


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.