Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.02.2011, 21:09
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 1  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию Lisp-интерпретатор на AS3 (чесно-чесно :))

Вашему вниманию предоствляется следующий тест-кейс: порт макроса из Лиспа (progn (), (), ...()) в AS3
Пример:

Код AS3:
package  
{
	import flash.display.Sprite;
	import tld.wvxvw.lasp.collect;
	import tld.wvxvw.lasp.Lasp;
	import tld.wvxvw.lasp.nth;
	import tld.wvxvw.lasp.progn;
	import tld.wvxvw.lasp.value;
 
	/**
	 * ...
	 * @author wvxvw
	 */
	public class TestProgn extends Sprite
	{
		public function TestProgn() 
		{
			super();
			this.testProgn();
		}
 
		private function testProgn():void
		{
			trace (value
				(nth (collect
					(progn (trace, "testing...", 123)
						(trace, "second round", 456)
						(trace, "third", 789)(isNaN, 100)
						(trace, /foo/g)), 4)));
		}
	}
}
Отредактировано для полноты эффекта ))
Последняя редакция. Остальные исходники можно посмотреть тут:
http://pastebin.com/kF5RazSV
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 05.02.2011 в 00:02.
Старый 05.02.2011, 02:28
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Не. Не катит. Хочу Фортран.
Тыща форматов вывода и обобществленные области данных (COMMON)
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 05.02.2011, 02:51
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Блин хотел бы порадоваться, но совсем не в теме)
До лиспа не дошёл ещё.. тем более до этого макроса.
Вижу, что с каким то конвеером связано.. можешь для совсем тупых разъяснить, что и куда? И главное, в чём прикол?
__________________
Отряд Котовскага

Старый 05.02.2011, 16:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Этот макрос просто позволяет последовательно выполнить несколько функций (то что вобщем-то делает в AS3 запятая). В Лиспе он часто нужен там, где нужно передать функцию, а нужно выполнить несколько функций, например в (if condition iftrue iffalse), вот iftrue / iffalse ожидают функцию, т.е. было бы: (if condition (progn (f1) (f2) ... (fN)) (progn (f1) (f2) ... (fN))). Ну а прикол в том, что синтаксис сохранен почти один в один (жаль, запятые в списках никак не побороть ).
А вообще, у меня есть мысль написать интерпретатор Лиспа для Флеша. Ну это так, мЯчты пока что, но задел какой-то уже есть... только времени совсем нету...
__________________
Hell is the possibility of sanity

Старый 05.02.2011, 20:45
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 5  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Lisp я изучу в ближайшие полгода на мало-мальский уровень, но инетрпретаторы это круто )
Немного не в тему, но почему именно Lisp?

Старый 05.02.2011, 21:28
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 6  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Lisp я изучу в ближайшие полгода на мало-мальский уровень, но инетрпретаторы это круто )
Немного не в тему, но почему именно Lisp?
Мне больше интересно зачем оно надо, пытаться из одного языка сделать другой? Если уж на то пошло, почему бы свой язык не сочинить...
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 05.02.2011, 21:35
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Это не попытки извращения, это как бы любовь.

Старый 05.02.2011, 22:14
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 8  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Это не попытки извращения, это как бы любовь.
Тогда присоединяюсь к вопросу
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 05.02.2011, 22:56
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ммм... наверное потому что это чем-то на игрушку Portal похоже. А еще потому что мне интересно метапрограмирование. А еще потому что мне просто очень тяжело дается bash / sh и им подобные, ну и не писать же какие-то утилиты нужные по работе на PHP... Python мне не нравистся изза форматирования и динамической типизации. Вобщем, и выбирать не из чего осталось
Да, еще такой момент: в этом языке, ну, по крайней мере пока что мне так кажется, всегда есть ответ на вопрос "зачем" и "почему". Т.е. язык построен на логике а не на предрассудках / исторически сложившихся обстоятельствах. Т.е нету каких-то недоразумений типа "А почему Number с прописной а int со строчной?".
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 05.02.2011 в 23:00.
Старый 05.02.2011, 23:04
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 10  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Да, еще такой момент: в этом языке, ну, по крайней мере пока что мне так кажется, всегда есть ответ на вопрос "зачем" и "почему". Т.е. язык построен на логике а не на предрассудках / исторически сложившихся обстоятельствах.
Речь про Lisp?


Ам... я если честно не понял часть про "утилитки по работе". Если нужен Lisp - нужно взять Lisp. Но тягу к таким глупостям, которые по сути не нужны, но очень забавные я одобряю

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.