You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Debian package works on:
. Ubuntu 22.04 LTS "jammy"
. Debian 12 "bookworm"
add Nix flake
Language
overhaul of declarations
. separate namespaces from modules,
with "namespace" declarations and "with" and "import" declarators
. both non-recursive ("let") and recursive ("let rec") declarators
. "expose" declarations
. allow declaration documentation with #| and {#| #} comments
datatype declarations
. "closedtype" now "datatype storable"
. can now have parameters
. can now have subtypes
. record constructors/patterns for datatypes
. allow recursive types in datatypes
can declare arbitrary subtype relations
import lists
syntax
. allow defintion of new operators
. changed recursive type syntax from "rec v. T" to "rec v, T"
. type names (+:), (*:), List, Unit
. tuple constructor/pattern (,,) etc.
. type signatures now attach to bindings, not stand-alone
. separate syntax for static ":" and dynamic ":?" pattern typing
. new syntax for function expressions: fn, match, =>
. new syntax for datatype definitions
. generalised "{}" and "do" syntax to any namespace
reject rather than mutate uninvertible type signatures
allow polymorphic recursion with type signatures
Interactive
:doc to retrieve name documentation
Library
Std
. Literal type now byte array rather than text
. Literal types now have GDS Literal
. add Showable type for showing, show replacing toText
. add min/max/lesser/greater functions
. add List1 type for non-empty lists, subtype of List
. rename "Ref" types and functions to "Model"
. add TextModel type & associated functions, use for uiTextArea
new Task module
. add Task type & associated functions
new Stream module
. add sinks & sources
new Env module
. move invocation-type stuff here
. add stdin, stdout, stderr
new Eval module
. move evaluate here
new Colour module
. add Colour & AlphaColour types, etc.
new GIO module
. add GIO File type and functions
new Cairo module
. add Cairo-based functions for creating drawings
new Image module
. add Image, HasMetadata, PNGImage, JPEGImage types, etc.
GTK
. rename (from "UI")
. explicit control over context
. menu bar is just ordinary element
. element for Image