После того как погрузился в C++ проект с зашкаливающим количеством ООП, захотелось посмотреть на ST и его средства разработки.
Мельком покопался в Squeak и задался сабжем.
Также интересует, возможно ли ST-приложению с GUI придать нативный look'n'feel?
Здешние смолтокеры, просветите, а то инфы как-то маловато. :3
Можно конечно поменять местами декларации B и A, но хотелось бы сохранить такой порядок. Вопрос - как?
struct B;
struct B::C;
struct A {
typedef B::C DataPtr;
DataPtr c;
};
struct B {
struct C {
int ololo;
};
...
};P.S. никому не кажется лишним правило о строгом порядке объявления?
Есть такой примерчик, тупо выводит последовательность по три числа: http://brainslugs.blogspot.com/2006/10/callcc.html. Писано на ruby. Можно это реализовать на haskell-е?
После чтения http://en.wikibooks.org/wiki/Haskell/Continuation_passing_style сложилось впечатление что callCC - это какая-то кривая замена простой лямбде и никакими контекстами там и не пахнет. Плохо читал?
В конечно счёте хочется получить последовательность берущуюся из БД по курсору. В принципе, наверное можно не замарачиваться на call/cc, ибо haskell ленивый, в endless loop не уйдёт, но интересно всё таки, да и прозрачно с сохранием контекста в котором бесконечная красота получается, ящитаю.
Пока что не получается сделать даже такое:
nums :: Cont r [Int]
nums = do
ns <- callCC $ \k -> do
k [1..]
return $ take 5 ns
> runCont nums print
[1,2,3,4,5]
Есть большой-большой, размером 512 млн, vector c элементами типа '(unsigned-byte 8). Нужно его отправить в сокет, делаю так:
(write-sequence bullet (usocket:socket-stream sock))При повторной отправки этого же вектора галлюцинации снова не появляются.
Кто-нибудь с таким сталкивался? Как решил? ЧЯДНТ?
Строю так:
(format-gnuplot #q|~
set pm3d
set dgrid3d
set palette rgbformulae 33,13,10
set view 30,15
splot "~a~:*" u 5:2:($3-$1) with dots
|
filename)Появляется плоскость по которой нельзя сказать по каким действительным точкам она построена. Пытаюсь так:
splot "~a~:*" u 5:2:($3-$1) with dots, \
"~a~:*" u 5:2:($3-$1) with points hidden3dДоктора, какое предложите лечение?
Есть ли другие способы кроме как:
- включить libstdc++ в исходники проекта и пересобрать его с --enable-libstdcxx-allocator=mt (много телодвижений, да и поддерживать такой libstdc++ нет желания)
- везде явно указывать аллокатор (явный изврат)
Будет ли достаточно перед всеми инклюдами написать такой хак?
#define _GLIBCXX_CXX_ALLOCATOR_H 1
#define __glibcxx_base_allocator __gnu_cxx::mt_allocator