Repository navigation
Releases: hlpdev/FutureBlitz
Releases · hlpdev/FutureBlitz
Release list
FutureBlitz 1.1.0
Immutable
release. Only release title and notes can be modified.
FutureBlitz 1.1.0 adds build steps, which let a package generate its own code and data; Object, the type every Class's object converts to; and package tests that can see the package's Package members. To install or update, see Installing in the README.
The language
- Object: every Class's object is an
Object, a built-in Interface with no members. Code can keep any object, weakly too, asWeak<Object>, and turn it back into its Class withAs?orAs, to a Class type parameter too. - Built-in type names:
Object,Task,Channel,Weak, and the language's other types' names aren't keywords. A type or Alias that a module declares or imports by one of them takes its place there. A Function or a Global of the name doesn't. - Tests: a package's tests (its
tests/folder and its files'@Tests) see its Package names, as its own files do, and so do its doc comments' examples. A prebuilt library's tests see what its interface file has. - Stack traces: a test's trace ends at the test, on the main thread or a worker.
Packages
- A path and a version: a dependency can name both its folder and its version, as
shapes = { path = "../shapes", version = "0.3" }. Builds use the folder, and the published package depends on the registry's version, whichfb publishchecks is there. - Build steps:
[build]in project.toml names a program thatfb buildruns before it compiles the package. Its.fbfiles join the package as modules, and its other files are what Embed takes. It runs again only when what it read changes, one fb at a time, and it ends with the fb that runs it. The editor uses what the last build made. Building a package whose dependency has a[build]runs that dependency's program on your machine. - Publishing:
fb publishbuilds the unpacked archive from the registry's packages, as everyone who adds the package will.--no-verifyskips that.
The standard library
RealWaitandSleepwait to about a millisecond on Windows too.- A Vfs mount's file at a place cuts off what earlier mounts have there, and a later mount at or under it makes it a folder again, for every call alike.
File.WriteBytesAtomicand the other atomic writes replace a file that another handle has open on Windows.Mat4.PerspectiveandMat4.Orthographicrefuse values that would make a matrix that isn't finite.- A TGA whose pixels end before its image does is an IOError, not an image of nothing.
The tools
fb buildprintsRunning <package>'s build stepfor each step it runs.- The VS Code extension runs only in a trusted workspace, since the language server runs a package's build step.
FutureBlitz 1.0.1
FutureBlitz 1.0.1. See the README's Installing.
FutureBlitz 1.0.0
FutureBlitz 1.0.0. See the README's Installing.