Releases: AshleyYakeley/Truth
Releases · AshleyYakeley/Truth
Pinafore 0.5
- Language
- redesign dynamic types
- allow decarations in do-blocks
- Library
- built-in
. add collect.FiniteSetModel
. add newClockUTC.Date, newClockLocal.Date
. improve type of getList.FiniteSetModel
. add DynamicType and functions - GTK
. allow checkbox menus - UILib
. update
- built-in
Pinafore 0.4.1
- Install
- Nix flake outputs for VS Code extension
- Language
- improve recursive type simplification
- clean up error messages
- reserve "type" keyword
- Library
- add constructors for Time type
- Fixes
- fix type solver
- reject "rec a, a" types
- fix fromList.Map
Pinafore 0.4
- Install
- Debian package works on:
. Ubuntu 22.04 LTS "jammy"
. Debian 12 "bookworm" - add Nix flake
- Debian package works on:
- 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
- overhaul of declarations
- 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
- Std
- Storage
- Anchors now 256 bit, hash using BLAKE3
- Store literals as binary rather than as text
- Embed smaller literals directly in the anchor
- Fixes
- fix defect in lexical scoping
Pinafore 0.3.1
- fix serious defect in type unifier (really this time)
Pinafore 0.3
- Language
- add subsumption expressions
- allow module-qualified names
- improve type simplification
- Library
- Std
. add "index" function for lists
. add "forWhole" function
. change some constructor names not to clash with type name
. new ListRef type, with functions
. rename various reference-related functions - UI
. separate module
. rename "UI" type to "Element"
. elements for CSS styling
. openWindow now takes size
. notebook can track page selection
- Std
- Fixes
- fix defect involving export of open expressions
- fix serious defect in type unifier
- fix defect involving imported types
Pinafore 0.2
- new module system
- dynamic supertypes
- dynamic entity types
- generalised open entity subtypes
- various new predefined bindings
- bug fixes
Pinafore 0.1
Initial release. See https://pinafore.info/.