
Александр
21.07.2018
11:02:33
Вот не зря же на плюсовых конференциях ФПшники сношали мозги своим Haskell. Досношались. Родился Rust

Mikhail Voronov
21.07.2018
11:05:01

Александр
21.07.2018
11:05:25
?

/dev
21.07.2018
11:08:11

Google

Александр
21.07.2018
11:09:08

Constantine
21.07.2018
11:09:17
Слишком долго
Тезисно я понимаю модель, которую предлагает Rust

/dev
21.07.2018
11:09:42

Mikhail Voronov
21.07.2018
11:09:45

Rasha
21.07.2018
11:35:12
Привет всем

Stanislav
21.07.2018
11:35:12

Rasha
21.07.2018
11:35:50
кто нибуь делал, что-нибудь подобное?
управляемая ракетка, мячик, который летает, отскакивает от стенок и ракетки и разбивает кирпичи. Игра должна как-то реагировать на падение мячика вниз, например рестартовать или заканчиваться. Прочие навороты (при наличии времени), вроде падающих бонусов

Дед Пегас
21.07.2018
11:36:20
Ты предлагаешь сделать?

Rasha
21.07.2018
11:36:51
да помочь() кто может ()() или подсказать че нить

Alexey
21.07.2018
11:38:40
или даже 40-45

Google

Rasha
21.07.2018
11:45:45
а кто нить умеет?

Stanislav
21.07.2018
11:45:51

Rasha
21.07.2018
11:45:56
я просто даже не знаю через какое иде
делать
визуал студио?
на железках сам сижу))

Stanislav
21.07.2018
11:46:15
тебе в @supapro

Alexey
21.07.2018
11:46:47
неа
угу. секрет был утерян много лет назад.

Rasha
21.07.2018
11:47:33
https://pastebin.com/txksc3XZ
вот есть начальный исходник его переделать по сути

Xessao
21.07.2018
12:01:35

Stanislav
21.07.2018
12:02:38
анонимный клуб:
я пишу под ембед
а я пропозалы в плюсы пишу
хлоп хлоп

Rasha
21.07.2018
12:03:29
да год возможно

Constantine
21.07.2018
12:04:14

Xessao
21.07.2018
12:04:16

Stanislav
21.07.2018
12:05:05

Constantine
21.07.2018
12:05:44
//Only for Visual Studio 7.0
for (int i = 0; i < n; ++i)
;
int i = 0;
assert(i == n);
Если кратко, то имеется конкурентная модель данных, которую можно обновлять из разных потоков безопасным образом, с помощью транзакций. Идея та же, что и у БД, но только в коде. И важная особенность STM, что транзакции композабельны. STM может быть исполнена в разных стилях, но конкретно моя повторяет интерфейс Haskell-ной, где транзакции - это специальная монада. Композятся они, соответственно, в монадическом стиле. Ну и сам код STM, конечно, функциональный получается. Я написал подробный туториал, если интересно:
https://gist.github.com/graninas/c7e0a603f3a22c7e85daa4599bf92525
А как бороться с проблемой Point { STML<int>, STML<int> } != STML<Point> ?

Александр
21.07.2018
12:11:19

Google

Alexander
21.07.2018
12:12:03
а у нас за ФП не банят ещё?

Xessao
21.07.2018
12:12:27
А должны?

Alexander
21.07.2018
12:12:35

Александр
21.07.2018
12:14:52
А как бороться с проблемой Point { STML<int>, STML<int> } != STML<Point> ?
Вообще, для этого нужно сделать инстанс Applicative для STML, и через специальную магию на типах сделать функцию sequence. Point, кстати, в примере выше получится параметризованным. Будет что-то вроде такого:
STML<Point<Id>> = sequence<Point<STML>>(pointWithSTMLs)
Возможно, чтобы не параметризовать Point, стоит сделать какой-нибудь вспомогательный PointRec.
Я не уверен, что смог бы с первого захода такое реализовать, но коллеги в Haskell сделали. Правда, там типы немного другие

Серж
21.07.2018
12:17:01
а чем в хаскеле типы отличаются?

