Some <| CoolStuff() – Telegram
Some <| CoolStuff()
60 subscribers
115 photos
44 videos
3 files
356 links
Pieces of interesting stuff
Admin: @slavonchick
Download Telegram
Forwarded from Блог*
#amazingopensource #menacingopensource

Что такое fortraith? Нет, это не опечатка в слове Fortran или, упаси боже, Fortnite. Это — библиотека, реализующая компилятор времени компиляции, который переводит что-то, похожее на Forth, в вычисления на уровне типов Rust. Что? Да.
#prog #dotnet

SourceGear Bridge preview: Swift with .NET in Xcode
https://ericsink.com/entries/sourcegear_bridge.html
Forwarded from Блог*
#prog #article

Системы типов #java и #scala являются unsound. Подробности в статье.

TL;DR:
Программа определяет тип class Constrain<A, B extends A> {} и метод upcast:

static class Bind<A> {
<B extends A>
A upcast(Constrain<A,B> constrain, B b) {
return b;
}
}

Этот метод просто апкастит значение типа B в значение типа A, используя значение типа Constrain<A, B> как материальное свидетельство того, что B действительно является подтипом A. К сожалению, ничто не мешает в качестве значения этого типа использовать null, что ломает логику системы типов, которая полагается на этот факт, а использования wildcard capture позволяет при помощи Constrain установить отношение субтипизации между двумя произвольным типами. Результат? Комбинация null-гого Constrain и upcast позволяет перевести значение любого типа в значение любого типа. Фактически — аналог std::mem::transmute, но без каких либо небезопасных фич и с корректно типизированным кодом.

И эта ошибка оставалась незамеченной 12 лет. А кто-то ещё говорит, что null — хорошая идея.
#meme

Спасибо @neftedollar за наводку)
Оригинал: https://twitter.com/a_kapustin/status/1440984303182258177?s=21
#prog

GitPod запускает OSS версию VS Code сервера (считай, self-hosted версия GitHub CodeSpaces)!

Блог GitPod: https://www.gitpod.io/blog/openvscode-server-launch

Собсно репа: https://github.com/gitpod-io/openvscode-server/