Сколько стоит написать собственный интерпретатор Lisp?
От: dims12 http://www.relativity.ru
Дата: 24.03.07 07:28
Оценка:
Народ, не подскажете, сколько примерно может стоить по деньгам и занять времени написание собственного интерпретатора Lisp? Допустим, язык немного упрощён, достаточно только чтобы описывать базу знаний.

Спасибки.
Re: Сколько стоит написать собственный интерпретатор Lisp?
От: Quintanar Россия  
Дата: 24.03.07 11:49
Оценка:
Здравствуйте, dims12, Вы писали:

D>Народ, не подскажете, сколько примерно может стоить по деньгам и занять времени написание собственного интерпретатора Lisp? Допустим, язык немного упрощён, достаточно только чтобы описывать базу знаний.


Зачем? Есть как GNU так и FreeBSD лицензированные интерпретаторы Lisp и Scheme. Самому писать интерпретатор Лисп не советовал бы, это только в сказках Лисп простой язык, на самом деле, там огромное количество различных форм, половина из которых устарели в 80-х годах.
Re: Сколько стоит написать собственный интерпретатор Lisp?
От: BulatZiganshin  
Дата: 24.03.07 15:02
Оценка: 1 (1)
Здравствуйте, dims12, Вы писали:

D>Народ, не подскажете, сколько примерно может стоить по деньгам и занять времени написание собственного интерпретатора Lisp? Допустим, язык немного упрощён, достаточно только чтобы описывать базу знаний.


вам повезло! только сегодня и только у нас — в продаже новая замечательная книжка "Writing your own Scheme interpreter in 48 hours" [http://halogen.note.amherst.edu/~jdtang/scheme_in_48/scheme_in_48.tgz]

Пишется на хаскеле, одновременно с изучением обоих языков
Люди, я люблю вас! Будьте бдительны!!!
Re: Сколько стоит написать собственный интерпретатор Lisp?
От: dims12 http://www.relativity.ru
Дата: 24.03.07 16:16
Оценка:
Ну, собственно, нужен не весь Лисп, а Лисп-подобный язык для служебных целей.
Re[2]: Сколько стоит написать собственный интерпретатор Lisp
От: DerBober США  
Дата: 24.03.07 18:39
Оценка:
Здравствуйте, dims12, Вы писали:

D>Ну, собственно, нужен не весь Лисп, а Лисп-подобный язык для служебных целей.


Если так, то за недельку-две можно налобать. Если нет опыта написания интерпритаторов то чуть дольше.
Знакомый интерпритатор лиспа написал в старших классах физ-мат школы. Убогенький, весь поурезанный и с багами. Но некоторые программки в пару десяток строк нормально "съедает".
Re[3]: Сколько стоит написать собственный интерпретатор Lisp
От: dims12 http://www.relativity.ru
Дата: 24.03.07 19:24
Оценка:
Здравствуйте, DerBober, Вы писали:

DB>Если так, то за недельку-две можно налобать.


А по деньгам?
Re[4]: Сколько стоит написать собственный интерпретатор Lisp
От: evilhare  
Дата: 24.03.07 21:16
Оценка:
Здравствуйте, dims12, Вы писали:

D>Здравствуйте, DerBober, Вы писали:


DB>>Если так, то за недельку-две можно налобать.


D>А по деньгам?


Ну во сколько ты оцениваешь свою занятость на 1-2 недели, столько и проси
Re[5]: Сколько стоит написать собственный интерпретатор Lisp
От: dims12 http://www.relativity.ru
Дата: 25.03.07 01:38
Оценка:
Всё-таки мне кажется, это мало. Придётся разработать три вещи: спецификацию языка, анализатор (в том числе синтаксический разбор) и исполнительную систему (в том числе машину вывода). И все они вроде как нестандартные.
Re[6]: Сколько стоит написать собственный интерпретатор Lisp
От: DerBober США  
Дата: 25.03.07 13:12
Оценка:
Здравствуйте, dims12, Вы писали:

D>Всё-таки мне кажется, это мало. Придётся разработать три вещи: спецификацию языка, анализатор (в том числе синтаксический разбор) и исполнительную систему (в том числе машину вывода). И все они вроде как нестандартные.


2-3 недели при условии что язык понятен и специфицирован. Все остальное вполне стандартно и хорошо описано в литературе. Более того есть стандартные (POSIX) средства lex, yacc вполне переносимые под любую распространенную систему.
Re[7]: Сколько стоит написать собственный интерпретатор Lisp
От: dims12 http://www.relativity.ru
Дата: 25.03.07 14:52
Оценка:
Здравствуйте, DerBober, Вы писали:

DB>2-3 недели при условии что язык понятен и специфицирован. Все остальное вполне стандартно и хорошо описано в литературе. Более того есть стандартные (POSIX) средства lex, yacc вполне переносимые под любую распространенную систему.


Придумать и специфицировать язык -- это тоже часть работы. А что, для написания мащин вывода тоже есть стандартные стредства? И потом, писаться будет на Джаве.
Re[8]: Сколько стоит написать собственный интерпретатор Lisp
От: DerBober США  
Дата: 25.03.07 16:17
Оценка:
Здравствуйте, dims12, Вы писали:

DB>>2-3 недели при условии что язык понятен и специфицирован. Все остальное вполне стандартно и хорошо описано в литературе. Более того есть стандартные (POSIX) средства lex, yacc вполне переносимые под любую распространенную систему.


D>Придумать и специфицировать язык -- это тоже часть работы. А что, для написания мащин вывода тоже есть стандартные стредства? И потом, писаться будет на Джаве.


Сколько времени уйдет на спецификацию сказать очень сложно. Сильно зависит от задач. Не советовал бы отдавать задачу по спецификации языка "налево".
У меня обычно необходимость в создании мини-языков возникала в результате вполне конкретной необходимости. В результате требования довольно быстро выкристализовывались. У вас похоже другая история.
На машины стандартов конечно нет.
Компиляторы компиляторов для джавы наверно тоже существуют. Вот первая ссылка из гугла http://david.tribble.com/yaccm.html
Re[2]: Сколько стоит написать собственный интерпретатор Lisp
От: _Obelisk_ Россия http://www.ibm.com
Дата: 26.03.07 04:40
Оценка:
Здравствуйте, dims12, Вы писали:

D>Ну, собственно, нужен не весь Лисп, а Лисп-подобный язык для служебных целей.


Зачем плодить велосипеды. Лучше воткнуть какой-нибудь существующий скриптовый язык. Хоть тот же Python.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re: Сколько стоит написать собственный интерпретатор Lisp?
От: denaturat  
Дата: 26.03.07 06:12
Оценка:
Здравствуйте, dims12, Вы писали:

D>Народ, не подскажете, сколько примерно может стоить по деньгам и занять времени написание собственного интерпретатора Lisp? Допустим, язык немного упрощён, достаточно только чтобы описывать базу знаний.


D>Спасибки.


Ровно столько, сколько стоит закачка SDK для NET1.1 — там есть в примерах интерпретатор лиспа.
Re[8]: Сколько стоит написать собственный интерпретатор Lisp
От: LM_S  
Дата: 26.03.07 14:31
Оценка:
Здравствуйте, dims12, Вы писали:

D>Придумать и специфицировать язык -- это тоже часть работы. А что, для написания мащин вывода тоже есть стандартные стредства? И потом, писаться будет на Джаве.


По большому счету это не очень хорошая мысль создавать свой язык, но уж если делать нечего, то есть
JavaCC, yacc (для жавы уже забыл как называеется).
Учти что все это надо разрабытывать, тестироать и все переписывать
Лучше не изобреттать велики.
Кстати хаскел или камл здесь рулят, сам писал интерпретатор лиспа на камле, вроде он что-то делал.
Re: Сколько стоит написать собственный интерпретатор Lisp?
От: raydac Эстония http://www.igormaznitsa.com
Дата: 26.03.07 14:55
Оценка: +1
D>Народ, не подскажете, сколько примерно может стоить по деньгам и занять времени написание собственного интерпретатора Lisp? Допустим, язык немного упрощён, достаточно только чтобы описывать базу знаний.

Имхо. Если Вы знаете предметную область знаний, то выгоднее не подстраиваться под Лисп, а написать ЯПЗ имеющий наименьший семантический разрыв с областью знаний, иначе Вам придется потом подстраиваться под язык, а не предметную область и всё сведется к подгонкам.
https://github.com/raydac
Re[2]: Сколько стоит написать собственный интерпретатор Lisp
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 26.03.07 16:06
Оценка:
Здравствуйте, dims12, Вы писали:

D>Ну, собственно, нужен не весь Лисп, а Лисп-подобный язык для служебных целей.


Вообще в первой книжке которую я читал по Lisp имено упрощеный интепретатор лиспа и написали в качестве кода на котором изучали язык.
Там кода строк 300 помоему получается. Наверное тебе к нему еще придется библиотечку написать, но вообщем это не супер сложная задача.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
Re: Сколько стоит написать собственный интерпретатор Lisp?
От: DenisY Россия  
Дата: 26.03.07 18:41
Оценка:
Вот эта статья
Pico Lisp: A Radical Approach to Application Development (комментарии на LTU)
описывает "урезанный, но практичный" лисп. (3 базовых типа данных, dynamic scoping).
Код прилагается, можно использовать для оценки. (Сам не пользовал)

А если срочно надо, то вот
(define (eval exp env)
  (cond ((self-evaluating? exp) exp)
        ((variable? exp) (lookup-variable-value exp env))
        ((quoted? exp) (text-of-quotation exp))
        ((assignment? exp) (eval-assignment exp env))
        ((definition? exp) (eval-definition exp env))
        ((if? exp) (eval-if exp env))
        ((lambda? exp)
         (make-procedure (lambda-parameters exp)
                         (lambda-body exp)
                         env))
        ((begin? exp) 
         (eval-sequence (begin-actions exp) env))
        ((cond? exp) (eval (cond->if exp) env))
        ((application? exp)
         (apply (eval (operator exp) env)
                (list-of-values (operands exp) env)))
        (else
         (error "Unknown expression type -- EVAL" exp))))


(детали здесь)
Re[3]: Сколько стоит написать собственный интерпретатор Lisp
От: Quintanar Россия  
Дата: 26.03.07 19:51
Оценка:
Здравствуйте, Anatolix, Вы писали:

A>Вообще в первой книжке которую я читал по Lisp имено упрощеный интепретатор лиспа и написали в качестве кода на котором изучали язык.

A>Там кода строк 300 помоему получается. Наверное тебе к нему еще придется библиотечку написать, но вообщем это не супер сложная задача.

Блин, народ, хватит уже шапкозакидательских настроений. Тоже мне новость — на Лиспе написали Лисп, это любой дурак напишет. Все уже есть нахаляву — типы данных, замыкания, специальные формы, сборщик мусора, да вообще все. Исходный вопрос-то ставится так, что Лисп придется писать на чем-то типа С/C++, а это совсем другая задача. И это если забыть о том, что Лисп из примера невероятно примитивен. А сколько-нибудь функциональный диалект намного сложнее.
Re: Сколько стоит написать собственный интерпретатор Lisp?
От: ettcat США  
Дата: 28.03.07 20:07
Оценка:
http://www.modeemi.fi/~chery/lisp500/

Lisp500 is a 500-line implementation of an informally specified dialect of Lisp. It attempts to be not too bug-ridden. Unfortunately, it is 500 lines of C, not Fortran.

Re[3]: Сколько стоит написать собственный интерпретатор Lisp
От: DerBober США  
Дата: 28.03.07 20:23
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

D>>Ну, собственно, нужен не весь Лисп, а Лисп-подобный язык для служебных целей.


_O_>Зачем плодить велосипеды. Лучше воткнуть какой-нибудь существующий скриптовый язык. Хоть тот же Python.


Наверно язык должен быть заточен под задачу.
Ахх... раз уж пошла такая пьянка то можно еще на lua посмотреть. Шикарная весч: нормальный набор стандартных типов, библиотеки, 200Кб исходники интерпритатора, MIT лицензия, легко встраивается в Си код. При желении и в яву (или че там у вас?) втолкаете.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.