发布于 2017-08-03 23:55:05 | 160 次阅读 | 评论: 0 | 来源: 网友投递
Racket 编程语言
Racket,既PLT Scheme,是一种可编程的计算机程序设计语言 ,同时也是一个程序设计环境。是Scheme众多实现中的一种。
Windows 10 创意者更新引入了一个 bug,使得图形程序诸如 DrRacket 可能引起蓝屏等问题,本次更新采取措施缓解了这一现象,Microsoft 已经获悉此 bug 并将在未来版本中彻底修复。
详细更新:
Internally, Racket’s intermediate compatibility layer over operating-system facilities has been moved into its own library, “rktio”, so it can be used in future Racket implementations. This change should be transparent, but the refactoring moves code that has many compiler and OS dependencies, so we expect a new glitch or two in less-common build and execution environments. Please report problems at https://github.com/racket/racket/issues.
Racket supports cross-compilation of executables in more cases, including executables that depend on packages for foreign libraries.
The struct form supports an #:authentic annotation to declare that chaperones and impersonators are never allowed on instances of the declared structure type. This annotation is intended for use on a library’s internal data structures, where it won’t interfere with contracts or other forms of extension at a library’s interface. It can sometimes provide a small performance boost.
RackUnit adds nested-info and string-info to grant custom checks more control over the display and layout of check failure info.
The raco test command provides the ++arg and ++args flags to pass arguments to tested programs.
Typed Racket has types for immutable, mutable, and weak hashtables; in other words the type (HashTable K V) is a union (U (Immutable-HashTable K V) (Mutable-HashTable K V) (Weak-HashTable K V)). Standard library functions may have more specific return types. For example, hash-set has type (-> (HashTable K V) K V (Immutable-HashTable K V)). When an immutable hashtable flows from untyped code to typed code, Typed Racket may use a flat contract to verify its type (provided the table’s key and value types are flat).
The Typed Racket Optimizer is disabled in untrusted contexts (e.g., sandboxes). This prevents unsoundness in the Typed Racket type system from being used to get access to unsafe operations.
Racket’s internal runtime adds a scheme_atexit procedure with identical behavior as atexit defined in libc.