- 1
- 2
- 3
https://tass.ru/nacionalnye-proekty/6391295
Томские ученые разработали первое в России программное обеспечение, независимое от Windows
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://tass.ru/nacionalnye-proekty/6391295
Томские ученые разработали первое в России программное обеспечение, независимое от Windows
ШОК! Томские ученые открыли способ создавать программное обеспечение, независимое от Windows. Нужно всего лишь…
0
NVIDIA GeForce GTX 550 Ti - 3 075 очков на 3DMark 11 Performance
NVIDIA GeForce GT 1030 - 2 891 очков
У меня сгорела видеокарта, купленная 7 лет назад. Современная, почти такая же по производительности стоит в полтора раза дороже, чем моя стоила тогда (в рублях). Прогресс отменили, что ли? У меня баттхерт.
0
Onetime = ?config(onetime, Config) =:= true,
Boolshit? Нет, это динамическая питуизация.
+1
var v: List[Int?] = List@{1, 2, none, 4};
//Chained - List@{1, 4, 16}
v->filter(fn(x) => x != none)->map[Int](fn(x) => x*x)
//Piped none filter - List@{1, 4, 16}
v |> filter(fn(x) => x != none) |> map[Int](fn(x) => x*x)
//Piped with noneable filter - List@{1, 4, 16}
v |??> map[Int](fn(x) => x*x)
//Piped with none to result - List@{1, 4, none, 16}
v |?> map[Int](fn(x) => x*x)
// 5.15 Merge
entity Baz {
field f: Int;
field g: Int;
field k: Bool
}
var t = @[ 1, 2, 3 ];
t<+(@[5]) //@[1, 2, 3, 5]
t<+(@[3, 5]) //@[1, 2, 3, 3, 5]
var r = @{ f=1, g=2, k=true };
r<+(@{g=5}) //@{f=1, g=5, k=true}
r<+(@{g=3, k=false}) //@{f=1, g=3, k=false}
r<+(@{g=5, h=0) //@{f=1, g=5, k=true, h=0}
var e = Baz@{ f=1, g=2, k=true };
e<+(@{g=5}) //@{f=1, g=5, k=true}
e<+(@{g=3, k=false}) //@{f=1, g=3, k=false}
e<+(@{g=5, h=0) //error field not defined
«Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — чтобы он был прост и понятен как для человека, так и для компьютера»
А вот кому новый, простой и понятный язык? Содержание спецсимволов всего на 54% превосходит таковое у «C++»!
h/448814
https://github.com/Microsoft/BosqueLanguage/blob/master/docs/language/overview.md
0
Переменная loffset 0 loffset!
Переменные местные жители здесь местные! Выбрано 100 (несколько) ячеек
: локальный, (смещение -)
отложить rp @ loffset @ swap -
откладывать буквально откладывать +;
: бизнес, (смещение -)
местный, отложи рп! ;
: (local DOES> @ local, отложить @;
: f> r r> rp @ 1 float - dup rp! е! > г;
: (flocal DOES> @ local, отложить f @;
: нечего делать ;
: ralign r>
START rp @ [1 плавает 1-] Буквально и
WHILE ['ничего не делать> тело] ALiteral> r
REPEAT> r;
: <local (- sys1)
текущие @ @ loffset @ местные жители @
больше 0 = ЕСЛИ отложено до ТО; мгновенный
: местный: (-)
откладывать> последние новости здесь местные жители @ дп!
ячейка loffset +! Создать loffset @, немедленный (локальный
вот местные жители! дп! lastcfa! прошлой! ; мгновенный
: flocal: (-)
Последние новости здесь местные жители @ дп!
START loffset @ 0 1 плавает падение FM / мод, пока
0 отложено Буквально откладывай> 1 ячейку + клетки! повторение
отложить f> r Создать loffset @, немедленный (flocal
вот местные жители! дп! lastcfa! прошлой! ; мгновенный
: local> (sys1 - sys2); мгновенный
: локальный (sys2 -)
местные жители! dup delocal
Loffset! ток @! ; мгновенный
: TO> in @ 'dup @ [' (local> cell body +] ALiteral =
IF> body @ local, отложить! падение
ELSE dup @ ['(flocal> cell body +] ALiteral =
IF> body @ local, отложить ф! падение
В противном случае, смотрите> в! отложить на потом; мгновенный
: DO 2 ячейки loffset +! отложить DO; немедленное ограничение
:? DO 2 ячейки loffset +! отложить? ДЕЛАТЬ; немедленное ограничение
: Для 2 ячеек loffset +! выделить для; немедленное ограничение
: LOOP -2 ячейки loffset +! Задержка LOOP; немедленное ограничение
: + LOOP -2 ячейки loffset +! отложить + LOOP; немедленное ограничение
: СЛЕДУЮЩИЙ -2 loffset + клетки! отложите СЛЕДУЮЩУЮ; немедленное ограничение
:> R 1 клетки loffset +! отложить в сторону> R; немедленное ограничение
: R> -1 ячейки loffset +! отложить R>; немедленное ограничение
Местные жители высокого уровня 19aug93py
: {отложить <местное -1
НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
drop> in @> r
НАЧНИТЕ dup 0 <0 = WHILE> в! отложить местное: REPEAT drop
d> в! отложить местное>; немедленное ограничение
: F {отложить <местный -1
НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
drop> in @> r
НАЧНИТЕ dup 0 <0 = WHILE> в! Отложить Flocal: REPEAT DROP
d> в! отложить местное>; немедленное ограничение
'местный; псевдоним} немедленное ограничение
\ ANS Locals 19aug93py
Создайте 5 локальных ячеек, выберите их
: (местный) (адрес)
местный @ 0 =
Если вы отложите в сторону <local local on
3 локальных ячейки + 2! местная ячейка + 2! ЗАТЕМ
dup IF linestart @> r исходная строка #> r загрузочный файл @> r
blk @> r> tib @> r #tib @ dup> r> in @> r
> Тиб +! dup #tib! > Tib @ Swap Move
> выкл blk выкл loadfile выкл -1 linestart!
отложить местное:
d> в! r> #tib! > Тиб! r> blk!
r> загрузочный файл! r> Loadline! r> linestart!
ELSE 2-капельные локальные клетки + 2 @ локальные 3 клетки + 2 @
отложить местный>
2 локальных ячейки + 2! местная ячейка +! ЗАТЕМ;
:? местный;
местный @
IF с местными ячейками + @ с местными 2 ячейками + 2 @
отложить местное; местный от ТОГО;
:; ?местный; отложить; ; немедленное ограничение
:> Местный; откладывать делает>; мгновенный
: EXIT inlocal @ IF 0 delocal, TO откладывает EXIT; мгновенный
: местные жители |
НАЧАТЬ имя dup c @ 1 = больше 1+ c @ '| = и 0 = WHILE
читать (локально) REPEAT 0 (локально); немедленное ограничение
0
fuse_blown() ->
whereis(?marker_process) =/= undefined.
Q: Какой механизм IPC в Erlang самый быстрый и безопасный?
Отвечает Снаут, основатель Стиля Вечно Ждущего Процесса: process registry.
0
Я забыл теорию графов, но вот недавно читал про магазинный автомат, а вы?
+1
Заметил, что после написания почти каждого сообщения я копирую в буфер обмена какой-нибудь символ, чтобы перетереть возможное старое значение.
Чтобы случайно в какой-нибудь чат не вставить [color=green][i]конфиденциальную информацию[/i][/color].
Это нужно лечить?
+1
rt_fold(#{}, Acc) ->
Acc;
rt_fold(Keys, Acc) ->
maps:fold(<.... опущено ...>, Acc, Keys).
+1
# это комментарий #
COMMENT это понятно что COMMENT
CO это тоже ко-ко-коментарий CO
CO функция принимает 3 параметра типа INT и возвращает ссылку на массив CO
PROC range = (INT start, end, step)REF[]INT : (
INT length = ABS((end - start) % step);
NEW [0 : length - 1]INT result; CO массив в куче CO
CO LWB —– нижний индекс массива, UPB —– верхний CO
FOR i FROM LWB result TO UPB result
DO
result[i] := start + i * step
OD;
result CO функции возвращают результат последнего вычесленного выражения CO
);
CO можно определять свои операторы CO
OP RANGE = (INT start, end)REF[]INT: range(start, end, (start < end | 1 | -1));
PRIO RANGE = 5; CO для бинарных операторов нужно задать приоритет, у сложения/вычитания приоритет = 6 CO
CO для операторов возможна перегрузка по количеству и типу аргументов CO
OP RANGE = (INT end)REF[]INT: 0 RANGE end;
OP ACCUM = ([]INT x, PROC(INT,INT)INT f)INT : (
INT length = UPB x - LWB x;
IF length = 0 THEN
1
ELIF length = 1 THEN
x[LWB x]
ELSE
INT result;
result := x[LWB x];
FOR i FROM LWB x + 1 TO UPB x
DO
result := f(result, x[i])
OD;
result
FI
);
PRIO ACCUM = 5;
CO правый операнд у ACCUM —– лямбда CO
OP ! = (INT x)INT: 1 RANGE x + 1 ACCUM ((INT x, y)INT: x * y);
printf(($g(0), "! = ", g(0), l$, 7, !7));
OP MAP = ([]INT x, PROC(INT)INT f)REF[]INT : (
NEW [LWB x : UPB x]INT result;
FOR i FROM LWB x TO UPB x
DO
result[i] := f(x[i])
OD;
result
);
PRIO MAP = 5;
PROC pow = (INT x, n)INT: x ^ n;
CO каррирование CO
printf(($g(0), " "$, RANGE 10 MAP pow(2, )));
print(new line);
OP FOREACH = (REF[]INT x, PROC(REF INT)VOID f)VOID : (
FOR i FROM LWB x TO UPB x
DO
f(x[i])
OD
);
PRIO FOREACH = 5;
REF[]INT a = -5 RANGE 6;
a FOREACH ((REF INT x)VOID:
x := x ^ 2
);
printf(($g(0), " "$, a))
https://tio.run/##jVVdbxJBFH3nV1xbTXZ1iaBpNVQfkFIlKV2C1T40mJBIkYRgUzFdEx@wtRpTPx70hyCWlkLBvzDzF/wj9dw7s0uBmgiF7syce@fOuecM5Xr1ZX3xbvX8fJ70F72nRqT6aqTO8O6qISbauqV66pTmYxk/n8@urUe438AN9TcMhhjqjzJrQQCHOP5Sx6oriePR18wGGT8mUe/1PhL29QfV09@wiywP8TlTbdXVe3Sbt@aoNufQe/zEu/R4mnKoUPVIdbDFierwov5kI/U7vA/VANn3CTnbxEl5FsEdrqBQ9DO0U25UK3SfHM71qlneaXpUaTz38FzZdovZlc0Sr6TIiRFe/FyvNKrNF4hJP3jsOABT3ES6dM2ELQl2LbtBmwmE2oA4JSXXTuXV63pzCSVMlsR/KFZ/BH8oj1MAsrrxgP60fvxpfSdh5li@T0mIOgKvff1uIo9qe/SkMA7qgI6WPrBhNvGKX6QarRT9vGxgSqJ1XyLNSHDLBs4vM7tZK1Hqvjkv3UCO63JkQfnL5uA221SDL2mU/sqNauEQJ8AN9GeRyJ7IDYcZYOEI4V31izXY0YfMjV0YshLHC6yQY5lmJeGUaELMMDwSzoAbicC6wtqAxaw/QyZSVE9WmSkuALu39CFn8QtUTK89zM4qJNJGymjIuSgeM6B7PKK3lMQnnnRRUqGY86OMC0YDR1wMqZ/SUdb6EOc5mCkIYwhkCKLscU5w5CNexTGsdRjWAxwG8Ai6F65GY2JuWhIZ07ZczYaitMXQomF1lxZj2hky3CaLQb/A3z6W@mbSXjQDbCANRI4Ou7JnrczPfPBfCAqvipEx6XQDJplP2EXMot3ApjOZJ3nGGtsGHrHLOdLDx@W5LfefhmbxB/ApWyIwWs6tjJcTtP4ouxYZIilP2dWLkOQkJNiUVCWLfJyNVi5cBFMOY3uFceO1KcMG8F4y9GsQoS7YdTLhlmOePaSuldwIFVp2jDbXQy4WijVkdMH66bdYDTLiOyhSBd9FLDiDDq8eKAf9/Mkqtb28EvYxcKWBSdtAcx4T7Ti2dW8MJsAd84btvL1TazS3HOdq1Um4Hs1xsjmPzKh@1aM7Hl25wzbjrfLpwqVCsCKYudrlujbcpgytpekmzTRhogH/uiu3nDHnk1dkRLKplSmWH6Xtl7sRTx41QhqeUcM2oc92EcOKE42Xzc/GNEk0B2IMycmEbITszi2PXCZK0E6jskv1WqNimcMxs@nMIy4hYikkEBOsXfepn1sGi/IvZPC/6ZlkJGJhvC8zEW1dxkR8wZ5hcSlWjoBOWA7kxJWkJGMgDgJbt2KXqUYIKbvu@flf
Давайте течь от "Algol-68".