LINUX.ORG.RU

Сообщения vladimir-vg

 

[ЕОТ]

Форум — Talks

Мне вот интересно, в толксах бывали ЕОТ-треды?

 

vladimir-vg
()

[Регистровые и стековые машины][Book request] Теория.

Форум — Development

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

Существует ли развитая теория (по аналогии с лямбда исчислением) посвящённая регистровым/стековым машинам?

Машину Тьюринга не предлагать. Это конечно ближе чем лямбда-исчисление, но немного не то. Интересуют именно регистровые машины.

SICP читал, Ахо&Ульман — читаю сейчас

Киньте литературой (англ/рус).

vladimir-vg
()

[Haskell] How to use Eq for functions?

Форум — Development

Пусть у меня есть следующий тип данных:

data SomeDataType
    = SomeDataType { name :: String,
                     func :: String -> String }

Мне необходимо сравнивать экземпляры этого типа. Добавляю deriving(Eq). Получаю:

example.hs:4:14:
    No instance for (Eq (String -> String))
      arising from the 'deriving' clause of a data type declaration
                   at example.hs:4:14-15
    Possible fix:
      add an instance declaration for (Eq (String -> String))
      or use a standalone 'deriving instance' declaration instead,
         so you can specify the instance context yourself
    When deriving the instance for (Eq SomeDataType)

Это можно вылечить, указав что следует сравнивать только поля:

instance Eq SomeDataType where
    x == y = (name x) == (name y)

Works. Но всё-таки это не дело.

Собственно, как в Haskell проверить на равенство функции?

 

vladimir-vg
()

[Алгоритм] Подскажите как лучше.

Форум — Development

Есть множество не пересекающихся отрезков в целочисленном множестве.

Есть точка (Одна координата). Необходимо выяснить, как можно быстрее, принадлежит ли эта точка хотя бы одному из данного множества отрезков. (Какому именно — не важно).

Я бы сделал двоичное дерево поиска, или упорядочил множество и искал бы двоичным поиском.

O(log n) — достаточно быстро.

Но может ЛОР знает более мудрый (интересный, крутой, труёвый) способ решения?

 

vladimir-vg
()

[English] How to say.

Форум — Talks

Как назвать по англицки участок памяти?

memory region — смысл несколько другой. Здесь подразумевается что память одна, и она поделена на участки. Мне необходимо передать смысл, как если бы эти участки памяти совершенно отдельные сущности.

В голову приходит лишь memory chunk, но что-то не очень.

 

vladimir-vg
()

[Python][Twisted] Запустить клиент на серваке.

Форум — Development

Недавно начал раскуривать Twisted, возникли некоторые недопонимания.

Я делаю RPC-server. Во время обработки принятых данных (Читай, во время выполнения remote call) мне необходимо подключиться к другому серверу, получить-отправить некоторые данные.

Как сделать это правильно?

 

vladimir-vg
()

[JSON-Schema][JSV] References

Форум — Development

Хочу хранить кое-какие данные в JSON.

Написал схему, пользуюсь валидатором JSV.

Я хочу схему, в которой будут содержаться несколько схем, и ссылаться друг на друга в описании.

{ "id" : "forms-schema",
  "properties"
  : { "form-definition"
      : { "type" : "object",
          "properties"
          : { "form-name" : { "type" : "string" },
              "widgets"
              : { "type"  : "array",
                  "items" : { "$ref" : "#properties.widget-definition" } } } },
      "widget-definition"
      : { "type" : "object",
          "properties"
          : [ { "$ref" : "#properties.entry-definition" },
              { "$ref" : "#properties.choice-definition" },
              { "$ref" : "#properties.block-definition" } ] },
      "entry-definition"
      : { "type" : "object",
          "properties"
          : { "type"       : { "type" : "string",
                               "enum" : [ "entry" ] },
              "field-name" : { "type" : "string" },
              "format"     : { "type" : "string",
                               "enum" : [ "default",
                                          "cyrillic-only",
                                          "float",
                                          "integer",
                                          "date",
                                          "time",
                                          "date-time" ] } } },  
      "choice-definition"
      : { "type" : "object",
          "properties"
          : { "type"       : { "type" : "string",
                               "enum" : [ "choice" ] },
              "field-name" : { "type" : "string" },
              "mode"       : { "type" : "string",
                               "enum" : [ "one-of",
                                          "many-of",
                                          "one-of-or-other",
                                          "many-of-or-other" ] },
              "items"      : { "type" : "array",
                               "items" : { "type" : "string" } } } },
      "block-definition"
      : { "type" : "object",
          "properties"
          : { "type" : { "type" : "string",
                         "enum" : [ "block" ] },
              "options"
              : { "type" : [ "null",
                             { "type" : "object",
                               "properties"
                               : { "mode" : { "type" : "string",
                                              "enum" : [ "or-mode" ] },
                                   "field-name" : { "type" : "string" } } } ],
                  "default" : null },
              "widgets" : { "type" : "array",
                            "items" : { "$ref" : "#properties.widget-definition" } } } } },
  "fragmentResolution" : "dot-delimited",
  "links"
  : [ { "rel" : "self", "href" : "{id}" } ] }

