Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484

Haskell и -fno-warn-type-defaults

29.12.2014, 14:32. Показов 3708. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно начал изучать Haskell, пользуюсь связкой emacs + haskell-mode + company-ghc + shm.

В Dispersion.cabal прописаны флаги: -O2 -Wall

Возникла следующая ситуация, которая не дает мне покоя : допустим, я пишу такой простой код:
Haskell
1
2
3
4
module Main where
 
main :: IO ()
main = print $ map (^2) [1..5]
Flycheck сразу же подсвечивает warnings, ну подсвечивает и подсвечивает, загружаю код (C-c C-l). Далее вижу следующие предупреждения ==> скрин1
Как я понял здесь имеется ввиду, что Haskell будет использовать тип Integer по умолчанию или что-то типа того. Такие предупреждения немного поднадоели, как решить проблему? Нашел 2 способа:
1) Прописать явно типы ==> скрин2
2) Использовать флаг -fno-warn-type-defaults ==> скрин3

2 Вопроса:
Как правильно бороться с такими надоедливыми предупреждениями, 1-м способом или 2-м?
Куда лучше прописывать флаги, в Dispersion.cabal или все-таки в каждый модуль отдельно?
Миниатюры
Haskell и -fno-warn-type-defaults   Haskell и -fno-warn-type-defaults   Haskell и -fno-warn-type-defaults  

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.12.2014, 14:32
Ответы с готовыми решениями:

Работа с type в haskell
Доброе время суток задание такого плана : За время учебы в семестре студенты должны сдать определённое количество лабораторных работ,...

Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?)
"У нас" ? А где преподавание этой экзотики на высоте? Добавлено через 2 минуты А где такие "пришедшие" используют...

Warning: return type defaults to ‘int’ Что значит этот варнинг?
Вот программа #include <stdio.h> main() { float fahr, celsius; int lower, upper, step; lower = 0; upper = 300; ...

34
Модератор
 Аватар для Curry
5162 / 3510 / 536
Регистрация: 01.06.2013
Сообщений: 7,626
Записей в блоге: 9
09.01.2015, 14:36
Студворк — интернет-сервис помощи студентам
smoke853, Вроде, сделал как Вы сказали. Чтобы поставить ghc-mod пришлось опять переустанавливать ghc ("cabal hell", чтоб его). Отличия: emacs у меня х32, потому что такая винда. emacs понадобилось указывать в PATH, иначе на этапе curl -L http://git.io/epre | sh ругается что emacs не найден и нельзя отбайткодить.
Вроде - бы, остальное тоже, но в результате и даже не было подсветки в файлах hs.
Опять же "И вот эту папку нужно скопировать в .emacs.d" - содержимое папки в уорень .emacs.d или папку elisp внутрь папки .emacs.d ?

Дописал в .emacs
Lisp
1
2
3
4
5
6
(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.org/packages/") t)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
как Nameless One когда то советовал, установил из списка пакетов haskell-mode + company-ghc. Подсветка появилась, но не более.
Копирование через ^C ^V наверное, тут можно настроить, но его изучать и изучать ...
Практически, на чём прошлый раз начал, то и получил, не продвинулся.
Мда, может под linux всё здорово, но под вин нет нормального IDE для Haskell.

Не по теме:

leksah требует Gtk2, хотя уже давно есть GTk3, и даже оно указано в описании пакета. И, вообще, при его установки сообщения дичайшие, типа начинает качать и ставить gtk3 той же версии что уже установлена и валится потому что "такой файл уже есть".


Прискучили мне эти инсталляции в стиле слаки. Или вернусь к громоздкому эклипсу или обойдусь Notepad++ + WinGHCi + HLint. Жалко что контекстных подсказок нет нигде.
0
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
09.01.2015, 14:47  [ТС]
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
но под вин нет нормального IDE для Haskell.
Как нет, когда есть emacs

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Дописал в .emacs
ничего дописывать не нужно.

Сейчас распишу, более подробно
1
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
09.01.2015, 15:45  [ТС]
Кликните здесь для просмотра всего текста
Начнем:
1) В переменных средах пользователя для smoke, в переменной Path, у меня добавлены:
Code
1
C:\Users\smoke\AppData\Roaming\cabal\bin;C:\emacs\bin
В системных переменных, в переменной Path у меня добавлены:
Code
1
C:\Program Files (x86)\GnuWin32\bin;C:\Program Files\Haskell\bin;C:\Program Files\Haskell Platform\2014.2.0.0\lib\extralibs\bin;C:\Program Files\Haskell Platform\2014.2.0.0\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files\Haskell Platform\2014.2.0.0\mingw\bin
P.S. пути я тут написал не все, а только те, которые нужны по данной теме.

