LINUX.ORG.RU

Пролог?), а можно чуть конкретнее?

anonymous
()

xml, json, yaml например.

anonymous
()
Ответ на: комментарий от mashina

Рэймонд не рекомендовал использовать таб. Мол, с пробелом можно спутать если руками редактировать. Двоеточие!

Weres ★★★
()

Есть «универсальный импорт» и отдельно «универсальный экспорт». :)

Вот сюда смотрим для автоматизации этого процесса http://www.isi.edu/integration/karma/ . В статьях авторов проекта по ссылке описаны языки маппинга структур данных.

psv1967 ★★★★★
()
Ответ на: комментарий от Weres

csv, две колонки разделённые TABом

Рэймонд не рекомендовал использовать таб. Мол, с пробелом можно спутать если руками редактировать. Двоеточие!

CSV == Comma-Separated Values

,

Stil ★★★★★
()
Ответ на: комментарий от psv1967

Не. Мне нужен не тул. Мне нужен именно язык :) Что то в таком духе:

a=>b {b = someFunc(a)}
c=>d {d =switch(c) {
          case "1": 5;
          case "Some shit": 4;
          default: throw "Unexpected c value";
}
e=>f[] {f[0] = e.A;
        f[1] = e.B;
}
         

Желательно, что бы контекст туда можно было передавать из сишечки. И, в идеале, что бы интерперетатор этой байды умел компилировать свои выражения во что нибудь быстрое в рантайме.

Но, задача минимум - найти простую и понятную нотацию.

batbko
() автор топика
Ответ на: комментарий от batbko

Go, man, go!

zzz := make(map[string]int)
zzz["1"] = 5
zzz["Some shit"] = 4
if z, ok := zzz["not here"]; ok {
    log.Println(z)
} else {
    log.Println("Unexpected value")
}

Ну и складывание всёго этого на диск и обратно через encoding/json или encoding/gob или ...

beastie ★★★★★
()

tcl, разумеется.

anonymous
()
Ответ на: комментарий от batbko

R2R (Bizer, C., Schultz, A.: The R2R Framework: Publishing and Discovering Mappings on the Web. In: First International Workshop on Consuming Linked Data (COLD2010) (201 ) и R2RML ( Das, S., Sundara, S., Cyganiak, R.: R2rml: Rdb to rdf mapping language, w3cworking draft, 24 march 2011. http://www.w3.org/TR/r2rml/ )

psv1967 ★★★★★
()
Ответ на: Go, man, go! от beastie

Так я могу и на плюсах написать...

batbko
() автор топика
Ответ на: комментарий от batbko

Но, задача минимум - найти простую и понятную нотацию.

Если знаешь/помнишь prolog, то его «факты» довольно естественно описывают подобные связи.

anonymous
()
Ответ на: комментарий от anonymous

Не помню и не знаю, но можно пример в студию какого нибудь более менее сложного мэппинга для цепочки сообщений m(можно без стейта),
когда влетает n, вылетает N сообщений M, M(0..x)=f(m), где f - функция мэппинга?

batbko
() автор топика
Ответ на: комментарий от batbko

цепочки сообщений m

Лучше бы, конечно, в терминах какой-нибудь предметной области. В контексте prolog-а сообщения не очень подходят, уже erlang получается).

Язык для записи мэппинга (комментарий) пока могу предыдущий накидать http://ideone.com/eaymhO

// Ну и тут backtracking нужно учитывать, а то нечаянно можно получить много решений, когда по семантике одно

anonymous
()
Ответ на: комментарий от Apple-ch

Если табом, то это TSV. Учи матчасть, что ли…

как хочу, так и называю. TSV менее распространённое название.

mashina ★★★★★
()
Ответ на: комментарий от anonymous

Ну, например protobuf сообщения, в json. Но это только примера ради. Нужна возможность строить такие конвертеры быстро, и для разных эндпоинтов.

batbko
() автор топика
Ответ на: комментарий от batbko

Ну, например protobuf сообщения, в json.

Ну тут не совсем (по-моему) его область, ему бы что-нибудь более легкое и высокоуровневое. Но библиотеки вроде есть, http://www.swi-prolog.org/pldoc/man?section=protobufs-ex-xml .

Тут уж лучше что-нибудь статически типизированное, паттерн-матчинг есть в haskell, scala, если нестабильность и (относительная) низкоуровневость rush не препятствие, то он тоже может подойти.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.