А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 06:56
Оценка:
А вот где бы посмотреть на простые (простые — это не окамл с хаскеллом, пожалуйста) скриптовые языки со
статической типизацией? Т.е. что бы тип всех переменных выводится в компайл-тайме. Нужен источник вдохновения.

Что-то все, какие (из простых) знаю навскидку — с динамической типизацией: tcl, js, lua, ...

Интересно, можно ли сделать легковесную (простую в реализации) статическую систему типов.

Делать динамическую типизацию очень сильно не хочется, т.к. крайняя простота компилятора
оборачивается усложнением vm и разрастанием кода и memory footprint — так как информация
о типах и рантайм полиморфизм, в общем, обходятся дороговато.
beep дизайн языков
Re: А вот скриптовые языки со статической типизацией?
От: Cyberax Марс  
Дата: 16.01.09 06:58
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>А вот где бы посмотреть на простые (простые — это не окамл с хаскеллом, пожалуйста) скриптовые языки со

dmz>статической типизацией? Т.е. что бы тип всех переменных выводится в компайл-тайме. Нужен источник вдохновения.
См.: Boo (http://boo.codehaus.org/).
Sapienti sat!
Re: А вот скриптовые языки со статической типизацией?
От: z00n  
Дата: 16.01.09 07:36
Оценка:
Здравствуйте, dmz, Вы писали:


dmz>А вот где бы посмотреть на простые (простые — это не окамл с хаскеллом, пожалуйста) скриптовые языки со

dmz>статической типизацией? Т.е. что бы тип всех переменных выводится в компайл-тайме. Нужен источник вдохновения.

Haxe
Cat

Можно заодно(с Haxe) NekoML посмотреть — но он не сильно проще Caml light. Или http://www.ccs.neu.edu/home/samth/typed-scheme/
Re: А вот скриптовые языки со статической типизацией?
От: z00n  
Дата: 16.01.09 07:37
Оценка: 9 (2)
Здравствуйте, dmz, Вы писали:

TAPL!
http://www.cis.upenn.edu/~bcpierce/tapl/
Re[2]: А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 08:34
Оценка:
Z>TAPL!
Z>http://www.cis.upenn.edu/~bcpierce/tapl/

Заказал, но систему типов придется реализовать до того, как она приедет с амазона
Re: А вот скриптовые языки со статической типизацией?
От: mkizub Литва http://symade.tigris.org
Дата: 16.01.09 09:40
Оценка: +1
Здравствуйте, dmz, Вы писали:

dmz>А вот где бы посмотреть на простые (простые — это не окамл с хаскеллом, пожалуйста) скриптовые языки со

dmz>статической типизацией? Т.е. что бы тип всех переменных выводится в компайл-тайме. Нужен источник вдохновения.

Basic.

dmz>Что-то все, какие (из простых) знаю навскидку — с динамической типизацией: tcl, js, lua, ...


Это, простите, интерпретаторы. А тебе компилятор нужен.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[2]: А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 09:45
Оценка:
dmz>>А вот где бы посмотреть на простые (простые — это не окамл с хаскеллом, пожалуйста) скриптовые языки со
dmz>>статической типизацией? Т.е. что бы тип всех переменных выводится в компайл-тайме. Нужен источник вдохновения.

M>Basic.


Я так думаю, для изучения его исходники малопригодны.

dmz>>Что-то все, какие (из простых) знаю навскидку — с динамической типизацией: tcl, js, lua, ...


M>Это, простите, интерпретаторы. А тебе компилятор нужен.


lua компилируется.
Re[2]: А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 09:50
Оценка:
Cat

Попробую пофтыкать, но что-то мне казалось, что это вообще интерпретатор.

Z>Можно заодно(с Haxe) NekoML посмотреть — но он не сильно проще Caml light. Или http://www.ccs.neu.edu/home/samth/typed-scheme/


Кстати, у меня оно даже валяется, но что-то казалось, что там динамическая типизация. Посмотрел в исходники — и правда статическая.
Re[3]: А вот скриптовые языки со статической типизацией?
От: kmmbvnr Россия http://kmmbvnr.livejournal.com
Дата: 16.01.09 10:36
Оценка: 32 (3)
Здравствуйте, dmz, Вы писали:

Z>>TAPL!

Z>>http://www.cis.upenn.edu/~bcpierce/tapl/

dmz>Заказал, но систему типов придется реализовать до того, как она приедет с амазона


доступен перевод предисловия и первых пятнадцати глав (из тридцати двух)
-- Главное про деструктор копирования не забыть --
Re[3]: А вот скриптовые языки со статической типизацией?
От: Курилка Россия http://kirya.narod.ru/
Дата: 16.01.09 10:47
Оценка: 7 (2)
Здравствуйте, dmz, Вы писали:


Z>>TAPL!

Z>>http://www.cis.upenn.edu/~bcpierce/tapl/

dmz>Заказал, но систему типов придется реализовать до того, как она приедет с амазона


Юра Бронников и сотоварищи переводят это дело на русский, вот сайт.
Re[3]: А вот скриптовые языки со статической типизацией?
От: jagon  
Дата: 16.01.09 14:09
Оценка:
Здравствуйте, dmz, Вы писали:

dmz>>>Что-то все, какие (из простых) знаю навскидку — с динамической типизацией: tcl, js, lua, ...


M>>Это, простите, интерпретаторы. А тебе компилятор нужен.


dmz>lua компилируется.


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

А с какой целью вообще возникла такая потребность, дизайн языка разрабатываете или хотите отдельные вопросы реализации прояснить ?
Re[4]: А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 17:55
Оценка:
J>А с какой целью вообще возникла такая потребность, дизайн языка разрабатываете или хотите отдельные вопросы реализации прояснить ?
Язык есть, надо типизацию прикрутить. Статическую, к сожалению.
Re[5]: А вот скриптовые языки со статической типизацией?
От: mkizub Литва http://symade.tigris.org
Дата: 16.01.09 18:15
Оценка:
Здравствуйте, dmz, Вы писали:

J>>А с какой целью вообще возникла такая потребность, дизайн языка разрабатываете или хотите отдельные вопросы реализации прояснить ?

dmz>Язык есть, надо типизацию прикрутить. Статическую, к сожалению.

Так прикручивай.
Не бывает типизации "вообще".
Она зависит от твоего языка. Если в нём нет структур, наследования, полиморфизма, параметризации типов и пр. — только фиксированный набор типов — это один случай. Если есть структуры — другой. Если есть наследование — третий. Если функции как first class объекты — четвёртый. И так далее.
И в зависимости от твоего языка — тебе и надо искать примеры реализации.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[6]: А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 18:28
Оценка:
M>Так прикручивай.
Есть мнение, что надо сначала подумать, потом делать. Хотя бы пару дней подумать. Я пока не понимаю, как работает вывод типов, который меня, в общем, устраивает для задачи, вероятно рано или поздно пойму.

M>И в зависимости от твоего языка — тебе и надо искать примеры реализации.

Вот именно этим я и занимаюсь.
Re[7]: А вот скриптовые языки со статической типизацией?
От: mkizub Литва http://symade.tigris.org
Дата: 16.01.09 18:41
Оценка:
Здравствуйте, dmz, Вы писали:

M>>Так прикручивай.

dmz>Есть мнение, что надо сначала подумать, потом делать. Хотя бы пару дней подумать. Я пока не понимаю, как работает вывод типов, который меня, в общем, устраивает для задачи, вероятно рано или поздно пойму.

То есть ты ещё не знаешь, какая тебе нужна типизация.

M>>И в зависимости от твоего языка — тебе и надо искать примеры реализации.

dmz>Вот именно этим я и занимаюсь.

А уже ищешь реализации.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[8]: А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 19:15
Оценка:
M>То есть ты ещё не знаешь, какая тебе нужна типизация.
Боюсь, что знаю. Вообще, тут линк на умный книжка публиковали, если что.

И короче, этот топик не обсуждение моей скромной персоны. Линки, которых сюда бросили — очень помогли, тот же Neko.
Я к тому, что места для флейма тут нет.
Re[7]: А вот скриптовые языки со статической типизацией?
От: deniok Россия  
Дата: 16.01.09 19:36
Оценка:
Здравствуйте, dmz, Вы писали:


M>>Так прикручивай.

dmz>Есть мнение, что надо сначала подумать, потом делать. Хотя бы пару дней подумать. Я пока не понимаю, как работает вывод типов, который меня, в общем, устраивает для задачи, вероятно рано или поздно пойму.

Полный вывод типов работает для довольно узких классов систем типов (и языков). Выше дали ссылку на Пирса, 22 глава, Type Reconstruction, как раз описывает самый знаменитый алгоритм вывода типов, Хиндли-Милнера. Правда это как раз и есть то, что используют и Хаскелл, и ML
Re[8]: А вот скриптовые языки со статической типизацией?
От: dmz Россия  
Дата: 16.01.09 19:43
Оценка:
D>Правда это как раз и есть то, что используют и Хаскелл, и ML
Боюсь, что так.
Re[9]: А вот скриптовые языки со статической типизацией?
От: deniok Россия  
Дата: 16.01.09 19:54
Оценка: +1
Здравствуйте, dmz, Вы писали:


D>>Правда это как раз и есть то, что используют и Хаскелл, и ML

dmz>Боюсь, что так.

Беда (или счастье, это как посмотреть) в том, что полиморфизм — абсолютно естественная вещь:
function id ( x )
{
    return x;
}

(язык условный). Эта функция полиморфна истинным (параметрическим) полиморфизмом. Тип x — под квантором всеобщности, если хочется вывода типов, никуда не деться.
Re: А вот скриптовые языки со статической типизацией?
От: MasterZiv СССР  
Дата: 16.01.09 20:01
Оценка:
dmz пишет:

> А вот где бы посмотреть на *простые* (простые — это не окамл с

> хаскеллом, пожалуйста) скриптовые языки со
> статической типизацией? Т.е. что бы тип всех переменных выводится в

Гы, Java !
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.