2) ghc-mod через cabal установили.

3) Пока что, здесь:
Code
1
C:\Users\smoke\AppData\Roaming
папки .emacs.d нету

4) Запускаем git bash и вводим:
Code
1
curl -L http://git.io/epre | sh
Появиться папка на скрине1 выделена

5) Копируем эту папку сюда:
Code
1
C:\Users\smoke\AppData\Roaming\
6) Далее открываем файл prelude-modules.el, оставляем расскоменнтированными только эти пункты: скрин2.
P.S. prelude-haskell мы не трогаем, это будет понятно далее.

7) Далее в папке personal создаем файл custom.el и в него копируем, то, что под спойлером. скрин3
Кликните здесь для просмотра всего текста

Lisp
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
(prelude-require-packages '(company-ghc
                            ghc
                            haskell-mode
                            ido-vertical-mode
                            smart-mode-line))
 
 
;;---------------------------
;; Emacs appearance setup
;;---------------------------
 
;; Set frame size
(add-to-list 'default-frame-alist '(height . 35))
(add-to-list 'default-frame-alist '(width . 100))
 
(menu-bar-mode t)
(scroll-bar-mode -1)
(global-linum-mode)
(set-default-font "Consolas-12")
(setq default-directory "M:/Users/smoke/")
 
(setq prelude-auto-save nil
      prelude-flyspell nil
      prelude-guru nil
      prelude-whitespace nil)
 
(setq auto-save-default nil
      make-backup-files nil) 
 
 
;;---------------------------
;; Functions
;;---------------------------
 
;; haskell
(defun prelude-haskell-mode-defaults ()
 (subword-mode +1)
 (turn-on-haskell-doc)
 (interactive-haskell-mode +1)
 (ghc-init)
 (structured-haskell-mode))
 
 
;;---------------------------
;; Plugins
;;---------------------------
 
