Паррот FAQ - Часто задаваемые вопросы
Паррот это новый интерпретатор, предназначенный для поддержки наступаюшего языка Перл 6. Он разрабытывается как автономная виртуальная машина, которая может испролнять байт-код компилируемых динамически языков, таких как Перл 6, но и также Перл 5. Идеально, паррот может поддерживать другие динамически компилируемые языки, такие как Питон, Руби и Tcl.
Имя ``Паррот'' связано с первоапрельской шуткой Simon Cozens April Fool's Joke в которой Larry Wall и Guido van Rossum объявили о слиянии языков Перл и Питона.
Тогда не было более тщательно обдуманной шутки чем эта, Simon потратил немного времени как инициативный разработчик Паррота.
Нет. Паррот является реализаций, которая, как предпологается, будет использоваться для выполнения программ Перла 6. Определение языка Перл 6 в настоящие время (Декабрь 2001 года) начато Ларри Волом. Пока что истинная природа Перла 6 по прежднему не известна, она будет в значительной степени симулировать Перл таким, каким мы знаем его сегодня, и будет нуждаться в runtime систему. Более полная информация на стадии определения языка Перл 6, когда закончит работу Larry apocolypses.
Ну, почти. :-)
Паррот находиться в ранний фазе реализации. Первоначальный способ использовать Паррот - это писать кода на асемблере Паррота, описанный в PDD6.
Вы можете также создавать динамическое содержание внутри Арача, используя модуль mod_parrot, написанный Ask Bjorn Hansen. Вы сильно знать, что mod_parrot сушествующий сегодня, не должен использоваться с любым производственным кодом.
Уйма причин, как не станно. :-)
Серьезно, все-таки, програмирование на языке асемблер Паррота интересный задача. Это также один из лучших путей для написания тестовых ситуаций для Паррота.
Это зависит от того, что мы подразумеваете под словом реальный. :-)
C.
Потому, что это лучшие, что мы получили.
Тоже верно. Так или иначе, но C доступен практически везде. Перл 5 написан на C, так что мы можем потенцианльно собрать любой кусок сброрки Перла 5.
Потому что:
Наиболее общими проблемами являются:
Эти условия очень жесткие для отбора (pass); в настоящий момент мы надеямся, что мы, вероятно, напишем все, кроме Unicode набивки.
Эти VM спроектированы для статических типов языков. Это прекрасно, так как Java, C#, и уйма других языков являются статически определенными. Перл не является таким. По многообразным причинам, считается, что Перл будет исполнняться более медлено там, чем на интерпритаторе, приспособленному для динамических языков.
Неприменно будем. Они в данный момент не являются нашей первоочередной задачей. Мы строем нашу собственный интерпритатор/виртуальную машитну, затем, когда она зарабротает мы возмемся за JVM и/или .NET прикладные части.
Хороший вопрос.
На перл конференции 4.0, летом 2000 года, Larry Wall announced заявил, что пора воскресить Перл из праха. Это подразумевает сам язык Перл, реализацию этого языка, сообщество разработчиков программного обеспечения с открытым кодом, которые добровольно снабжают и поддрерживают язык, и большое общество програмистов, которые используют Перл.
Многообразие причин привело к началу этого проекта:
system должна возвращать true вместо false
при успешном выполнении, и localtime должен возвращать год, а не число лет прошедщих после 1900 года.
Хорошо бы написать компилятор Перла в байт-код на Перле, а не на С.
Это сделало бы его более удобным для хакеров Перла, для трюков на Перле.
Конечно. Почему нет? C, Java, Lisp, Scheme, и практически камждый другой язык самоподемны. Почему нет?
Нет, в самом деле нет. Не забывайте, что мы можем использовать Перл 5, что бы выполнять программы Перла 5, такие как компилятор Перла 5 в Паррот.
Мы еще не знаем, так как это зависит от формулировки Перла 6. Но мы будем
использовать более подходящий из двух Перл компиляторов, в зависимости от того,
компилим ли мы Перл 5 или Перл 6. Ларри бурчал что-то о формулировке package,
объявляюшей, что файл содержил код Перла 6, но мы до сих пор не вполне уверены,
в чем это заключается.
Вероятно.
Нет, Паррот не достаточно извращен для Damian. Вероятно, когда Паррот портируют на диоды из суперкрутых инонов кальция, хотя...
Ты мог быть там.
Ничего особенного. А почему ты спрашиваешь?
Нет, я не знаю.
Это какие же? Я знаю только JVM.
Каких остальных? Это и все, если не считать Perl, Python, or Ruby.
Тогда верно. Но согласись,о них никогда не думешь как о VMs, правда? :-)
Cерьезно, мы уже исполняем с ускоряющей машинный код организацией лучшей, чем любой из них, и имея регистры как раз уменьшаем количество обрашений к стеку.
Компании Apple поставлет с 68K емуляторором все свои PowerPC-включающими версии of Mac OS.
Первоапрельская шутка: http://www.perl.com/pub/a/2001/04/01/parrot.htm
apocolypses: http://www.panix.com/~ziggy/
Клевые малыши: http://use.perl.org/~acme/journal
Ява байткод в Паррот байткод: http://archive.develooper.com/perl6-internals@perl.org/msg03864.html
http://www.perl.com/pub/a/2000/10/23/soto2000.html
Бать там: http://www.csse.monash.edu.au/~damian/papers/#Superpositions
Действительно.: http://developer.apple.com/techpubs/mac/PPCSoftware/PPCSoftware-13.html