Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
442 / 11 / 1
Регистрация: 08.01.2013
Сообщений: 28

Незапуск некоторых wxhaskell программ

24.07.2013, 13:00. Показов 2487. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все образцы программ из папки wxhaskell-0.11.1.2/samples/ я спокойно компилирую и запускаю в любых разновидностях Ubuntu (правда, пришлось отдельно скачать haskell98-2.0.0.1.tar.gz и подкладывать Directory.hs, List.hs, удалив из них упоминание про #if __GLASGOW_HASKELL__ >= 701 и #endif ), но это почему-то не относится ни к wxhnotepad-1.2.0, ни к GeBoP, ни к Arctic Slide. Скомпилировать, например, так: ghc -O Setup.hs их еще можно, но они не запускаются.

Когда-то я так ставил wxhaskell:
Code
1
2
3
4
5
6
7
sudo apt-get install wx2.8-headers libwxgtk2.8-0 libwxgtk2.8-dev
cd /usr/include
ls | grep wx
sudo ln -sv wx-2.8/wx wx
wx-config --cxxflags
wx-config --libs
sudo cabal install wx-0.13.2.3
теперь же при попытке установить wxhnotepad-1.2.0 и выяснить в чем дело,
Code
1
2
3
4
5
user@user-desktop:~/Haskell/wxhaskell/wxhnotepad-1.2.0$ runhaskell Setup configure
Setting up wxhnotepad for linux
Configuring wxhnotepad-1.2.0...
Setup: At least the following dependencies are missing:
wx >=0.12.1.4 && <0.13, wxcore >=0.12.1.4 && <0.13
Code
1
2
3
4
5
6
7
user@user-desktop:~/GeBoP-1.7.2$ runhaskell Setup configure
Configuring GeBoP-1.7.2...
Setup: At least the following dependencies are missing:
directory <1.1,
haskell98 <1.1,
wx >=0.11 && <0.13,
wxcore >=0.11 && <0.13
Через cabal они не ставятся
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
user@user-desktop:~$ sudo cabal install wxhnotepad
Resolving dependencies...
In order, the following would be installed:
array-0.3.0.3 (new version)
deepseq-1.3.0.1 (reinstall) changes: array-0.4.0.1 -> 0.3.0.3
bytestring-0.10.2.0 (new version)
containers-0.4.2.1 (new version)
stm-2.4.2 (reinstall) changes: array-0.4.0.1 -> 0.3.0.3
strict-0.3.2 (reinstall) changes: array-0.4.0.1 -> 0.3.0.3
text-0.11.3.1 (reinstall) changes: array-0.4.0.1 -> 0.3.0.3,
bytestring-0.10.0.2 -> 0.10.2.0
parsec-3.1.3 (reinstall) changes: bytestring-0.10.0.2 -> 0.10.2.0
time-1.4.1 (new version)
unix-2.6.0.1 (reinstall) changes: bytestring-0.10.0.2 -> 0.10.2.0,
time-1.4.0.1 -> 1.4.1
directory-1.2.0.1 (reinstall) changes: time-1.4.0.1 -> 1.4.1
wxdirect-0.90.0.1 (new version)
wxcore-0.12.1.7 (new version)
wx-0.12.1.6 (new version)
wxhnotepad-1.2.0 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
vector-0.10.0.1
aeson-0.6.1.0
unordered-containers-0.2.3.0
vault-0.2.0.4
reactive-banana-0.7.1.2
time-1.4.0.1
zip-archive-0.1.3.4
pandoc-1.11.1
Elm-0.8.0.3
wxdirect-0.13.1.3
wxcore-0.13.2.3
wx-0.13.2.3
temporary-1.1.2.4
system-fileio-0.3.11
shakespeare-1.0.5
process-1.1.0.2
hslogger-1.2.1
happstack-server-7.1.7
haskell98-2.0.0.2
ghc-7.6.3
haddock-2.13.2.1
cmdargs-0.10.4
Cabal-1.16.0
bin-package-db-0.0.0.0
network-2.4.1.2
sendfile-0.7.9
citeproc-hs-0.3.8
cgi-3001.1.8.3
HTTP-4000.2.8
hpc-0.6.0.0
cpphs-1.16
haskell-src-exts-1.13.5
time-compat-0.1.0.3
random-1.0.1.1
QuickCheck-2.6
xml-1.3.13
texmath-0.6.1.5
tagsoup-0.12.8
system-filepath-0.4.7
json-0.7
indents-0.3.3
highlighting-kate-0.5.4
hjsmin-0.1.4.1
hexpat-0.20.3
hashable-1.1.2.5
case-insensitive-1.0.0.1
blaze-markup-0.5.1.5
blaze-html-0.6.1.1
blaze-builder-0.3.1.1
language-javascript-0.5.7
attoparsec-0.10.4.0
parallel-3.2.0.3
containers-0.5.0.0
template-haskell-2.8.0.0
concatenative-1.0.1
regex-posix-0.95.2
regex-compat-0.95.1
regex-pcre-builtin-0.94.4.7.8.31
regex-base-0.93.2
pandoc-types-1.10
hoopl-3.9.0.0
fgl-5.4.2.4
data-default-instances-containers-0.0.1
data-default-0.5.3
binary-0.5.1.1
GLUT-2.4.0.0
bytestring-0.10.0.2
zlib-0.5.4.1
utf8-string-0.3.7
utf8-light-0.4.0.1
digest-0.0.1.2
base64-bytestring-1.0.0.1
HUnit-1.2.5.2
threads-0.5.0.2
async-2.0.1.4
Use --force-reinstalls if you want to install anyway.
Это какой-то cabal hell или что? А можно ли потом с помощью cabal удалить ненужные компоненты, например, из-за Elm-а я теперь не могу поставить reactive-banana-wx:
Code
1
2
3
4
5
6
7
cabal: The following packages are likely to be broken by the reinstalls:
happstack-server-7.1.7
regex-pcre-builtin-0.94.4.7.8.31
highlighting-kate-0.5.4
pandoc-1.11.1
Elm-0.8.0.3
Use --force-reinstalls if you want to install anyway.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.07.2013, 13:00
Ответы с готовыми решениями:

Кнопки в wxHaskell
делаю графический интерфейс, и возникла проблема не могу найти хотя бы примеры кодов с радио-кнопками, кнопками выбора (в c# это CheckBox)...

Установка haskell и wxhaskell
Здравствуйте, дайте пожалуйста инфу, как и в каком порядке устанавливать wxhaskell, юзал поиск по форуму, перекачал кучу всего, не которые...

Как установить wxHaskell?
вопрос в том как установить это приложение, читала по этому инфу с официального сайта, поняла только что там много чего надо соединять,...

12
165 / 164 / 23
Регистрация: 23.02.2011
Сообщений: 347
24.07.2013, 21:06
В зависимостях реактив банана, wx, парсек, зип-архивы, регулярки и хттп? Что это вообще за монстр.
По теме: кабал удалять пакеты не уметь. Только загружать, создавать и регистрировать.
0
442 / 11 / 1
Регистрация: 08.01.2013
Сообщений: 28
24.07.2013, 21:52  [ТС]
Algiz,

до реактив банана и wx я ставил только Elm. Он много чего нанёс. Именно ему были нужны: happstack-server-7.1.7, regex-pcre-builtin-0.94.4.7.8.31, highlighting-kate-0.5.4, pandoc-1.11.1 и ещё чего там.

Однако, Парсек издавна входит в Haskell Platform. Но дело даже не в Elm-е, он мне только reactive-banana-wx мешает поставить.

Кроме всего прочего, есть отличный редактор Sublime 3 (уже доступен всем, но глючен из-за старых плагинов) со своим REPL, в который ставится SublimeHaskell, для полноценной работы которому нужны aeson, haskell-src-exts и haddock, и как дополнение: ghc-mod (хорошо в т.ч. и для Emacs24), stylish-haskell, haskell-docs и hdevtools.

Когда я раньше ставил wxHaskell на чистую Haskell Platform, меня ожидали те же самые проблемы: я не мог ни так, ни через cabal поставить тот же wxhnotepad и ломались зависимости из haskell98-2.0.0.1, а ведь они д.б. работать "из коробки" Haskell Platform.
0
442 / 11 / 1
Регистрация: 08.01.2013
Сообщений: 28
27.07.2013, 14:38  [ТС]
Ну, вот, на свежую убунтовую систему Lubuntu опять ставил Haskell Platform (всё по дефолту, никаких профилирований, песочниц и изменений переменной пути), потом wxWidgets 2.8.x, а когда начал ставить wxHaskell (кстати, уже рекомендуется cabal install 'wx < 0.90', а не напрямую указывать версию) оказалось, что не установлены, если не g++, то хотя бы build-essential. Установил build-essential, вновь принялся за установку wxHaskell. Поставил. Дальше:
Code
1
sudo cabal install reactive-banana reactive-banana-wx -fbuildExamples
И опять reactive-banana стала, а reactive-banana-wx - нет (отсутствует wxcore-0.90, для которой якобы делалась reactive-banana-wx-0.7.1.0). Однако, у меня была когда-то папка reactive-banana-wx-0.7.1.0 из .Cabal, которую я для себя сохранил отдельно, и сейчас попытался скомпилировать пример. Получилось.
То есть, выходит, reactive-banana-wx не установлена, но примеры с импортом этой библиотеки вполне компилируются? Кроме того, остались проблемы с установкой wxhnotepad и зависимостями из haskell98-2.0.0.1.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,701
Записей в блоге: 14
28.07.2013, 09:49
serrr, ты убедительно доказал преимущества Windows!
0
165 / 164 / 23
Регистрация: 23.02.2011
Сообщений: 347
28.07.2013, 12:49
Catstail, в чем же преимущество? В том, что на винду нужно будет ставить те же утилиты, но весить каждая из них будет в 3 раза больше?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,701
Записей в блоге: 14
28.07.2013, 15:12
Я пошутил...
0
442 / 11 / 1
Регистрация: 08.01.2013
Сообщений: 28
30.07.2013, 13:17  [ТС]
serrr, ты убедительно доказал преимущества Windows!
Catstail, я интересуюсь только таким (Ф)ЯП, использование которого возможно на максимально возможном количестве операционных систем, тем более широким фронтом наступают всякие мобильные штучки.
Я тут ещё приложу свою памятку, как я обычно ставлю всё, сопуствующее занятиям с Haskell-ем, на Lubuntu 12.10 - 13.10 (alpha2) или Linux Mint 14 - 15 (Mate):
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Для Хаскелля, кроме haskell-platform, нужно самому доустанавливать Haskell SDL binding for GHC, куда входят следующие пакеты: 
libghc-sdl-dev libghc-sdl-mixer-dev libghc-sdl-ttf-dev libghc-sdl-image-dev libghc-sdl-gfx-dev 
чтобы при компиляции программ, которые импортируют Graphics.UI.SDL, не было ругани об отсутствии данного модуля, а также: 
libghc-gtk-dev libghc-cairo-dev libghc-pango-dev 
и всё, что подтянется (а подтянется в т.ч. и GTK2HS в виде libghc-gtk-dev и libghc-glib-dev). А если ставить без платформы, то ещё и libghc-glut-dev для работы с OpenGL.
 
sudo cabal install wx - это установка wxHaskell (которому должны предшествовать  wxWidgets).
 
Так как я однажды пытался восполнить компилятор за отсутствием Haskell Platform-ы (в репах к Lubuntu 13.04 её нет) всем необходимым, типа библиотек sdl, opengl и т.п., то для её установки из исходников мне понадобились только библиотеки профилирования (почти по количеству устанавливаемых пакетов из папки: /haskell-platform-2013.2.0.0/packages/): 
ghc-prof libghc-openglraw-prof libghc-gluraw-prof libghc-random-prof libghc-hashable-prof libghc-text-prof libghc-mtl-prof libghc-transformers-prof libghc-parsec3-prof libghc-regex-base-prof libghc-xhtml-prof 
иначе платформа ещё на этапе make выдаст ошибку и не соберётся, не говоря уже об установке.
 
 
Кроме того, если не установлена haskell-platform, то специально для SublimeHaskell ставим также:
 
sudo cabal install alex
sudo cabal install happy
 
(но и это не поможет установить, поэтому и д.б. полноценная haskell-platform) а уж потом,
 
sudo cabal install aeson haskell-src-exts haddock
 
Optional, but useful:
* [ghc-mod](http://hackage.haskell.org/package/ghc-mod) (for import and LANGUAGE completions and type inference, `cabal install ghc-mod`)
* [stylish-haskell](https://github.com/jaspervdj/stylish-haskell) (for code prettification, `cabal install stylish-haskell`)
* [cabal-dev](http://hackage.haskell.org/package/cabal-dev) if you want to use it
* [haskell-docs](http://hackage.haskell.org/package/haskell-docs) (for documentation in 'Symbol info' command, `cabal install haskell-docs`)
* [hdevtools](https://github.com/bitc/hdevtools) (for type inference, `cabal install hdevtools`)
 
                        ==============
После всех мучений (но никак не раньше) можно будет установить интересную игрушку Elm.
 
Use
To use elm and elm-server you may need to add a new directory to your PATH.
Cabal should tell you where your executables are located upon successful installation.
For me, the executables were placed in /home/evan/.cabal/bin which I appended to the end of my PATH variable in my .bashrc file.
 
Между прочим, создание такого файла обязательно, иначе, если просто написать, допустим, export PATH=$PATH:/home/evan/.cabal/bin - оно сбросится, нужно:
echo 'export PATH=$PATH:/home/evan/.cabal/bin' >> ~/.bashrc
тогда произойдет создание системного файла с соответствующим содержанием (и вместо evan - пишите своего юзера).
 
Вот демонстрация простого Elm-проекта:
 
mkdir helloElm
cd helloElm
printf "import Mouse\n\nmain = lift asText Mouse.position" > Main.elm
elm-server
 
Все свистопляски с бубном при инсталляции Elm-а (вместе с его сервером, естессно) поверху Haskell Platform-ы и прописывании в терминале вышеуказанных команд нужны для первоначального запуска elm-server-а. Ведь, дальше, чтобы посмотреть результат файлов с расширением .elm опять в консоли пишем:
elm Main.elm
и рядом в директории ложится одноименный файл с раширением .html, который мы можем запустить в любом браузере и посмотреть на фокусы, которые он откалывает.
В Windows XP у меня просто и без прикрас установлена Haskell Platform. Мне некогда здесь ставить что-то дополнительное из-за не особой перспективности данной платформы (Виндовз, имеется в виду).
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,701
Записей в блоге: 14
30.07.2013, 14:27
Цитата Сообщение от serrr Посмотреть сообщение
я интересуюсь только таким (Ф)ЯП, использование которого возможно на максимально возможном количестве операционных систем
- убедительно.

Цитата Сообщение от serrr Посмотреть сообщение
Мне некогда здесь ставить что-то дополнительное из-за не особой перспективности данной платформы (Виндовз, имеется в виду).
- а это - не слишком...

Но, дело вкуса.
0
30.07.2013, 22:49

Не по теме:

serrr, не первый раз вижу как многие говорят о нужности haskell-platform. Сам я мало копался с ней(1 раз на винду ставил, потому что это было быстрее чем найти отдельно ghc и cabal). Для *nix систем не очень понимаю нужность сей штуковины, ибо на линуксах маках и бздях cabal и ghc можно найти в репах. Что такого крутого в haskell-platform(помимо ghc и cabal), что ее так все хотят?

1
442 / 11 / 1
Регистрация: 08.01.2013
Сообщений: 28
04.08.2013, 12:56  [ТС]
Algiz,
Хм.. думаю, вы правы. Несмотря на то, что есть некоторые утилиты или программы, которые почему-то настаивают на установленной в системе Haskell Platform-е, будет больше толка, если не плодить ненужных сущностей и установить только GHC и Cabal.
В, конце концов, чьи это проблемы, как не Cabal-а, который ответственнен за корректную установку нужных именно мне пакетов?
0
442 / 11 / 1
Регистрация: 08.01.2013
Сообщений: 28
11.08.2013, 13:13  [ТС]
Вот, снова переустановил Lubuntu 13.10 (alpha2). Устанавливал в следующем порядке:
- sudo apt-get install ghc 7.6.3
- sudo apt-get install cabal-install
- sudo cabal update
- sudo apt-get install libghc-sdl-dev libghc-sdl-mixer-dev libghc-sdl-ttf-dev libghc-sdl-image-dev libghc-sdl-gfx-dev
- sudo apt-get install libghc-gtk-dev libghc-cairo-dev libghc-pango-dev
- sudo apt-get install libghc-zlib-dev
- sudo cabal install reactive-banana-threepenny (в процессах примеры висят, но через браузер не показываются, как и в просто threepenny-gui с Haskell Platform)
- sudo apt-get install gtk2hs-buildtools
- sudo cabal install Helm
- sudo apt-get install language-javascript, alex и happy
- sudo cabal install Elm
- sudo cabal install lenses
- sudo apt-get install wx2.8-headers libwxgtk2.8-0 libwxgtk2.8-dev
cd /usr/include
ls | grep wx
sudo ln -sv wx-2.8/wx wx
wx-config --cxxflags
wx-config --libs
- sudo cabal install --global 'wx < 0.90' (решил установить глобально, но проблемы остались)
Некоторые замечания:
Библиотека reactive-banana-threepenny зависит от libghc-zlib-dev. После установки в папке запуска примеров нужно создать папку log/access.log и error.log. Тогда фрипенни при запуске примера из консоли будет следующее сообщение: "Listening on http://0.0.0.0:10000/", но реализацию в браузере почему-то не покажет, а ведь она для этого и создана - использовать браузер как фреймворк.
Игровой движок Helm ставится без своего прародителя Elm-a, но ему нужен SDL, cairo и gtk2hs-buildtools.
в свою очередь, язык на основе Haskell-а Elm вполне ставится и без haskell-platform, но ему понадобятся language-javascript, alex и happy.
wxHaskell ведёт себя по-прежнему, а reactive-banana-wx, если не ошибаюсь, стала требовать девелоперскую версию чего-то (wxWidgets?).
Пока на этом я остановился.
1
442 / 11 / 1
Регистрация: 08.01.2013
Сообщений: 28
16.09.2013, 14:02  [ТС]
Дополнение, касательно связки reactive-banana-threepenny. Ответ нашёл здесь (поиск не для среднего ума: инфа, как запускать сервер, на поверхности не лежала):

Server
To display the user interface, you have to start a server using startGUI. Then, visit the URL http://localhost:10000/ in your browser (assuming that you have set the port number to tpPort=10000 in the server configuration).
Т.е., имея готовый пример из поставки с этой библиотекой, запускаем его обычным образом или через консоль (в Виндовз однозначно будет висеть консоль над душой), потом открываем браузер с включенной поддержкой Javascript по адресу http://localhost:10000/ и наблюдаем его работу.
Не знаю, меня не впечатлила ни организация этого процесса, ни "красота" отображение работы через браузер. А сколько импортов в исходнике! Совсем не похоже на то, что меня в своё время приятно удивило, когда я изучал wx-пример Counter.hs - всё было очень кратко, идеально понятно (и не более чем на один экран кода ).

Теперь по поводу библиотеки Gloss. По-видимому, её нужно сразу ставить с примерами, т.е. так:
sudo cabal install gloss-examples
Если поставить только gloss, то потом не скомпилируются примеры, связанные с gloss-raster.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2013, 14:02
Помогаю со студенческими работами здесь

Очередной незапуск
Народ, что это за зверь ?? Exception: Access Violation Traceback: not available, compile with -ftrace=frame or -ftrace=full не...

Получение событий от некоторых программ
хочу написать такую прогу. Например есть несколька программ ( WindowsMediaPlayer, Winamp, PoverDvd и т.д.). Надо сделать так чтобы, когда...

Crash установки некоторых программ
Стоял раньше дискорд. Потом перестал работать. Решил переустановить. При установке ошибка. Логи прилагаются. Такая же ошибка и при...

Подозрения по поводу некоторых программ
Добрый день, обращаюсь уже второй раз, но на сей раз проблема возникла на ноуте. Ноут: Asus K53S Проблема заключается в том, что...

Запрет запуска некоторых программ
Подскажите пожалуста как запретить одкритее некоторих програм для юзера.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru