Регистрация | Войти
Lisp — программируемый язык программирования
RSS
небольшая работка
den73 - 19.07.2012 12:50, Сообщений - 57
Доброго времени суток!

Есть небольшая работка. Имеется лексический анализатор языка 1С 7.7, к-рый косвенно
базируется на http://www.cliki.net/meta, а также
принтер, способный собрать текст обратно из лексем.
Нужно на этой основе реализовать средство средство инструментирования, которое вставляет
в код вызовы, содержащие указание
номера строки и данные о входе/выходе из ф-й. Также
средство должно уметь удалять все такие вызовы.



Процедура Проц(парам1  // это парам1
                         ,парам2 // тра-ля-ля
                       
)

   //ого, какая крутая процедура!  
   если парам1=0 тогда  //ща сделаем что-то
        возврат;
   иначе
        парам2=парам2/парам1;
   конецПроцедуры

на выходе должно быть:
Процедура Проц(парам1  // это парам1
                         ,парам2 // тра-ля-ля
                       
)

   сВход(385,"Проц","имяТекущегоФайлаИсходногоТекста"); //ого, какая крутая процедура!  
   с(386); если парам1=0 тогда  //ща сделаем что-то
        сВыход(387,"Проц"); возврат;
   иначе
        с(389); парам2=парам2/парам1;
   сВыход(390,"Проц"); конецПроцедуры


Видимо, для этого понадобится реализовать парсер. Дальнейшие подробности - почтой.
Цена вопроса - 6 тыр, срок - 4 дня. Поскольку используется множество замороченных библиотек,
могу выслать vmware, где всё уже настроено.