;; cider
(setq cider-interactive-eval-result-prefix ";; => "
      cider-prompt-save-file-on-load nil
      cider-repl-result-prefix ";; => "
      cider-repl-use-clojure-font-lock t
      cider-switch-to-repl-command 'cider-switch-to-current-repl-buffer)
 
;; company
(setq company-idle-delay nil)
 
;; flycheck
(setq flycheck-display-errors-function 'flycheck-display-error-messages-unless-error-list)
 
;; haskell
(add-to-list 'company-backends '(company-ghc :with company-dabbrev-code))
(add-to-list 'load-path "C:/Users/smoke/AppData/Roaming/.emacs.d/structured-haskell-mode/elisp")
 
(require 'shm)
 
(set-face-background 'shm-current-face "#4F4F4F")
(set-face-background 'shm-quarantine-face "#8C5353")
 
(setq haskell-process-suggest-remove-import-lines t)
 
(eval-after-load 'haskell-mode
  '(progn
     (setq prelude-haskell-mode-hook 'prelude-haskell-mode-defaults)
     (add-hook 'haskell-mode-hook (lambda () (run-hooks 'prelude-haskell-mode-hook)))))
 
;; ido-vertical-mode
(ido-vertical-mode t)
 
;; smart-mode-line
(setq sml/no-confirm-load-theme t
      sml/theme 'respectful)
(sml/setup)
 
 
;;---------------------------
;; Hotkeys
;;---------------------------
 
(global-set-key (kbd "C-SPC") 'company-complete)
 
(global-set-key (kbd "C-M-j") 'delete-indentation)
(global-set-key (kbd "C-<") 'backward-paragraph)
(global-set-key (kbd "C->") 'forward-paragraph)
 
;; company
(define-key company-active-map [return] 'company-complete-common)
(define-key company-active-map [tab] 'company-complete-selection)
(define-key company-active-map (kbd "C-n") 'company-select-next)
(define-key company-active-map (kbd "C-p") 'company-select-previous)
 
;; haskell-mode
(define-key haskell-mode-map (kbd "C-c c") 'haskell-process-cabal)
 
;; shm
(define-key shm-map (kbd "M-^") nil)
(define-key shm-map (kbd "C-c C-^") nil)
(define-key shm-map (kbd "M-DEL") nil)
(define-key shm-map (kbd "C-w") nil)
(define-key shm-map (kbd "M-w") nil)
(define-key shm-map (kbd "C-M-k") nil)
(define-key shm-map (kbd "C-M-SPC") nil)
(define-key shm-map (kbd "M-}") nil)
(define-key shm-map (kbd "M-{") nil)
(define-key shm-map (kbd "M-s") nil)
 
(define-key shm-map (kbd "C-S-j") 'shm/simple-indent-newline-indent)
(define-key shm-map (kbd "C-M-j") 'shm/delete-indentation)
(define-key shm-map (kbd "M-j") 'shm/ret-proxy)
(define-key shm-map (kbd "C-c C-M-j") 'shm/swing-up)
(define-key shm-map (kbd "C-<") 'shm/backward-paragraph)
(define-key shm-map (kbd "C->") 'shm/forward-paragraph)
 
;; smartparens
(define-key sp-keymap (kbd "M-A") 'sp-beginning-of-sexp)
(define-key sp-keymap (kbd "M-E") 'sp-end-of-sexp)
(define-key sp-keymap (kbd "M-J") 'sp-join-sexp)
 
(define-key sp-keymap (kbd "C-M-<backspace>") 'sp-backward-kill-sexp)
(define-key sp-keymap (kbd "C-M-k") 'sp-kill-sexp)
(define-key sp-keymap (kbd "C-M-t") 'sp-transpose-sexp)
 
(sp-pair "[" "]" :wrap "M-[")
(sp-pair "{" "}" :wrap "M-{")


8)теперь открываем cmd.exe и вводим по-очереди:
Code
1
2
3
4
5
git clone https://github.com/chrisdone/structured-haskell-mode.git
cd structured-haskell-mode
cabal install
cd elisp/
make
У нас создатся папка structured-haskell-mode в:
Code
1
C:\Users\smoke\
Копируем ее сюда:
Code
1
M:\Users\smoke\Downloads\Torrents\IDE's\Emacs\Prelude\.emacs.d\
Скрин4

9) Только теперь запускаем emacs, он установит все пакеты, нужно немного подождать. Скрин5
Закрываем его и снова открываем, теперь жмем C-x C-f и открываем файл Main.hs, затем жмем C-c C-z, он спросит пару вещей:
Please answer yes or no, жмем y, далее Enter 3 раза. Скрин6

Все можно пользоваться

После этих манипуляций в пути:
Code
1
C:\Users\smoke\AppData\Roaming\cabal\bin
будут .exe: cpphs, ghc-mod, ghc-modi, hlint, structured-haskell-mode
Так же у меня были установлены программы:
unzip, wget, make
Они устанавливаются сюда:
Code
1
C:\Program Files (x86)\GnuWin32\bin\
В переменную path, они у меня добавлены, выше я писал, возможно нужно будет перезагрузить комп.
Вроде все, надеюсь я ничего не забыл, как видно все легко и просто
Миниатюры
Haskell и -fno-warn-type-defaults   Haskell и -fno-warn-type-defaults   Haskell и -fno-warn-type-defaults  

Haskell и -fno-warn-type-defaults   Haskell и -fno-warn-type-defaults   Haskell и -fno-warn-type-defaults  

2
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
09.01.2015, 15:54  [ТС]
в 4 скрине ошибочка, не ту папку заскринил, вообщем structured-haskell-mode копируется сюда:
Code
1
C:\Users\smoke\AppData\Roaming\.emacs.d\
а не в:
Code
1
M:\Users\smoke\Downloads\Torrents\IDE's\Emacs\Prelude\.emacs.d\
Здесь у меня бэкап
2
09.01.2015, 15:59

Не по теме:

Такой фанатизм как не плюсовать!
О, Билл Гейтс всемогущий, дай мне силы разобраться в этом ... ! :)

0
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
09.01.2015, 16:20  [ТС]

Не по теме:

да какой там фанатизм :) Я еще новичок в emacs'e, иначе не пользовался бы всякими Prelude, а свой собственный конфиг бы запилил :)



Добавлено через 13 минут
И в 3-м скрине имеется ввиду папка:
Code
1
C:\Users\smoke\AppData\Roaming\.emacs.d\personal\
1
Модератор
 Аватар для Curry
5162 / 3510 / 536
Регистрация: 01.06.2013
Сообщений: 7,626
Записей в блоге: 9
09.01.2015, 17:13
О! Теперь чёто заработало! Наверно, молитва БГ помогла.
Пока не понял как компилировать и можно ли запускать в качестве консоли используя фрейм emacs (надо make к каждому файлу писать? и вызывать меню\tools\compile ?).
Всё равно, огромное спасибо.
Миниатюры
Haskell и -fno-warn-type-defaults  
0
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
09.01.2015, 17:36  [ТС]
Чтобы скомпилировать жмем C-c C-c либо C-c c и выбираем из списка, что хотим сделать, ну там update, configure и т.д.

После компиляции, .exe можно запустить как обычно через cmd.exe, либо в emacs'e нажать C-x m, это запустит eshell и в нем запустить .exe. Есть и простой shell, эмуляция cmd.exe: C-x M-m, но нужно настраивать emacs под cp1251 кодировку.
В eshell'e есть один минус, или я не разобрался, вообщем если используем print или putStrLn с кирилицей будут цифры вместо букв. В линуксе кстати все норм, а вот в винде я полагаю из-за кодировки опять таки.

Так же можно не компилировать а просто загружать в ghci, с помощью C-c C-l, это комбинация по сути делает и load, а потом reload, ну можно и руками ввести :r. Ну и после того как нажали C-c C-l, можно ввести :main, чтобы вывести результат main'a.

Чтобы проверить обновления пакетов в emacs, жмем M-x и вводим list-packages, жмем Enter, появляется список, жмем shift+u, далее x, потом y и т.д. ну там подсказки будут, на вопрос хотите ли удалить старые пакеты нажимаем y.
1
Модератор
 Аватар для Curry
5162 / 3510 / 536
Регистрация: 01.06.2013
Сообщений: 7,626
Записей в блоге: 9
09.01.2015, 17:47
Цитата Сообщение от smoke853 Посмотреть сообщение
если используем print или putStrLn с кирилицей будут цифры вместо букв
Так же и в любой консоли под виндой будет. Текст для Haskell-а должен быть в utf-8, а винде, в консоль, надо в 866-ой кодировке выводить. Кусок текста что я привёл в окне emacs - это как раз пока сборная солянка. Собираюсь написать функцию перекодировки. Есть неколько пакетов по перекодировки. Преобразование в тип Text сразу кодирует utf-8 -> 1251 (или что стоит по умолчанию в системе). Можно чисто функции WinAPI вызывать по перекодировке : WideCharToMultiByte, AnsiToOemBuff и подобные. Сейчас, как раз решаю что лучше.
Но, это, по любому не emacs.

Под виндой надо на две стороны кодировать: что в консоль -866, что в окна - 1251.
0
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
09.01.2015, 18:06  [ТС]
Кстати в линуксе файл как раз в UTF-8, а винде судя по всему кодировка не определена.
Вот 2 скрина.

P.S. все равно редко пользуюсь кириллицей

Хотя нет, в винде тоже файл в UTF-8
Миниатюры
Haskell и -fno-warn-type-defaults   Haskell и -fno-warn-type-defaults  
0
 Аватар для smoke853
505 / 511 / 42
Регистрация: 12.12.2013
Сообщений: 484
09.01.2015, 18:42  [ТС]
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
можно ли запускать в качестве консоли используя фрейм emacs (надо make к каждому файлу писать? и вызывать меню\tools\compile ?).
Не понял, что запускать в качестве консоли, если имелось ввиду ghci, то C-c C-z.

По поводу make, не знаю никогда не пользовался. structured-haskell-mode исключение, его можно было поставить прописав shm в prelude-require-packages в custom.el и emacs бы его поставил сам, но я так делал и у меня не заработало. Поэтому ставил вручную как и показано на офф страничке.

По поводу Tools -> Compile, тоже никогда не пользовался не знаю даже для чего это нужно Может это вообще нужно, чтобы компилировать какие то emacs'овские штуки Вообщем в emacs'e столько всего, все и не запомнить.

Также, я вам рекомендую посмотреть исходники на офф страничках prelude, haskell-mode, shm. Посмотреть какие-там хоткеи используются , посмотреть, что я изменил в конфиге. И уже потом под себя настраивать и расширять конфиг.
1
10.01.2015, 15:35

Не по теме:

Возюсь с emacs. Вы правы. Заставить его отображать в консоли *haskell* текст в кодировке 866 (кодировка в которой отображается текст в консольных окнах (по линуксоидному в терминалах)) не удаётся. В нижней строке окна консоли, левее красного крестика, можно нажимать правую кнопку мыши и пытаться вводить всякие cp866 - но толку от этого никакого. А попытки что ни будь вставить в его конфиги по советам из интернета, обычно приводит к пропаданию всех настроек или какой ни будь двойной перекодировки исходного файла без спроса.
Все действия "нечеловеческие", к примеру, откат в меню обозначен как C-_ - ну я и думал что нажав Ctrl+_ , будет откат. Но не такова негуманоидная психология Столлмана! Это действие уменьшает шрифт. А что увеличивает - неизвестно. Чем кроме мыши выделять - неизвестно. Ну, это мелочи. Главное есть обнаружение очепяток "на лету" и даже некоторые автоподстановки.

0
10.01.2015, 16:04  [ТС]

Не по теме:

Ну да, я когда первый раз открыл emacs вообще все было непривычно. А теперь мне не привычно пользоваться стрелочками :) Другое дело C-f - вперед, C-b - назад, C-p - вверх, C-n - вниз и их комбинации да еще и плюс smartparens для lisp'ов.

На самом деле, вроде есть несколько вариантов undo и redo.
Но я запомнил как:
С-_ - undo
M-_ - redo

Я как-то делал список часто используемых хоткеев в emacs'e, но давно уже не подправлял, но по идее ничего не должно было поменяться. Хотя я сейчас пользуюсь emacs'ом 24.4.
https://drive.google.com/open?... authuser=0
Тут нету хоткеев для SHM, кстати я некоторые из них отключил, например: что касается выделения в SHM, мне не очень понравилось. Т.к. в Prelude Божидар Батсов добавил плагин easy-kill и easy-mark, я к ним больше привык. Еще кстати в SHM C-j и M-j работают наоборот в emacs 24.4 и в emacs 24.3 - это нужно иметь ввиду.

Также одни и те же хоткеи для разных режимов могут делать разные вещи.

0
21.01.2015, 07:55  [ТС]

Не по теме:

Цитата Сообщение от smoke853 Посмотреть сообщение
Я как-то делал список часто используемых хоткеев в emacs'e, но давно уже не подправлял
Все-таки решил подправить:
конфиг
хоткеи

P.S. документ на google диске на днях удалю.

0
21.01.2015, 08:24

Не по теме:

Цитата Сообщение от smoke853 Посмотреть сообщение
Все-таки решил подправить:
конфиг
хоткеи
P.S. документ на google диске на днях удалю.
Спасибо, утащил. :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2015, 08:24
Помогаю со студенческими работами здесь

Log4j:WARN
Здравствуйте! Для логирования использую logback. Но при старте приложения, в консоли постоянно такой варн выводится: log4j:WARN...

радио пульт лебёдки Warn - ищу протокол обмена
приветствую всех сломался радио пульт лебёдки Варн. Посмотрел цену - от 50 до 180 баксов (в зависимости от жадности продавцов) ...

UEFI defaults have been loaded
Всем привет. Началось недавно,когда включаю компьютер утром - он выдает следующее (фото).Потом нажимаю F1,он выключается на секунду,опять...

Что значит эта строчка "rno,bno,fno=integer"
Написал программу на примере другой, но преподаватель спросил, что означает вот эта строчка в коде, особенно что означает fno? ...

IntelliJ IDEA, выдает ошибку: [main] WARN io.netty.util.internal.ThreadLocalRandom, как починить?
Всем привет! *Если создал тему в неправильном разделе, просьба перенести. Уважаемые Java-программисты, пожалуйста подскажите, в...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru