А кто записался бы в добровольцы?...
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.09 05:33
Оценка: +1
Если бы вдруг открылась запись в добровольцы на проект Nemerle2 или сокращенно "N", то кто бы подписался участвовать в нем?

Задачи:
1. Переосмыслить фичи Немерле. Оставить только те что не вызывают серьезных конфликтов с другими фичами языка или Интеграции.
2. Переписать компилятор Немерле с нуля учитывая требования накладываемые интеграцией, производительности компилятора, модульности, легкой поддержки и т.п.
3. Написать Интеграцию языка со студией.
4. При всем при этом не наделать ошибок сделанных поляками.

Проект, по моим рассчетам где-то на 4 человекогода (при фул-тайм разработке).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: А кто записался бы в добровольцы?...
От: yumi  
Дата: 05.02.09 07:38
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Задачи:

VD>1. Переосмыслить фичи Немерле. Оставить только те что не вызывают серьезных конфликтов с другими фичами языка или Интеграции.
VD>2. Переписать компилятор Немерле с нуля учитывая требования накладываемые интеграцией, производительности компилятора, модульности, легкой поддержки и т.п.
VD>3. Написать Интеграцию языка со студией.
VD>4. При всем при этом не наделать ошибок сделанных поляками.

Я бы с удовольствием поучавствовал бы в пунктах 1 и 2. Интеграция меня не особо интересует. Давно у меня зреет сумасшедшая идея, создать нечто вроде Nemerle light, облегченную версию, грубо говоря убрав все то, чего я все равно никогда не использую. Правда, опять же проблема со временем, которого никогда не хватает ни на что... Ближайшие пару месяцев я никак не смогу принять участие, возможно после я подтянусь. Но обязательно хотелось бы поучавствовать в таком проекте.
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re: А кто записался бы в добровольцы?...
От: jartur Россия http://jartur.l-square.net;
Дата: 05.02.09 08:09
Оценка: +1 :)
offtopic rant follows:
Одного прошу, переименуйте его, а? Хотел попробовать его, но не могу я пользоваться ЯП с таким названием.
Может, так и назовете, N?
蝸牛そろそろ登れ富士の山
Re: А кто записался бы в добровольцы?...
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 05.02.09 09:32
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Если бы вдруг открылась запись в добровольцы на проект Nemerle2 или сокращенно "N", то кто бы подписался участвовать в нем?


VD>Задачи:

VD>1. Переосмыслить фичи Немерле. Оставить только те что не вызывают серьезных конфликтов с другими фичами языка или Интеграции.
VD>2. Переписать компилятор Немерле с нуля учитывая требования накладываемые интеграцией, производительности компилятора, модульности, легкой поддержки и т.п.
VD>3. Написать Интеграцию языка со студией.
VD>4. При всем при этом не наделать ошибок сделанных поляками.

VD>Проект, по моим рассчетам где-то на 4 человекогода (при фул-тайм разработке).



Я бы поучаствовал, но а) не знаю Nemerle и б)фуллтайм для меня нереально

PS. Назовите язык N#
Re: А кто записался бы в добровольцы?...
От: Qbit86 Кипр
Дата: 05.02.09 10:04
Оценка: +1
G>Я бы поучаствовал, но а) не знаю Nemerle и б)фуллтайм для меня нереально

Раз пошла такая пьянка, я тоже могу вписаться, с теми же оговорками, что и у gandjustas'а. Плюс ещё один момент, можно ли будет использовать свой кусочек проекта как тему дипломной работы? ;)

G>PS. Назовите язык N# ;)


Не катит, аллюзия с музыкальной нотацией пропадает (нет такой ноты N, тем более N#).

У меня к названию языка претензий нет, только к логотипу
Автор: Qbit86
Дата: 17.12.08
:)
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: А кто записался бы в добровольцы?...
От: VoidEx  
Дата: 05.02.09 12:02
Оценка:
Здравствуйте, jartur, Вы писали:

J>Одного прошу, переименуйте его, а? Хотел попробовать его, но не могу я пользоваться ЯП с таким названием.


А чем тебе не нравится название?
И какие названия тебе нравятся?
Re: А кто записался бы в добровольцы?...
От: Achill Россия  
Дата: 05.02.09 13:28
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>1. Переосмыслить фичи Немерле. Оставить только те что не вызывают серьезных конфликтов с другими фичами языка или Интеграции.

VD>2. Переписать компилятор Немерле с нуля учитывая требования накладываемые интеграцией, производительности компилятора, модульности, легкой поддержки и т.п.
VD>3. Написать Интеграцию языка со студией.
VD>4. При всем при этом не наделать ошибок сделанных поляками.