Александр
21.07.2018
12:18:44
Можно обойтись и не генеричным вариантом.
STML<Point> p = stm::bind(point.x, [=](int x) { return stm::bind(point.y, [=](int y) { return stm::pure(Point {x, y}); }); };
а чем в хаскеле типы отличаются?
Много чем. Там есть Algebraic Data Types, есть GADTs, type classes, type families. А также можно любой Haskell-тип разобрать на синтаксическое дерево.

Серж
21.07.2018
12:21:31
наследования нету поди, как они только гуй там пишут

Александр
21.07.2018
12:23:30
наследования нету поди, как они только гуй там пишут
Динамического полиморфизма нет, это правда.
Desktop GUI на Haskell почти не пишут, потому что нет нативных библиотек. Биндингами к тем же Qt и GTK сыт не будешь. Хотя я делал. Но Web GUI кое-кто пишет и на Haskell, хотя другие Haskell-подобные языки лучше подходят (PureScript, Elm)
* Точнее, сабтайпинга нету. А динамический полиморфизм, наверное, все же есть

Серж
21.07.2018
12:27:43
а как в хаскелее переменную создать?

Andrei
21.07.2018
12:29:14
Переменные для слабаков.
А это чат по плюсам.
Проследуйте в pro.haskell

Александр
21.07.2018
12:31:00
а как в хаскелее переменную создать?
Смотря что вы имеете в виду. Если переменную, которую можно изменять - то придется это делать внутри нечистого блока IO и использовать IORef:
main = do
myMutableVariable <- newIORef "abc"
doSomethingImpure myMutableVariableА если неизменяемую переменную, то делается просто:
main = do
let myImmutableVariable = 10
let result = doSomethingPure myImmutableVariable
return 0

Zaur
21.07.2018
14:18:23
Всем привет, можно переменную называть snake_case или camelCase в c++
?

Matwey
21.07.2018
14:18:57
Можно как угодно

Google

Marina
21.07.2018
15:06:43
Добрый день! Ребят, подскажите, пожалуйста, нужно сделать гет запрос. подключаю #include <curl/curl.h> но при компиляции не удается найти указанный файл. как можно добавить внешнюю зависимость или может можно что-то аналогичное подключить?

Alexander
21.07.2018
15:07:07

Kirill
21.07.2018
15:13:24

Stanislav
21.07.2018
15:13:49

Kirill
21.07.2018
15:14:03
Conan наверное тоже вариант, но я лично пока не понял как его готовить)))

Stanislav
21.07.2018
15:14:05
лучше бистом обмазаться

Georgiy
21.07.2018
15:15:02

Stanislav
21.07.2018
15:15:33

Kirill
21.07.2018
15:15:36

Kramol
21.07.2018
15:17:15
добрый день
хочу попробывать лампочку зажечь на плате через своё написаное приложение
при на жатие на кнопочку зажигается диод

Stanislav
21.07.2018
15:17:43
и кто ж мешает?

Kramol
21.07.2018
15:18:00
как это сделать
как отправить пакет по порту

Stanislav
21.07.2018
15:18:29
че?
вообще тебе сюда https://t.me/proembedded

Kramol
21.07.2018
15:18:56
спасибо

Anatoly
21.07.2018
15:19:10

Ecklory
21.07.2018
16:03:11

Google

Stanislav
21.07.2018
16:15:35

Marina
21.07.2018
17:19:05
через Conan
спасибо! попробовала всё сделать также,как сказано на сайте,используя CMake/ создался исполняемый файл в папке bin, но он упорно не хочет запускаться

Alexander
21.07.2018
17:19:59

Grigor
21.07.2018
17:20:07

Anatoly
21.07.2018
17:21:33
chmod +x
это однозначно в FAQ как универсальный ответ на вопрос "почему моя программа не запускается?"

Pavel
21.07.2018
17:21:50

Anatoly
21.07.2018
17:22:52

Marina
21.07.2018
17:23:16

Anatoly
21.07.2018
17:29:56
то есть компилятор при сборке не установил флаг executable?