聚合搜Scholar - 壹搜网为您找到"
拒绝“偷天换日”!深度拆解 Go sumdb 的密码学防线
"相关结果 30条We describe a design for generics in Go inspired by previous work on Featherweight Java by Igarashi, Pierce, and Wadler. Whereas subtyping in Java is nominal, in Go it is structural, and whereas generics in Java are defined via erasure, in Go we use monomorphisation. Although monomorphisation is widely used, we are one of the first to formalise it. Our design also supports a solution to The Expression Problem.
arxiv.orgKill-all Go is a variant of Go in which Black tries to capture all white stones, while White tries to survive. We consider computational complexity of Kill-all Go with two rulesets, Chinese rules and Japanese rules. We prove that: (i) Kill-all Go with Chinese rules is PSPACE-hard, and (ii) Kill-all Go with Japanese rules is EXPTIME-complete.
arxiv.orgThe Go programming language is an increasingly popular language but some of its features lack a formal investigation. This article explains Go's resolution mechanism for overloaded methods and its support for structural subtyping by means of translation from Featherweight Go to a simple target language. The translation employs a form of dictionary passing known from type classes in Haskell and preserves the dynamic behavior of Featherweight Go programs.
arxiv.org