Далее:

var JSV = require('./jsv').JSV;
JSV.registerSchema(schema, schema["id"]);

// Схема корректно добавляется, видна в свойствах.

// Пробую провести валидацию:

JSV.validate(null, {"$ref" : "forms-schema#.properties.entry-definition"});

Возвращает errors=[], т.е. форма валидная. WTF?

Похоже что я неправильно задаю/использую ссылки.

Раскуривал вот эти документы:

http://tools.ietf.org/html/draft-zyp-json-schema-02

http://groups.google.com/group/json-schema/web/json-schema-proposal-working-draft

vladimir-vg
()

[Scheme] Если бы Scheme можно было сделать заново, что бы вы изменили?

Форум — Development

Хотелось бы увидеть какие-нибудь статьи на тему сабжа или около. Что-то не гуглится.

Впрочем мнение ЛОРа я тоже не прочь услышать.

Говоря «изменить» я имею ввиду: возможности макросов, введение каких-то дополнительных сущностей (например пространства имён) или наоборот, урезания возможностей (например, дабы уменьшить кол-во ошибок).

Разумеется, в стандартном Scheme до r6rs не было нормальных модулей (Кстати, нормальные в вашем понимании — это какие?), это учитывается.

Наверное неплохо бы ввести необязательную статическую типизацию — нет?

 

vladimir-vg
()

Доступ в инет с другого компа.

Форум — Admin

Сам я не админ.

У меня есть две машины. На первой я имею рутовый доступ. Есть вторая машина. На ней у меня есть лишь удалённый доступ по ssh, притом не рутовый. В отличие от первой машины, на второй есть интернет.

Обе машины находятся в одной локальной сети.

Вопрос: можно ли как-нибудь первой машине добраться до инета?

vladimir-vg
()

[C] Интересуют кое-какие извраты.

Форум — Development

Мне было интересно во время выполнения поменять константу в скомпилированной функции. После определения относительного адреса константы в теле функции я попытался сделать вот что:

// here we set the constant:
((float *)func)[156] = 0.0;

Компилятор съел, но при попытке запустить сегфолт именно в этой строчке.

Как я понял, нельзя менять код во время выполнения.

Ну ладно, я выделил кусок памяти и скопировал туда содержимое по указателю func, привёл к нужному типу и попытался выполнить.

Снова сегфолт. Наша скопированная функция не хочет выполнятся. И что, получается я не могу выполнить кусок кода, сформированный в рантайме?

Собственно вопрос: Наверное я хочу странного, но как сделать то что я хочу? Это возможно в принципе? А как же работают JIT-компиляторы? А как тогда могут существовать полиморфные вирусы?

Ссылки на статьи/книги/мануалы приветствуются.

 

vladimir-vg
()

[Python][lambda] Хочу последовательного выполнения

Форум — Development

Я хочу передать лямбду в которой выполняются несколько процедур. Т.е. последовательное выполнение, как если бы инструкции были записаны между

begin .. end

Я делаю так:

l = lambda x: (do_some(),
               do_other(),
               do_foobar())

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

Как можно красивее, именно лямбдой?

 ,

vladimir-vg
()

[Qt][Лицензия] Есть вопрос.

Форум — Development

Я хочу использовать Qt в своём приложении, пользуясь Open Source Edition (т.е. бесплатно). Приложение пишется на скриптовом языке и использует проприетарные модули (написанные на сях).

Возможно ли такое? Или все части должны быть обязательно открыты и проприетарные модули недопустимы?

 ,

vladimir-vg
()

[emacsclient] Не хочет работать в wm.

Форум — Development

Вздумал запускать emacs --daemon, дабы наскрести малость скорости.

Записал в автозагрузку.

emacsclient -t работает на ура.

emacsclient -c никак. Пишет Waiting for Emacs... Появляется окошко и тут же выходит. Ошибок, криков о помощи не даёт. Тихо так дохнет.

Чем лечить?

Xubuntu 10.04. Ставил из репов.

vladimir-vg
()

[Немецкий язык][IT][Web]

Форум — Talks

Какие есть хорошие ресурсы на тему IT (lor-like) на немецком языке?

Интересует:

  • программинг (самый разный, функциональщина, параллельщина, прочее)
  • Linux/Unix-like OS

 ,

vladimir-vg
()

RSS подписка на новые темы