‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Embeddable CL

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

Например, это некий список или дерево. Скажем, графические примитивы - отрезки, дуги и т.п. И вот мы столкнулись с тем, что к обычному лиспу прикрутить Qt - тот ещё гемор.

Но, с другой стороны, мы уже умеем писать под Qt (или GTK+ или хоть бы даже WinAPI) что-то, что рисует нам отрезки, дуги и т.п.

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

То есть мы получим скорость Си в работе с железом и т.п., одновременно с мощью Лиспа в работе со сложными структурами. Вот очень хочется такое.

И чтоб кросс-платформенное, разумеется.

И чтобы не надо было быть Стивеном Хокингом, чтоб сие освоить, и чтоб освоить можно было не за год напряжённого жопорвания, а за неделю.. ну, ладно, за месяц ненапряжного ковыряния в примерах и документации.

Или я хочу невозможного?




Потому что у меня есть гениальная идея, но я не осилю реализовать её на Си. А пришить Qt к Лиспу.. или тем более GTK+.. я посмотрел, что для этого надо и у меня сразу завял весь энтузязизьм :(
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments