Friday, December 25th, 2009

шекспировский вопрос

AMD Geode или Vortex86DX?

Нужно выбрать процессор для промышленного компа. В современные процессоры принято засовывать кучу полезного барахла: видео, изернет, USB, контроллер памяти. Выбор из трёх вариантов, но VIA я отметаю не глядя. Вопрос - с каким из двух оставшихся больше шансов наступить на грабли? И плевать на производительность: всё равно ввод-вывод съест больше 50% процессорного времени, а 5-10% оставшегося хватит на все задачи.
(8 comments | Leave a comment)

Monday, December 14th, 2009

Предвкушая наступающий HUG

Подскажите, унификация в суперкомпиляторах и в прологе - неслучайно одинаково называется?
(11 comments | Leave a comment)

Sunday, November 1st, 2009

затуп мозга, haskell

Есть индуктивный тип данных, примерно такое
data InType = In1 InType | In2 InType InType | InL [InType] | In0
и тип, полученный из него разложением на составляющие:
type Key = String
data OutType = Out1 Key | Out2 Key Key | OutL [Key] | Out0

и таких пар несколько (штуки 4). Везде структура сторого типа в точности повторяет структуру первого, за исключением рекурсивности. Как бы сэкономить и не писать такие повторения руками? И вообще, что тут можно сэкономить?
Есть соблазн в каждое рекурсивное вхождение воткнуть Either InType Key, но это перегрузит доступ к типу сборками-разборками Either. И ваще как-то некрасиво.
(5 comments | Leave a comment)

Monday, August 10th, 2009

USB. Как сделать на коленке?

Как быстро сделать устройство ввода данных со скоростью потока до 80 Мбит/с? Данные сыплются непрерывно (это выход с быстрого АЦП). Верно ли, что USB - подходящий интерфейс для такой задачи?
(31 comments | Leave a comment)

Thursday, June 18th, 2009

L.I.S.P. Вопрос

К Scheme как-нибудь можно прикрутить удобный синтаксис?
Может, можно сделать "автоподставлятор скобок", и в каких-то местах их не писать?
Суть задачи в том, что:
1. надо, чтоб код получился сочетаемым другим схемным кодом. То есть, "возьми другой язык" - не вариант.
2. Но руками пейсать код на этом языке роботов - это мазохизм. Хочется немного подточить синтаксис: мнемоники понятные сделать, скобки куда-нибудь убрать.... Короче, предпроцессор. Желательно при этом не изобретать велосипед, а погнуть уже готовый.
(42 comments | Leave a comment)

Tuesday, May 26th, 2009

Кабала

Можно ли с помощью кабалы, а именно, build-type: Simple, собрать DLL? С помощью build-type: Make , ясное дело, её собрать можно, но тогда непонятно, зачем, собственно, нужна кабала. Да и забыл я, как мэйкфайлы пишут, слишком мало практики было.

подробности )</></></></></></></></></></></></>
(13 comments | Leave a comment)

Monday, April 27th, 2009

Вопрос

Участвует ли хоть один нестоличный ЖЖитель в хоть одном "Бегущем городе"?
(14 comments | Leave a comment)

Wednesday, January 28th, 2009

диспетчер задач

1. Хочется сделать выполнитель отложенных заданий. Пока считаю, что задания выполняются быстро. В который можно класть задачу на выполнение, а он сам их будет запускать. С интерфейсом навроде:
schedule::TimeSpec-> IO () -> IO ()
2. Кажется логичным сделать его в 2 потоках: в одном ставятся задания, в другом - запускаются на выполнение.
3. Было бы логично усыплять второй поток до тех пор, пока задания ждут своего часа.
4. Если приходит новое задание, которому вставать на работу раньше всех остальных, то надо потоку переставлять будильник.
5. Как это правильно делать?
5.1. Предполагаю, что надо будить поток, потом усыплять его снова.
5.2. Если поток кладётся спать функцией threadDelay, то чем его будить?
5.3. Исключение в него кидать?
5.4. Или из первого потока во второй воткнуть какой-нибудь TChan? Чтоб он просыпался когда что-то приходит по каналу? Но тогда не получится воспользоваться Thread Delay в лоб.
(19 comments | Leave a comment)