LINUX.ORG.RU

Парадокс LISP'а


0

0

Доброе время суток

В продолжение обсуждения такой казус. Цитата с википедии : "...строгая типизация подразумевает выполнение следующих обязательных условий: 1) каждое значение, переменная, параметр и возвращаемое значение функции на этапе проектирования программы безусловно привязывается к определённому типу данных, который не может быть изменён во время выполнения программы (т. н. статическая типизация)..."

то есть в соответствии с этим определеним (если оно, конечно, верно), строго типизированный язык обязан быть статически типизированным

как при этом LISP может быть строго, но динамически типизированным ? где ошибка ?

★★★★★

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

stassats ★★★★
()
Ответ на: комментарий от stassats

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

ясно, спасибо

jtootf ★★★★★
() автор топика

Lisp типобезопасный ( http://en.wikipedia.org/wiki/Type_safety ), но динамически типизированный. Как правило, под строгой типизацией понимают либо типобезопасность, либо типобезопасность+статику. А русскую википедию давно пора в мусор.

Miguel ★★★★★
()
Ответ на: комментарий от stassats

Действительно, внятного определения строгой типизации, пожалуй, не существует. Могу лишь дать определение из книги Себесты: "Строго типизированный язык - язык, в котором всегда обнаруживаются ошибки типов."

parser ★★
()

Common Lisp по умолчанию использует динамическую типизацию.

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

execve
()

Вопрос из зала к топикстартеру: скажите, а вы уже чувствуете небывалый духовный рост и ментальное превосходство над недоязычками из дурнопахнущей кучи с пометкой ОП?

anonymous
()
Ответ на: комментарий от anonymous

> Вопрос из зала к топикстартеру: скажите, а вы уже чувствуете небывалый духовный рост и ментальное превосходство над недоязычками из дурнопахнущей кучи с пометкой ОП?

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

asgard
()
Ответ на: комментарий от asgard

скоро будет сессия, и мы лешимся тролей на 1.5 года, а после жестокой армии (ибо сократили срок службы) они, кажется мне, не будут сюда бред писать.

catap ★★★★★
()

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

catap ★★★★★
()
Ответ на: комментарий от catap

Сеесия закончится только в следующем году. А по сему, троллей призовут только весной и уже на один год.

parser ★★
()
Ответ на: комментарий от catap

Есть вдуматься, strong/weak буквально означают "сильная"/"слабая" [типизация]. Прилагательное "сильная" уже не должно вызывать те же ассоциации, что связаны со "строгой" :)

tche
()
Ответ на: комментарий от asgard

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

Во-первых - гИпер, мой юный друк, а во-вторых, ты, наивненькое, тупенькое быдло (тм) своим скудным умишком (тм) просто не способен осознать глубину и филосовскую суть вопроса.

anonymous
()
Ответ на: комментарий от anonymous

> Во-первых - гИпер

верно, ошибся.

> ты, наивненькое, тупенькое быдло (тм) своим скудным умишком (тм) просто не способен осознать глубину и филосовскую суть вопроса.

что ж, уважаемый anonymous(tm), может быть поясните филосовскую глубину поставленного вами вопроса(провоцирующего, нужно заметить, информационно бесполезный троллинг)

asgard
()
Ответ на: комментарий от stassats

Так кроме этой злосчастной типизации, в IT есть ещё куча нечётко определённых понятий. Взять хотя бы ООП :) Вроде бы все понимают, о чём речь, и даже есть какие-то нормативные документы -- но существует куча альтернативных трактовок. Это повод объявить ООП полной ерундой? (/me отдаёт себе отчет в провокационной сущности вопроса :)

tche
()
Ответ на: комментарий от tche

> Это повод объявить ООП полной ерундой?

Ну можно и объявить, кто нам мешает?

stassats ★★★★
()
Ответ на: комментарий от anonymous

>Вопрос из зала к топикстартеру: скажите, а вы уже чувствуете небывалый духовный рост и ментальное превосходство над недоязычками из дурнопахнущей кучи с пометкой ОП?

ответ в зал : я продолжаю активно писать на C++ и Tcl/Tk, и по прежнему считаю и один и второй более чем достойными ЯП. а желание научиться чему-то новому, мне кажется, вполне естественно; надеюсь, и Вы когда-нибудь это поймёте. удачи...

jtootf ★★★★★
() автор топика
Ответ на: комментарий от jtootf

>желание научиться чему-то новому

так вперёд, get things done! просто по вашим постам складывается немного другое впечатление. ах, оставим этот разговор. ничего личного :) просто накипело немного, это ничего.

anonymous
()
Ответ на: комментарий от stassats

Нет.

Вот сравните Perl с Ruby. Оба динамически типизованы. Это значит, что тип переменной не известен до выполнения (статическая - наоборот). Только вот первый - не строго, а второй строго типизован. В Perl ВООБЩЕ нет разницы между числом и строкой. Абсолютно. Есть "скаляр", и нету способа узнать, что у тебя там - число или не число. Это _в принципе_ одно и тоже, единая сущность. А в Ruby тип есть. Т.е. переменная перла - горшок с кашей, в которую сыпешь что ни поподя, а в руби - фантик, в который заворачиваешь конкретные конфетки.

P.S.:
$ ruby
>x=5
>puts x.type
Fixnum

xTERM ★★
()

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

>как при этом LISP может быть строго, но динамически типизированным ? где ошибка ?

Там написан бред. Не бери в голову.

xTERM ★★
()
Ответ на: комментарий от Sphinx

Довольно спорная статья. Всех идиотами автор назвать сумел, но что-то я не заметил особо конструктивных предложений, как называть вещи именами. Особенно порадовало «aleph-0», ну давайте теперь называть grep'ы, shell'ы и pipe'ы буквам греческого или еврейского алфавитов. Авось понятнее и логичнее будет.

stassats ★★★★
()
Ответ на: комментарий от stassats

Я видел еще где-то жесткая статическая типизация и не жесткая, помойму в районе O'Caml и его полиморфизма

catap ★★★★★
()
Ответ на: комментарий от xTERM

в википедии вообще мало адекватной информации, это скорее нак вектор для поиска.

Да и пытаться все свести в какие-то таблички, это не путь того, кто ищет.

catap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.