metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-08-27 10:52 am

Вот

Оставлю ссылку себе, там маньяки опять языки и парадигмы обсуждают:

Клеить к сишной библиотеке ерланг через окамл - это хорошая идея. Со мной есть только одна проблема - меня практически не берет трава (такая вот особенность биохимии) а более тяжелые я как-то так и не собрался попробовать.

Вообще, это все по ссылке [livejournal.com profile] dmzlj насчет "универсальный язык - это язык на котором можно написать его собственный рунтайм". Интуитивно это очень хорошая идея(проверено практикой), но как это описать формально теоретически я что-то пока не понял.

[identity profile] swizard.livejournal.com 2009-08-27 11:07 am (UTC)(link)
> Тут есть непонятный момент. LISP можно написать на самом себе, но все равно внизу будет лежать некий базовый движок написанный на чем-то другом.

Я не очень понял эту фразу. Если компилятор лиспа (например, sbcl) генерирует сразу машинный код, то зачем ему какой-то "базовый движок"?

Или имеется в виду, что в образе приложения обычно идет и сам компилятор? Но это ведь исключительно для соответствия стандарту. Если в программе всякие eval (и вообще какое-то динамическое построение кода) не используются, то компилятор можно из образа вынести (что коммерческие компиляторы делать умеют). В таком случае, программа на лиспе, скомпилированная компилятором лиспа ничем не будет отличаться от программы на си, скомпилированной gcc.

[identity profile] metaclass.livejournal.com 2009-08-27 11:16 am (UTC)(link)
Если компилятор написан на самом лиспе то тогда все идеально.

[identity profile] swizard.livejournal.com 2009-08-27 11:36 am (UTC)(link)
Дак он и написан на самом себе, и при компиляции для бутстрапа бинарник его же и нужен.

Или имеется в виду, допустим, откуда взялся "самый первый" sbcl? Полагаю, он был написан на сях :) Но так ведь и компилятор gcc тоже, наверняка, когда-то был acceмблером.

[identity profile] thedeemon.livejournal.com 2009-08-27 06:18 pm (UTC)(link)
Идеально? Тогда я бы хотел узнать как будет написан сборщик мусора на языке, которому самому нужен сборщик мусора. GC - как раз важная часть рантайма.