Skip to content

Finch 2.2.0

Choose a tag to compare

@Nexoniarz Nexoniarz released this 08 Oct 17:37
· 62 commits to main since this release

New examples

  • examples/opengl.fch: modern OpenGL 3.3 core with shaders, a vertex array and buffer, and a spinning, colorful triangle (GLFW).
  • examples/vulkan.fch: creates a Vulkan instance, lists every GPU with its type, Vulkan version, memory heaps and queue families, then creates a logical device and gets a graphics queue.

Language and compiler

  • ptr(n) and int(p) convert between numbers and pointers (OpenGL passes buffer offsets as pointers).
  • .ptr works on string literals ("Finch".ptr for C struct fields).
  • A comma after the last argument is allowed, which makes multi-line struct constructors tidy.
  • If a header you import includes a header that's missing, the error now names the missing one.
  • The .fn → .fch rename hint was removed.

The docs (technicians' guide, en/pl) have a new Graphics: OpenGL and Vulkan section. 59 tests, clean under valgrind; the self-hosted compiler still builds itself.