Страницы: 12
[#]
контакт: (concatenate 'string (reverse "s30revres") '(#\@) (reverse "liam") '(#\. #\r) "u")
den73 - 19.07.2012 12:59
[#] Ответ на комментарий от den73 19.07.2012 12:59
И ещё одна работка есть - имеется сборщик хранимых процедур firebird, порядок процедур устанавливается вручную. Зависимости данной процедуры известны (есть функция, к-рая их возвращает). Некоторые процедуры прописаны в неправильном порядке. Нужно создать версию сборщика, к-рая пройдёт по исходникам, соберёт все зависимости и сообщит обо всех аномалиях.
Фактически работа состоит в том, чтобы разобраться в том, как это устроено, внести небольшие изменения и немного поработать с деревьями. 2 тыр, срок исполнения - неделя. Детали - по почте.
den73 - 19.07.2012 15:21
[#] Ответ на комментарий от den73 19.07.2012 15:21
И ещё одна работка с тем же сборщиком - анализ правильности запросов в момент компиляции с помощью prepare. Задача сложная, т.к. при данном состоянии кода текст запроса зачастую становится известен только в момент исполнения. Нужно переработать генератор кода и сделать вариант генератора, при котором код генерируется так, чтобы можно было сдлать ему prepare и проверить. 6 тыр.

И ещё работка - задокументировать и "делокализовать"
http://code.google.com/p/def-symbol-readmacro/ - 10 тыр

Короче, есть некоторый пакет взаимосвязанных работ, думаю, интересно для начинающего изучать лисп
в качестве стажировки.
den73 - 20.07.2012 13:41
[#] Ответ на комментарий от den73 20.07.2012 13:41
Ещё работка - у нас формируется файл html. Надо добавить генерацию заголовка. 100 рублей.
И ещё. Есть куча кода, к-рый грузится под Lispworks 4.4. Перевести на Lispworks 6.0. 3 тыр.
den73 - 20.07.2012 19:10
[#] Ответ на комментарий от den73 20.07.2012 19:10
Ещё одна работка. В readtable заменена читалка открывающей скобки, поэтому рекурсивном read
мы знаем координаты всех открывающих скобок. Также известно текущее положение потока.

Нужно: 1. задекорировать достаточное количество функций, чтобы вся информация о положениях в потоке,
могущих иметь отношение к ошибке чтения, была собрана в одном месте (вероятно, придётся задекорировать read,
незнаю, насколько это реально).
2. написать на CAPI наноприложение, которое позволяет выделить любое из этих мест в буфере исходного файла.

1 тыр в случае успеха, 500р утешительного приза в случае неудачи.

И ещё одна: по нажатию F1, чтобы открывалась справка в мануалах, если она есть. При отсутствии мануалов, но наличии
исходника - чтобы происходил перескок на исходник. По отдельности эти возможности уже реализованы (но придётся
вооружиться disassemble), а вот вместе они не реализованы - 500р.

Или, как вариант, сделать, чтобы в странице выбора информации из мануала добавлялись следующие гиперссылки:
1. "открыть" исходник (в лиспе должен быть запущен веб-сервер, щёлкаем - идёт запрос на 127.0.0.1, в результате
чего исходник открывается в редакторе)
2. cltl2
3. просто текст - docstring.

3 тыр + предоставляю заготовки и список полезных функций.

так, наверное, если исполнитель найдётся, то я уже банкрот.
den73 - 20.07.2012 20:09
[#] Ответ на комментарий от den73 20.07.2012 20:09
К предыдущему заданию добавка, ещё одна гиперссылка - на определение пакета этой ф-ии. А если соответствует несколько определений (например,
родовая ф-я и методы к ней), то пачка гиперссылок. И плюс ещё 1 тыр.
den73 - 20.07.2012 20:27
[#] Ответ на комментарий от den73 20.07.2012 20:27
Советую еще сюда закинуть

lisp.ru
bach74 - 20.07.2012 21:53
[#] Ответ на комментарий от bach74 20.07.2012 21:53
спасибо,сделано. Кстати, не упомянул, что работа дистанционная.
den73 - 22.07.2012 00:41
[#] Ответ на комментарий от den73 22.07.2012 00:41
В общем, работку сам уже делаю...
den73 - 31.07.2012 12:00
[#] Ответ на комментарий от den73 31.07.2012 12:00
Работку сделал, но ещё не всю (всю никогда не сделаю).
Поскольку все аутсорсеры нас покинули, поиск сотрудников продолжается.
Актуальные задачи на сегодня:
- улучшить сборщик серверной части на Firebird, он стал слишком сложным в обращении. Задача описана выше, о деньгах можно говорить.
- попробовать подключить библиотеку работы с Firebird, о которой тут писали. Деньги обсуждаемы.
den73 - 07.10.2012 02:25
[#] Ответ на комментарий от den73 07.10.2012 02:25
Снова в поиске, и зарплата всё выше и выше...

http://www.sql.ru/forum/actualthread.aspx?tid=990694

Что у нас есть из интересных лисповых технологий?
- интеграция с SQL:
--макроподстановки в SQL-запросах, которые позволяют сокращать объём SQL кода
на десятки процентов, а в отдельных случаях и в разы, с одновременным облегчением процесса поддержки
--хранение всех исходников серверной части в системе контроля версий;
--навигация по исходникам SQL (можно за одно нажатие найти исходник объекта, хранимого в лиспе)
--удобный (почти уникальный) синтаксис для вызова SQL из лиспа без всяких трансляций:
(fse * from mytable;
   )
- "крышечный" синтаксис для разных типов данных, в т.ч. структур и property-list-ов

(let ((s "string")) s^UPCASE)


(let ((list '(a b c d)))
  (with-proplist-carat list
     list^a
     ))

- в данный момент всё более интенсивно используется сервер приложений на лиспе, который
позволяет использовать в бизнес-логике все вкусности лиспа. Этот сервер может вызываться
из Delphi и из 1С, может делать обратные вызовы интерпретатора Pascal, встроенного в клиент, например

(PCallbackBE
  msgbox2('hello,world');
  ^)

Приложение примерно на 25% внедрено, на 70% протестировано и на 90% написано.
Нужно:
- доделать приложение
- поддерживать всё это
- документировать
- поскольку технологий слишком много, нужно упрощать и выбрасывать худшие технологии, оставляя лучшие

Общий объем кода на лиспе на данный момент - около 2мб.

Но в целом мы пишем программу автоматизации торговли и складского учёта, и в ней
есть и другие компоненты - Delphi и Firebird и ими тоже надо заниматься.

Нужно немного лиспового фанатизма. На нашей программе будет работать (и уже отчасти работает)
довольно крупное предприятие, один человек не может это поддерживать, т.к. он может
заболеть или уйти в отпуск. Не считая этого, моих сил вполне хватает, поэтому нельзя сказать,
что работа вообще будет тяжёлой. Но на первом этапе - будет.

Если есть кто-то, кто хочет добавить такой success story в копилку лиспа, то
ещё не поздно это сделать.

Если ещё полгода я никого не найду себе в напарники, я не знаю ,что делать. Видимо, придётся
закрывать этот проект, т.к. по лиспу трудно найти не только работу, но и специалистов.
И тогда добавится ещё один fail story про лисп.

К сожалению, только для граждан России
den73 - 14.12.2012 22:00
[#] Ответ на комментарий от den73 14.12.2012 22:00
Если бы не требование "полная занятость", я бы пошёл, но с основной работы уйти не могу (но обеспечить в рабочее время себе компьютер+интернет+телефон могу без проблем).
Monk - 15.12.2012 10:59
[#] Ответ на комментарий от den73 14.12.2012 22:00
Зарплата не большая, что бы на полный день работать...
atamaan - 15.12.2012 11:36
[#] Ответ на комментарий от atamaan 15.12.2012 11:36
> Зарплата не большая, что бы на полный день работать...

Для удаленной работы нормальная. Не все в Москве живут.
Monk - 15.12.2012 11:47
[#] Ответ на комментарий от Monk 15.12.2012 11:47
Не важно удаленная работа или нет. Важно затрачиваемое время на нее...
Люди, которые смогут с этим работать, уже работают и получают на порядок больше. И кто хотел и мог, тот переехал либо в москву либо еще куда. И за такие копейки врядли кто даже из фанатизма найдется.

З.Ы. Сугубо мое личное мнение... Но все равно успехов в этом проекте))
atamaan - 15.12.2012 16:24
[#] Ответ на комментарий от atamaan 15.12.2012 16:24
> Люди, которые смогут с этим работать, уже работают и получают на порядок больше.
Более чем странное заявление.
У нас в регионе средняя ЗП официально ~24800 руб/мес.
Тут предлагается ЗП 50-60к, на порядок больше будет уже 500-600к/мес или ~6-7млн в год.
Такую (белую) ЗП у нас на 500к населения получает (декларирует) порядка 500 чел.
И это не программисты ;)

Мне этот проект интересен.
dmitrys99 - 15.12.2012 17:16
[#] Ответ на комментарий от atamaan 15.12.2012 16:24
Я вот не из Москвы (Нижний Новгород). Для нашей "сельской местности" деньги адекватные деньги.
А вот профиль работ радует гораздо меньше - документирование, поддержка, доделки... Этим лисперов врятли купишь:).
dmitry.sopin - 15.12.2012 17:16
[#] Ответ на комментарий от dmitry.sopin 15.12.2012 17:16
до 70 тыр.
den73 - 18.12.2012 14:06
[#] Ответ на комментарий от den73 18.12.2012 14:06
на мой взгляд, зарплата для начинающего/студента неплохая.
michael.filonenko - 18.12.2012 16:04
[#] Ответ на комментарий от den73 18.12.2012 14:06
Еще актуально?
somequestions - 15.02.2013 18:12
[#] Ответ на комментарий от somequestions 15.02.2013 18:12

- офис в г.Королёв

- испытательный срок 2 месяца, зарплата на исп.срок 70 тыр, по результатам исп.срока 80-100тыр

- задачи - разработка и поддержка приложений на Delphi/Firebird/Common Lisp (Common Lisp знать не обязательно, поможем в обучении)

- полная занятость 5x8 + во время отпуска напарника присутствие на связи с 8 до 22

- гибкий график, по договорённости возможность часть времени работать на дому

- мы - торговый дом при крупном издательстве, занимаемся торговлей книгами

- опыт работы с SQL (предпочтительно, Firebird) - от 2 лет

- опыт работы в Borland Delphi или C++ Builder - от 2 лет

- желателен опыт работы с Common Lisp, Python, Ruby и т.п.

- желателен опыт разработки в торговле, складском или бухгалтерском учёте

- гражданство России

- хорошая обучаемость

- готовность разбираться в большом объёме кода и писать документацию

den73 - 15.02.2013 21:56
[#] Ответ на комментарий от den73 15.02.2013 21:56
пункт 3 - не подходит.
Если будет предложение удаленной работы - готов обсудить.
Хотя мой опыт дельфями - уже наверное неактуален - давно было это. Сейчас только 1С и визуальный басик.
somequestions - 16.02.2013 01:11
[#] Ответ на комментарий от somequestions 16.02.2013 01:11
Удалённой больше, скорее всего, не будет. Если хорошо знаете SQL - это может компенсировать незнание Delphi.
den73 - 16.02.2013 01:53
[#] Ответ на комментарий от den73 16.02.2013 01:53
Готов обсудить. linkfly1(соб)newmail.ru
LinkFly - 17.02.2013 01:35
[#] Ответ на комментарий от LinkFly 17.02.2013 01:35
написал на этот адрес
den73 - 17.02.2013 11:36
[#] Ответ на комментарий от den73 17.02.2013 11:36
Нету письма...
LinkFly - 18.02.2013 01:59
[#] Ответ на комментарий от LinkFly 18.02.2013 01:59
адрес скопипастил из форума. Может, дадите другой адрес, или пишите сами на
(map 'string 'code-char '(98 117 100 121 97 107 68 86 64 114 105 112 111 108 46 114 117))

Имеет смысл поспешить, т.к. уже нашли хорошего человека и он прошёл первый круг собеседования.
den73 - 18.02.2013 21:22
[#] Ответ на комментарий от den73 18.02.2013 21:22
(соб) надо заменить на @
Очевидно же...
LinkFly - 18.02.2013 23:42
[#] Ответ на комментарий от LinkFly 18.02.2013 23:42
Написал.
LinkFly - 18.02.2013 23:55
[#] Ответ на комментарий от LinkFly 18.02.2013 23:55
> Очевидно же...
Хорошее начало диалога... А думаете, я не заменил?

Не знаю, в чём дело с этим письмом, письмо на правильный адрес у меня в исходящих как раз с того адреса, на к-рый Вы сейчас написали.
Может быть, по какой-то причине не доходит.
На всякий случай отправил ещё с (115 101 114 118 101 114 48 51 115 64 109 97 105 108 46 114 117)
den73 - 19.02.2013 02:01
[#] Ответ на комментарий от den73 19.02.2013 02:01
Да чёрт его знает, в жизни ещё и не такое встречается:)))
Сорри, конечно, если задел)
Ну ладно, списались и хорошо.
LinkFly - 20.02.2013 05:04
[#] Ответ на комментарий от LinkFly 20.02.2013 05:04
Продолжая сотрудничество с LinkFly в режиме полуставки, всё же ищем человека на полную занятость.
Подробности - здесь:
http://www.sql.ru/forum/1005012/razrabotchik-delphi-firebird-80-90-tyr-chistymi
А также выше в теме.
den73 - 30.10.2013 16:06
[#] Ответ на комментарий от den73 30.10.2013 16:06
завёл новую вакансию, т.к. заголовок старый плохо отражал суть:
http://www.sql.ru/forum/1056907/razrabotchik-podderzhka-delphi-firebird-lisp-korolyov-mytishhi-80-100-tyr-chistymi
den73 - 03.11.2013 16:34
[#]
Не читая, сразу спрошу: кто работал по этим предложениям? Какие условия? Сколько заплатили?
shamaz.mazum - 12.11.2013 18:59
[#] Ответ на комментарий от shamaz.mazum 12.11.2013 18:59
Не читай, не читай. Вот закрою лисповую тему, как ловесан - будете знать. Вы пожалеете, но будет поздно :)
den73 - 21.11.2013 18:14
[#] Ответ на комментарий от den73 21.11.2013 18:14
Вакансия актуальна, вот тут: существует аж в двух редакциях:
http://www.sql.ru/forum/1063283/trebuetsya-programmist-podderzhka-mytishhi-korolyov-60-110tyr-chistymi-20-premii
и
http://www.sql.ru/forum/1060345-2/razrabotchik-podderzhka-delphi-firebird-lisp-korolyov-mytishhi-90-110-tyr-chistymi-premii

Прошло несколько собеседований - ни одного лиспера.
den73 - 05.12.2013 18:55
[#] Ответ на комментарий от den73 05.12.2013 18:55
Вынашиваю следующий коварный план: реализация языка а-ля object pascal или бейсик на лиспворксе. На данный
момент имеется работающий транслятор из бейсик-подобного языка, не
доделана библиотека времени выполнения, нужно допиливать объектную систему и писать много тестов.
Работа довольно грязная и занудная, но может быть интересна начинающему.

Результат нужен в течение где-то месяца.

Другой проект - биндинги компонент Дельфи к лиспворксу. Имеется код-образец для одной конкретной библиотеки,
имеется брошенный много лет назад пафосный проект биндингов между лиспом и С++ билдером, сделанный с помощью
SWIG. Сейчас нужно сделать аналогичное, но с помощью более простого генератора биндингов прямо из Дельфи с помощью
PascalScript.  Это более сложно и интересно, результат нужен в течение где-нибудь месяцев четырёх.

Есть вариант поработать за экспириенс или за деньги. Сроки завершения - два месяца.

Обсудить можно здесь, или пишите по адресу, указанному в начале.
den73 - 08.12.2013 23:57
[#] Ответ на комментарий от den73 08.12.2013 23:57
Ещё работка за экспириенс (точнее, за подарок)
Хых. Сам сделал.

Теперь у меня в лиспворксе нельзя стереть подсказку листенера. Такая возможность вообще-то приводит к довольно уродливым
последствиям и пугает новичков.

Хотя не знаю, может ещё какие баги всплывут...

Хотя блин рабочего времени жаль - три часа потратил или около того.
den73 - 09.12.2013 18:03
[#] Ответ на комментарий от den73 08.12.2013 23:57
> не доделана библиотека времени выполнения, нужно допиливать объектную систему и писать много тестов.

Как бы транслятор синтаксиса бейсика в лисп ясная и небольшая задача. Это сильно более расплывчато. И гораздо сложнее.

> Это более сложно и интересно

SWIG использовал для UFFI C биндингов (для ECL), но с делфи ес-но не знаком. Что нужно именно нужно? Низкоуровневое средство
PascalScript - lispworks, просто конвертировать сгенерированные биндинги из одного форма в другой или написать красивую прослойку
к сырым биндингам на лиспе?

> Есть вариант поработать за экспириенс

Это не вариант. Есть вариант с оплатой порциями, типа ТЗ на примерно неделю, приём кода, оплата? Делфи как бы очень легаси технология, а
походу нужно знать/вникать в её особенности реализации (объекты, биндинги), да и lw тоже экзотика. К сожалению, это может сдвигать сроки в разы.
temptst1 - 09.12.2013 18:17
[#] Ответ на комментарий от temptst1 09.12.2013 18:17
> да и lw тоже экзотика

На чем основано это утверждение?
lithp - 09.12.2013 19:06
[#] Ответ на комментарий от lithp 09.12.2013 19:06
>На чем основано это утверждение?

Даже у автора темы проблема просто найти человека, который хоть чуть-чуть знаком с самим лиспом.
В любом случае, если есть люди у которых куплен lw для себя ( чтобы на сторону работать), я буду удивлён.

P.S. Хотя может он аутсорс из других мест просто не рассматривает в принципе.
Нужно чтобы den73 сам прокомментировал текущую ситуацию.
temptst1 - 09.12.2013 21:10
[#] Ответ на комментарий от temptst1 09.12.2013 21:10
temptst1, если вы с лиспом незнакомы, давайте не будем зря терять время. Знакомство с лиспом для этой работы необходимо.
Мне проще самому сделать, чем возиться с вашим обучением. Хотя если не будете задавать вопросы, связанные с обучением языку,
то можно попробовать, конечно... Но и то не факт...

den73 - 09.12.2013 21:29
[#] Ответ на комментарий от temptst1 09.12.2013 21:10
Лицензии LispWorks покупают пачками, если что (знаю от LW sales).  У меня у самого он в продакшене.  Плюс, LW постoянно развивают и поддерживают на всех современных платформах, включая GUI.  Самая лучшая поддержка (функциональность) SMP, опять же, у LispWorks.
lithp - 09.12.2013 21:42
[#] Ответ на комментарий от den73 09.12.2013 21:29
>temptst1, если вы с лиспом незнакомы, давайте не будем зря терять время.

Вполне знаком. Даже использую ( хотя и без экзотики вроде MOP, системы рестартов и комбинаций методов).
temptst1 - 09.12.2013 21:44
[#] Ответ на комментарий от lithp 09.12.2013 21:42
> на всех современных платформах

не хочу флеймить и офтопить, но ios или android (даже без биндингов к гуи и интеграции с джавой) там увы нет.
temptst1 - 09.12.2013 21:48
[#] Ответ на комментарий от temptst1 09.12.2013 21:44
> экзотики вроде MOP, системы рестартов и комбинаций методов

Это не экзотика, а самые что ни на есть, главные фичи Common Lisp.  Если эту "экзотику" не использовать, тогда зачем вообще выбирать лисп?
lithp - 09.12.2013 21:56
[#] Ответ на комментарий от temptst1 09.12.2013 21:48
> не хочу флеймить и офтопить, но ios или android (даже без биндингов к гуи и интеграции с джавой) там увы нет.

Смотри mocl: https://wukix.com/mocl
lithp - 09.12.2013 21:57
[#] Ответ на комментарий от lithp 09.12.2013 21:56
> Если эту "экзотику" не использовать, тогда зачем вообще выбирать лисп?

Там и стандартная система типов, как и стандартная around, before, after комбинация очень хороши.
Ну и макросы ес-но. В качестве скриптового языка этого хватает ( ну или пока мне хватает :)
temptst1 - 09.12.2013 22:03
[#] Ответ на комментарий от temptst1 09.12.2013 22:03
Ладно, если знаешь лисп, то пиши письмо на адрес, указанный в начале темы. Не обещаю прямо сейчас,
но где-нибудь в течение недели постараюсь подогнать задание.

В PascalScript есть аналог SWIG, притом он гораздо проще и "поворотливее". По сравнению с С++ Дельфи
очень проста и приятна.
den73 - 09.12.2013 23:38
[#]
Странный заказчик. Написал что детали/условия пришлет и пропал.
temptst1 - 19.12.2013 14:35
Страницы: 12
@2009-2013 lisper.ru