доня.
для блоков кода
доня.
main = do {
name <- readLine;
putStrLn("Hello, " ++ name);
}
VCL
LexsZero
в do notation скобки необязательны, двумерный синтаксис же
Anonymous
do нотация это не блоки кода
Anonymous
плюс любой обучающий материал рекомендует не использовать скобки
VCL
Правда там dwarf был
LexsZero
https://hackage.haskell.org/package/BASIC-0.1.5.0/docs/Language-BASIC.html
Anonymous
разве этот синтакс называется двумерным? @LexsZero
LexsZero
какой, бейсик на типах?
LexsZero
нет, двумерный - это как в петушоне
LexsZero
и в хаскеле в некоторых местах типа инстансов, do- и let-нотаций, гардов
Anonymous
я про do нотацию
LexsZero
там точки с запятыми и скобки не нужны
Anonymous
ну да
Anonymous
это простое использование индентации
LexsZero
LexsZero
да, но не использовать ее в этом случае ты не можешь
Anonymous
именно
Anonymous
я не понимаю что в данном случае делает это двухмерным
LexsZero
компилятор aware of indentation & newlines и использует их чтоб понимать семантику. в одну строчку такое же не напишешь.
Anonymous
хм
Anonymous
этот термин так используют только в русском сообществе?
Anonymous
я видел его только в контексте языков подобных Befunge
Anonymous
где весь исходный ход расположен в виде двумерной сетки
LexsZero
да нет, 2d syntax вполне гуглится, применительно к экстеншну для ракета например
LexsZero
Anonymous
то есть использование индентации в хаскеле можно считать упрощённой версией той же техники?
LexsZero
ээ, это обобщенное название вообще любого использование \n и \s в синтаксисе
Anonymous
о
LexsZero
более интересного чем "выкинуть ньюлайны/заменить на ; и парсить все как одну длинную строчку"
LexsZero
и например \n\t значит не то же самое, что и просто \n
Anonymous
мне все таки больше нравится другое определение, https://codegolf.stackexchange.com/a/94829
Loyd
CSP последних годов предполагает каналы
Loyd
Акторы же общаются напрямую
Bogdan
в чем плюсы, минусы, что используют крутаны? Сорян, я из жс деревни
Bogdan
Сейчас просто про скалу почитывать начал, там же акторы во все поля
Loyd
Ну, воркеры в жс это пример актора
Евгений
Зачем переусложнять модели вычислений? CSP и акторы правда умеют в неограниченный индетерминизм или это миф?
Oleg
СSP мыслит последовательноми процессами
актор - это объект, с ортогональными обработчиками ивентов
Мерль
Если просто и тупо:
- у акторов общение полностью асинхронно, в CSP синхронно
- у акторов одна точка соприкосновения(один "почтовый ящик" на один актор), у CSP неограниченное.
В принципе поверх акторов можно сделать CSP, а поверх CSP (с некоторыми оговорками) можно сделать акторы
Oleg
Oleg
Мерль
Мерль
И много ещё всякого
Oleg
а чисто теоретически вообще не обязывают хоть как-то связывать момент отправки и получения
Евгений
Ну вот, я серьёзно, между прочим про неограниченный индетерминизм спрашиваю :( Просто я не очень могу осознать что это такое, потому что он звучит как неформализуемая магия
Мерль
Влод
Мерль
Ну то есть, что такое индетерменизм я помню более-менее, а вот что такое "неограниченный индетерменизм", да ещё в контексте программирования я не понимаю
Влод
по сути любое конкаренси недетерменизм
Евгений
https://en.wikipedia.org/wiki/Unbounded_nondeterminism
> In computer science, unbounded nondeterminism or unbounded indeterminacy is a property of concurrency by which the amount of delay in servicing a request can become unbounded as a result of arbitration of contention for shared resources while still guaranteeing that the request will eventually be serviced. Unbounded nondeterminism became an important issue in the development of the denotational semantics of concurrency, and later became part of research into the theoretical concept of hypercomputation.
Loyd
http://www.gamedev.ru/flame/forum/?id=208939
Интересная дискуссия
Влод
ого, в 2015м там всё ещё пишут
Мерль
Мерль
Ну так-то да, поскольку мы живём в реальном мире и пишем в основном не для систем реального времение, то неограниченный индетерменизм характерен вообще для любых систем с параллельными вычислениями
Евгений
То есть получается, что реальные компьютерные сети более чем тьюринг-полные?
Мерль
Мерль
Ну потому что за неограниченный промежуток времени программа закончит работу с вероятностью 1 без всяких других гарантий
Loyd
Loyd
Хьюитт только пизданул, что на акторах можно сделать алгоритм, невыполнимый на тьюринг машине
Loyd
Или ты о чем?
LexsZero
LexsZero
Мерль
Loyd
Ну, он нигде не предоставил его, так что хз
Loyd
У вас память конечна
Loyd
Забудьте вообще про полноту по посту или тьюрингу
Евгений
Ну, он нигде не предоставил его, так что хз
Ну там набросок доказательства есть. Алсо я могу найти статью, в которых есть строится модель неограниченного индетерминизма и доказывается, что оно решает задачу останова для UTM
Loyd
Oleg
Найди
кто-то так и не прочитал вики
-----------------
Spaan et al. [1989] have argued that it is possible for an unboundedly nondeterministic program to solve the halting problem; their algorithm consists of two parts defined as follows:
The first part of the program requests a natural number from the second part; after receiving it, it will iterate the desired Turing machine for that many steps, and accept or reject according to whether the machine has yet halted.
The second part of the program nondeterministically chooses a natural number on request. The number is stored in a variable which is initialized to 0; then the program repeatedly chooses whether to increment the variable, or service the request. The fairness constraint requires that the request eventually be serviced, for otherwise there is an infinite loop in which only the "increment the variable" branch is ever taken.
Clearly, if the machine does halt, this algorithm has a path which accepts. If the machine does not halt, this algorithm will always reject, no matter what number the second part of the program returns.
Мерль
Немного не в тему, но всё же
Я тут вспомнил старый прикол с кафедры, про то, как два студента решили проиллюстрировать/доказать теорему о возвращении.
Ну, смоделировали численно на матлабе бильярд с шарами, все дела. Через некоторе время шары действительно встали на исходные позиции.
Чувствуете в чём подвох?