Если будет переписываться с нуля, то я бы подписался.
... << RSDN@Home 1.2.0 alpha 4 rev. 1096>>
.
Re[2]: А кто записался бы в добровольцы?...
От: Mr.Cat  
Дата: 05.02.09 17:39
Оценка:
Здравствуйте, gandjustas, Вы писали:
G>Я бы поучаствовал, но а) не знаю Nemerle и б)фуллтайм для меня нереально
Аналогично.

G>PS. Назовите язык N#

Так скоро алфавит закончится. В ход пойдут греческие буквы.
Re[3]: А кто записался бы в добровольцы?...
От: Mr.Cat  
Дата: 05.02.09 17:43
Оценка: :))
Здравствуйте, Mr.Cat, Вы писали:
MC>Так скоро алфавит закончится. В ход пойдут греческие буквы.

Кстати, хорошая идея:
Νεμερλε
Re: А кто записался бы в добровольцы?...
От: kitsunekko  
Дата: 05.02.09 18:05
Оценка:
Текущая ситуация: авторы немерль дропнули и теперь его судьба зависит от RSDN?
А если еще и Влад дропнет? Кранты?

"4 человекогода при фул-тайм" это сколько при частичной? Если поделить на 1 человека, я столько не проживу.

Мне в немерле куча фич нафиг не нужны, а некоторые достают, так что идею поддерживаю, даже если отказаться от совместимости с немерлевыми библиотеками/макросами и придется рефакторить программы с каждой версией языка.
Только, имхо, ничего не сдвинется, пока Влад и Ко не разберут по косточкам текущий компилятор (идеально бы припахать поляков) и распишут что и как должен делать каждый кусок. Чтобы даже чернорабочий кодер вроде меня не плодил детских архитектурных ошибок, а взял в зубы ТЗ и не мог ничего завалить не нарушая его.
У меня крайне смутные представления о написании компиляторов, вам такие надо?

Bootstrap-самоцель? Т.е. будем писать в том, что наваяли, или пока на немерле? Хотелось бы второе.

То, что очень хочется, но нет в немерле.
1. public override ToString():string {x} на фоне {_+_} воспринимается как издевательство. Компилер мог бы выводить много чего, кроме типа переменных. Например при вызове fun1(enum1.v1) можно пропустить enum1. если тип параметра известен. И монстрячить лес классов на C# лишь немногим сложней немерля,надо упростить синтаксис
Пример: "| ИмяКласса" внутри класса Х -> "public class ИмяКласса : X" -> варианты — частный случай
2. 100% ковариантность обобщений в любых случаях. Компилер должен приводить тип к базовому как угодно, хоть через рефлексию, но не прикидываться шарпом. Лучше сразу ориентироваться только на CLR 4.
3. Добавление, переименование и замена свойств, конструкторов, вложенных классов, статических членов, переименование и сокрытие членов при наследовании, добавка интерфейсов (сейчас есть только расширения методов).
Пример: x=null; x.ToString() -> "null"
4. Прикрутить Parallel FX. Мне производительность до лампочки, а вот полное отсутствие потокобезопасности в CLR убивает.

Полный вишлист 10 страниц мелким шрифтом займет, заземлюсь.
Такое впечалнение, что забиваю гвозди микроскопом, пытаясь городить классы в функциональном языке. Когда маленькая замкнутая лямбда решает проблему.

Есть еще дикая идея: edit-time macros, т.е. код пользовательской сборки, который может выполнятся IDE (и доступны ее потроха и редактируемый проект)
Пример: класс может обьявить дизайнер самого себя (как дизайнер WinForm и т.п.) — навороченный редактор DSL с подсветкой синтаксиса, редактор графов для визуализации состояний, рендерилку кода как в Fortress или вообще заменить "стандартный редактор" для проекта. Рефакторинг (в стандартных IDE все не предусмотришь), редактирование БД вместе с биндингом, сборка инсталлятора и заливка на сервер. Или просто кастомный IntelliSense и отображение свернутых кусков кода.
И желательно, чтобы API макросов был абстрагирован от VS, т.е. содержал лишь "обобщенное окно редактора", "доступный для редактирования кусок кода" (типа #region Designer Generated) и т.п.
Конечно, написание и отладка редакторов еще сложней, чем макросов компилятора, но зато можно сделать "языково-ориентированный" и "визуальный" язык.
Насколько это сложно, в простейшем варианте?

Может стоит сообщить про "проект Nemerle2" англоязычным, вдруг кто еще откликнется?

Да, N# звучит куда приличней для конкурента F. Надо застолбить, пока алфавит не кончился, а то пропадет.
Re[2]: А кто записался бы в добровольцы?...
От: Константин Л.  
Дата: 05.02.09 18:29
Оценка:
Здравствуйте, kitsunekko, Вы писали:

[]

K>Bootstrap-самоцель? Т.е. будем писать в том, что наваяли, или пока на немерле? Хотелось бы второе.


А что с ним не так?

K>То, что очень хочется, но нет в немерле.

K>1. public override ToString():string {x} на фоне {_+_} воспринимается как издевательство. Компилер мог бы выводить много чего, кроме типа переменных. Например при вызове fun1(enum1.v1) можно пропустить enum1. если тип параметра известен. И монстрячить лес классов на C# лишь немногим сложней немерля,надо упростить синтаксис
K>Пример: "| ИмяКласса" внутри класса Х -> "public class ИмяКласса : X" -> варианты — частный случай

Вот этого не надо, спасибо.

K>2. 100% ковариантность обобщений в любых случаях. Компилер должен приводить тип к базовому как угодно, хоть через рефлексию, но не прикидываться шарпом. Лучше сразу ориентироваться только на CLR 4.

K>3. Добавление, переименование и замена свойств, конструкторов, вложенных классов, статических членов, переименование и сокрытие членов при наследовании, добавка интерфейсов (сейчас есть только расширения методов).
K>Пример: x=null; x.ToString() -> "null"

Прости, может я не настолько продвинут, но можно все что выше еще раз, но по-русски?

K>Полный вишлист 10 страниц мелким шрифтом займет, заземлюсь.


гм. может тебе это, на другой язык уйти?

K>Такое впечалнение, что забиваю гвозди микроскопом, пытаясь городить классы в функциональном языке. Когда маленькая замкнутая лямбда решает проблему.


[]

А что тебе хочется выкинуть из языка? Мне пока только определенности с макрами не хватает.
Re[3]: А кто записался бы в добровольцы?...
От: kitsunekko  
Дата: 05.02.09 18:59
Оценка:
K>>Bootstrap-самоцель? Т.е. будем писать в том, что наваяли, или пока на немерле? Хотелось бы второе.
КЛ>А что с ним не так?

Просто, пока "оно" не станет лучше немерля нет смысла на него переходить. А когда оно сможет нормально скомпилить свои исходники (это ж компилер немерля, верно?) и нестрашно глючить, тогда полномасштабно перейти.

K>>Пример: "| ИмяКласса" внутри класса Х -> "public class ИмяКласса : X" -> варианты — частный случай

КЛ>Вот этого не надо, спасибо.

Я ж для примера только, что надо глобально упростить синтаксис, а не добавлять локальные примочки.

КЛ>Прости, может я не настолько продвинут, но можно все что выше еще раз, но по-русски?

x[T] -> x[object] ковариантность (или это контра-? неважно)
http://en.wikipedia.org/wiki/Extension_method
В C# 4.0 еще и свойства расширяемые. в Лиспе вроде все, что угодно.

КЛ>гм. может тебе это, на другой язык уйти?

Оный вишлист в других нереализуем

КЛ>А что тебе хочется выкинуть из языка? Мне пока только определенности с макрами не хватает.


Мне ничего не хочется выкинуть, а просто не нравится, как реализованы отдельные куски языка, особенно содранная с C# часть синтаксиса — целиком и полностью. Может из-за макросов так сделали, не знаю.
Re[4]: А кто записался бы в добровольцы?...
От: Константин Л.  
Дата: 05.02.09 19:07
Оценка:
Здравствуйте, kitsunekko, Вы писали:

K>>>Bootstrap-самоцель? Т.е. будем писать в том, что наваяли, или пока на немерле? Хотелось бы второе.

КЛ>>А что с ним не так?

K>Просто, пока "оно" не станет лучше немерля нет смысла на него переходить. А когда оно сможет нормально скомпилить свои исходники (это ж компилер немерля, верно?) и нестрашно глючить, тогда полномасштабно перейти.


Я не улавливаю мысль. Сейчас с бутстраппингом все нормально. Что с ним не так?

K>>>Пример: "| ИмяКласса" внутри класса Х -> "public class ИмяКласса : X" -> варианты — частный случай

КЛ>>Вот этого не надо, спасибо.

K>Я ж для примера только, что надо глобально упростить синтаксис, а не добавлять локальные примочки.


Расшифруй, все равно не догоняю. Что не так с синтаксисом вариантов?

КЛ>>Прости, может я не настолько продвинут, но можно все что выше еще раз, но по-русски?

K>x[T] -> x[object] ковариантность (или это контра-? неважно)

вроде ко-

K>http://en.wikipedia.org/wiki/Extension_method

K>В C# 4.0 еще и свойства расширяемые. в Лиспе вроде все, что угодно.

ну, это мелочи

КЛ>>гм. может тебе это, на другой язык уйти?

K>Оный вишлист в других нереализуем

почему же?

КЛ>>А что тебе хочется выкинуть из языка? Мне пока только определенности с макрами не хватает.


K>Мне ничего не хочется выкинуть, а просто не нравится, как реализованы отдельные куски языка, особенно содранная с C# часть синтаксиса — целиком и полностью. Может из-за макросов так сделали, не знаю.


какая именно?
Re: А кто записался бы в добровольцы?...
От: GYurix  
Дата: 05.02.09 19:07
Оценка:
Здравствуйте, VladD2, Вы писали:

Я бы тоже с удовольствием поучаствовал, но с фултаймом никак — работа,
смог бы выделять на проект часов 15-20 в неделю.
Re: А кто записался бы в добровольцы?...
От: Константин Л.  
Дата: 05.02.09 19:08
Оценка: +2 :)
Здравствуйте, VladD2, Вы писали:

[]

За деньги я бы и фултайм поработал
Re[2]: А кто записался бы в добровольцы?...
От: Ka3a4oK  
Дата: 05.02.09 19:26
Оценка:
Здравствуйте, jartur, Вы писали:

J>offtopic rant follows:

J>Одного прошу, переименуйте его, а? Хотел попробовать его, но не могу я пользоваться ЯП с таким названием.
J>Может, так и назовете, N?

Согласен, я всегда чувствую неловкость пред коллегами, произнося название этого замечательного языка вслух.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re: А кто записался бы в добровольцы?...
От: Ka3a4oK  
Дата: 05.02.09 19:31
Оценка:
Совсем дикая идея: может денег попросить? Грант какой-нибудь, или у государства — типа инновационный проект и все такое. Назвать язык Nano, например, лол. Проект-то стоящий, не про%бизнес какой-нибудь.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[3]: А кто записался бы в добровольцы?...
От: Kabuto Россия  
Дата: 05.02.09 19:38
Оценка:
Здравствуйте, Ka3a4oK, Вы писали:

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


J>>offtopic rant follows:

J>>Одного прошу, переименуйте его, а? Хотел попробовать его, но не могу я пользоваться ЯП с таким названием.
J>>Может, так и назовете, N?

KK>Согласен, я всегда чувствую неловкость пред коллегами, произнося название этого замечательного языка вслух.


А что с названием-то не так? Мне кажется абсолютно нормальным.
Re[3]: А кто записался бы в добровольцы?...
От: Qbit86 Кипр
Дата: 05.02.09 20:04
Оценка: :)
Здравствуйте, Ka3a4oK, Вы писали:

KK>Согласен, я всегда чувствую неловкость пред коллегами, произнося название этого замечательного языка вслух.


Что ещё за комплексы? Это пусть коллеги неловкость чувствуют.
Глаза у меня добрые, но рубашка — смирительная!
Re[5]: А кто записался бы в добровольцы?...
От: kitsunekko  
Дата: 05.02.09 20:40
Оценка:
КЛ>Я не улавливаю мысль. Сейчас с бутстраппингом все нормально. Что с ним не так?

Т_Т
Ну что может быть "не так" с бутстрапом рабочего компилера?
Но вы же вроде НОВЫЙ копилер пишете! Того же языка (ну почти).
Если делать сразу бутстрап (т.е. повторять путь немерлистов), то нельзя использовать фичи языка, еще не реализованные (например нельзя использовать макросы в коде реализации макросов, они просто не скомпилятся, а потом опять по новой переписывать с макросами).
Вообще, мне казалось, что это очевидные ламерские рассуждения, а тут "не улавливаю мысль"

КЛ>Расшифруй, все равно не догоняю. Что не так с синтаксисом вариантов?

С ним все ОК, все идеально! Но я не могу использовать такой же синтаксис в произвольном классе (ну да, макрос пиши), только в вариантах.

КЛ>ну, это мелочи

На этих мелочах основан LINQ, и такие "мелочи" кумулятивно уменьшают код.

K>>Оный вишлист в других нереализуем

КЛ>почему же?
Ты же его не видел. и набивать 10 страниц в лом.

КЛ>какая именно?

Ну например "нелегальное положение" отступов, изобильная скобчатость, необходимость специфицировать все на свете, кроме типов, и то не всегда (нет, я не любитель уток). Еще необходимость приводить тип при любых потенциальных потерях. Точнее, нет директивы "приводи все нафиг, я в своем уме". Жесткая структура файла (например, нельзя using System.Console внутри класса или метода, namespace без скобок). Дальше еще длинный список.

Нет, я не жалуюсь, я сожру все, что дадут.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.