Блог Маздайщика
вторник, 19 октября 2010 г.
Документация к Модульному Рефалу
Начал писать документацию к Модульному и Простому Рефалам. Для этой цели завёл новый блог: http://mrefal.blogspot.com/. Пока там написано только введение.
воскресенье, 17 октября 2010 г.
Модульный Рефал: история и мотивация
Данный пост является репостом постов #829362, #844329 и #858270 моего микроблога на Жуйке. Текст не является точным репостом, т.к. немного подправлен.
Введение
Есть такой функциональный язык программирования — Рефал (рекурсивные фукции, алгоритмический язык, Refal — recursive functions, algorithmic language). Придуман в СССР кибернетиком Турчиным где-то в 60-70 годы прошлого века. Как любят писать во введении в мануалах ко всяким диалектам (см. ниже) Рефала, «сначала Рефал создавался как метаалгоритмический язык для описания семантики других языков программирования, но с появлением эффективных реализаций на ЭВМ он стал применяться как обычный язык программирования». Применяли его преимущественно для преобразований сложных алгебраических выкладок, написания трансляторов (на Рефале 2 был написан компилятор Фортрана) и других задач символьных вычислений.
За время долгой истории Рефала было разработано несколько различных малосовместимых между собой диалектов: первая реализация, позже названная базисным Рефалом (с очень странным синтаксисом), Рефал 2 с не странным, но тем не менее, очень неудобным синтаксисом, ориентированном на перфокарты, Рефал 5 с условиями и блоками, Рефал Плюс с «многоаргументными» функциями, блоками и хитрой системой неуспехов и откатов, Рефал 6 — тот же Рефал 5, но тоже с хитрой системой неуспехов и откатов, но с более согласованным синтаксисом, по сравнению с Рефалом Плюс.
У нас в универе (МГТУ имени Н. Э. Баумана) на кафедре ИУ9 разрабатывают Рефал 7. В УдГУ ведётся разработка Динамического Рефала (Dynamic Refal, D-Refal). Я сам разработал два диалекта: Модульный Рефал (основной проект) и Простой Рефал (своего рода черновик).
Введение
Есть такой функциональный язык программирования — Рефал (рекурсивные фукции, алгоритмический язык, Refal — recursive functions, algorithmic language). Придуман в СССР кибернетиком Турчиным где-то в 60-70 годы прошлого века. Как любят писать во введении в мануалах ко всяким диалектам (см. ниже) Рефала, «сначала Рефал создавался как метаалгоритмический язык для описания семантики других языков программирования, но с появлением эффективных реализаций на ЭВМ он стал применяться как обычный язык программирования». Применяли его преимущественно для преобразований сложных алгебраических выкладок, написания трансляторов (на Рефале 2 был написан компилятор Фортрана) и других задач символьных вычислений.
За время долгой истории Рефала было разработано несколько различных малосовместимых между собой диалектов: первая реализация, позже названная базисным Рефалом (с очень странным синтаксисом), Рефал 2 с не странным, но тем не менее, очень неудобным синтаксисом, ориентированном на перфокарты, Рефал 5 с условиями и блоками, Рефал Плюс с «многоаргументными» функциями, блоками и хитрой системой неуспехов и откатов, Рефал 6 — тот же Рефал 5, но тоже с хитрой системой неуспехов и откатов, но с более согласованным синтаксисом, по сравнению с Рефалом Плюс.
У нас в универе (МГТУ имени Н. Э. Баумана) на кафедре ИУ9 разрабатывают Рефал 7. В УдГУ ведётся разработка Динамического Рефала (Dynamic Refal, D-Refal). Я сам разработал два диалекта: Модульный Рефал (основной проект) и Простой Рефал (своего рода черновик).
суббота, 7 августа 2010 г.
«Происхождение мозга» С. В. Савельева
Данный пост является репостом поста #787103 моего микроблога на Жуйке. Пост оказался слишком длинным, что превысил допустимый размер и его часть пришлось переложить в комментарий. Данный текст не является точным репостом, а немного подправлен.
Недавно прочитал замечательную книгу С.В. Савельева «Происхождение мозга». Помимо рассказа о собственно нервной системе, автор рассказывает и о происхождении основных групп животных: кишечнополостные с диффузной нервной системой (далее НС), беспозвоночные, рыбы, амфибии, рептилии (кстати, помните, чем они отличаются?), птицы, млекопитающие. Оказывается, что НС и органы чувств многое решают — по структуре НС можно многое сказать о поведении организма, о его происхождении — также как и по взрывателю можно сказать на какой боеприпас он наворачивается (бетонобойный, кумулятивный, зенитный и т.д.) и по каким целям бьёт (у нас был такой курс в универе, я по нему получил тройку).
Недавно прочитал замечательную книгу С.В. Савельева «Происхождение мозга». Помимо рассказа о собственно нервной системе, автор рассказывает и о происхождении основных групп животных: кишечнополостные с диффузной нервной системой (далее НС), беспозвоночные, рыбы, амфибии, рептилии (кстати, помните, чем они отличаются?), птицы, млекопитающие. Оказывается, что НС и органы чувств многое решают — по структуре НС можно многое сказать о поведении организма, о его происхождении — также как и по взрывателю можно сказать на какой боеприпас он наворачивается (бетонобойный, кумулятивный, зенитный и т.д.) и по каким целям бьёт (у нас был такой курс в универе, я по нему получил тройку).
среда, 28 июля 2010 г.
Как я стал блоггером
Когда-то давно (до ноября 2009 года) я и не думал, что буду вести блог — сетевой дневник, который будут читать другие. Однако, друг по переписке (а почему бы не называть общение через IM перепиской?) @Phoenix уговорил меня завести микроблог в сервисе Juick. Нашёл интересных блогеров (частично, по совету @Phoenix'а), кто-то подписался на меня. День за днём, публикуя свои мысли на всеобщее обозрения (не скрою, порой провокационные ;-)), постепенно втянулся.
Но, выработав привычку выкладывать свои измышления на обсуждение честнóй жуйкоаудитории, я начал писать и весьма длинные посты. Понятно, что хотя Жуик позволяет вводить посты длиной до 4096 символов, писать стену текста сюда не надо. Читателя (в том числе и меня) ввергает в уныние длиннющий пост, который ещё надо прочесть. Я нудный, я все посты читаю (поэтому Жуёк отнимает у меня много времени), но не все мои подписчики такие. Поэтому очень вероятно, что такое сообщение просто проигнорируют и мои мысли до читателя не дойдут.
Как показала практика, объёмных мыслеизлияний у меня много. Чтобы решить эту проблему, я решил завести «макроблог» на Blogspot'е, а затем в Жуёк кидать ссылки на посты, опубликованные здесь. Для начала я хочу сюда переложить из Жуйка все длиннющие для микроблога посты (которые тянут на нормальные посты в «макроблоге»), а затем уже решу, что сюда буду писать. Например, если при наборе сообщения, его размер превысит 1K (QIP это показывает), то пост я лучше опубликую здесь.
Но, выработав привычку выкладывать свои измышления на обсуждение честнóй жуйкоаудитории, я начал писать и весьма длинные посты. Понятно, что хотя Жуик позволяет вводить посты длиной до 4096 символов, писать стену текста сюда не надо. Читателя (в том числе и меня) ввергает в уныние длиннющий пост, который ещё надо прочесть. Я нудный, я все посты читаю (поэтому Жуёк отнимает у меня много времени), но не все мои подписчики такие. Поэтому очень вероятно, что такое сообщение просто проигнорируют и мои мысли до читателя не дойдут.
Как показала практика, объёмных мыслеизлияний у меня много. Чтобы решить эту проблему, я решил завести «макроблог» на Blogspot'е, а затем в Жуёк кидать ссылки на посты, опубликованные здесь. Для начала я хочу сюда переложить из Жуйка все длиннющие для микроблога посты (которые тянут на нормальные посты в «макроблоге»), а затем уже решу, что сюда буду писать. Например, если при наборе сообщения, его размер превысит 1K (QIP это показывает), то пост я лучше опубликую здесь.
Подписаться на:
Сообщения (Atom)