Напишете вашата кола, подобна на шум

Имам хоби - програмиране на ниско ниво и като цяло се опитвам
овладейте повече техники за програмиране, за да имате избор какво да използвате
за конкретна задача

наскоро играе с Forth и машината за стека --
http://akps.ssau.ru/forth/os/vm/ и tc /

tc - компилатор от тип асемблер за машина за стекове, написана в
vm - тази машина, интерпретатор на байт кодове за DOS

от друга страна, отдавна се опитвам да вляза в ехотаг и функционален
програмиране - няма университетско обучение, така че се мушкам някак

Имам книга тук, курс в Интернет университет за FP L.V. Городня,
А. В. Шкред

тъй като бях свикнал да правя всичко отзад, възникна следният въпрос - как
напишете нещо като ехо (като клонинг на Lisp 0.0.1alpha McCarthy), не
използвайки го ?

е, да кажем, че драскаме най-простата машина Lisp в C (++) и използваме
използване на преводач-патерица (най-вероятно написано на Python) за писане за тази виртуална машина
отново програми, подобни на шепот

с други думи - вземете само основата от Lisp и след това играйте с
изграждане на собствена надстройка върху него

някой имал ли е лаборатории от този тип тук ?

Въпрос 2: по косвени индикации атомите в нормални ехо се представят като
низове и хеш таблици, за да се ускори работата с тях? и ако отидем до атоми в
формата на цели числа, в краен случай - байтове? естествено количеството
атомите става изключително малък и фундаментално фиксиран

(предайте съобщение (Здравейте, Дмитрий)
(Вие написахте: на * Всички *: в „Нед, 09 април 2006 15:04:22 +0600“)
(Казвам '(

DP> Имам хоби - програмиране на ниско ниво и въобще
DP> Опитвам се да усвоя повече методи за програмиране, така че
DP> избор на това какво да използвам за конкретна задача

Научете Моцарт, прочетете "Концепции, техники и модели на компютъра
Програмиране ";)

DP> тъй като съм свикнал да правя всичко отзад, ето въпроса --
DP> но как да напиша нещо като ехо (като клонинг на Lisp 0.0.1alpha
DP> McCarthy), без да го използвате ?

Уебсайтът на Питър Норвиг има проста реализация
Схема в Java.

В най-простия случай всички обекти (числа, символи, двойки, низове,
структури и др.) се съхраняват в купчината и се предават на функции и
само указатели към обекти се съхраняват в структури.

Създава се „интернирана“ таблица за читателя
знаци. По подразбиране, когато чете име на символ, функцията READ търси
символ с посоченото име и, ако бъде намерен, го връща
[указател]; в противен случай се създава нов символ и се поставя в таблицата.
По-нататъшната работа върви само с указатели: проверка на символи за

равенство (EQL) е тест за равенство на указатели и т.н. Между другото,
може да има няколко таблици със символи, а някои символи - не
въведете всяка таблица - това често се използва при създаване
временни променливи в компилаторите. В механизма за четене на Common Lisp
за да създадете невградени символи, използвайте макроса за четене "#:":

CL-USER> (нека ((s1 '#: sym)
(s2 '#: sym))
(нека ((s11 s1))
(списък (eq s1 s2) (eq s1 s11))))
(NIL T)

Ако "#:" бъде премахнат, и двата резултата ще бъдат T.

"Уви, сферите на истината са по-малко прозрачни от тези на
илюзия. "- L.E.J. Brouwer

"DP" == Дмитрий Понятов пише:
DP> тъй като свикнах да правя всичко отзад, възникна следният въпрос - как
DP> напишете нещо подобно на ехо (като клонинг на Lisp 0.0.1alpha McCarthy), а не
DP> използвайте го сами ?

Опитайте се да приложите SECD машина. Не може да бъде по-лесно:)

Вярно, вече съм забравил как се дешифрира, така че по-подробно
Не мога да кажа. Търсете в интернет. Точно в английската Уикипедия.

По пътя към грешното място.

Сряда, 12 април 2006 г. 18:43:18, Иван Болдирев [имейлът не съществува] написа:

DP >> тъй като съм свикнал да правя всичко отзад, това е въпросът, който възникна
DP >> - как да напиша нещо като ехо (като клонинг на Lisp
DP >> 0.0.1alpha McCarthy), без да го използвате ?

Id> Опитайте се да приложите SECD машината. Не може да бъде по-лесно:)

Id> Вярно, вече забравих как се дешифрира, така че по-подробно
Id> Не мога да кажа. Търсете в интернет. Точно в английската Уикипедия.

Основи на функционалното програмиране
Лорънс с Полсън
Компютърна лаборатория
Университет в Кеймбридж

Здравей Дмитрий,
"Дмитрий Понятов" написа:

DP>
DP> Имам хоби - програмиране на ниско ниво и въобще
DP> Опитвам се да усвоя повече методи за програмиране, така че
DP> избор на това какво да използвам за конкретна задача
DP>
DP> наскоро играе с Fort и машината за стека --
DP> http://akps.ssau.ru/forth/os/vm/ и tc /
DP>
DP> tc е компилатор от тип асемблер за написана машина за стекове
DP> на Forte vm - тази машина, интерпретатор на байт кодове за DOS
DP>
DP> от друга страна, отдавна се опитвам да вляза в ехотага и
DP> функционално програмиране - няма университетско обучение,
DP> ето защо някак се мушкам
DP>
DP> Тук имам книга за Интернет университетски курс по FP
DP> Л. В. Городняя, ​​А. В. Шкред
DP>
DP> тъй като съм свикнал да правя всичко отзад, тук възникна въпрос --
DP> и как да напишем нещо като ехо (като клона на Lisp 0.0.1alpha
DP> McCarthy), без да го използвате ?
DP>
DP> е, да кажем, че драскаме най-простата машина Lisp в C (++) и
DP> с помощта на патеричен преводач (най-вероятно написан на Python)
DP> отново напишете подобни на lisp програми за тази виртуална машина
DP>
DP> с други думи - вземете само основата от lisp и след това
DP> поиграйте се с изграждането на собствена надстройка върху нея
DP>
DP> има ли някой тук лаборатории от този тип ?

Според моя опит програмирането е на ниско ниво, а FP (в Lisp) е лошо
съжителстват. Или правиш едното, а другото си заслужава, или другото.

Сега има доста системи на Lisp, които могат да се използват от рафта
за решаване на почти всяка „конкретна задача“. Доверете се на човека, който не е
прекарах една година в писането на собствената си система Lisp - не губете време
в битове, байтове, регистри и друга суматоха на машина/мишка.