Flow9 programming language is now open supply

Flow9 programming language is now open supply


Platform for protected, straightforward and productive programming of complicated, multi-platform apps with a contemporary person interface

circulation

circulation is a platform for protected, straightforward and productive programming of complicated, multi-platform apps with a contemporary person interface.

The circulation platform consists of

  • The circulation programming language, a protected, practical strongly-typed programming language
  • The flowc compiler, an incremental compiler for a number of targets
  • The circulation runtime & normal library, which supplies a whole cross-platform library together with mature UI elements

circulation has manufacturing high quality targets for:

  • HTML by way of JS
  • iOS
  • Android
  • Home windows, Mac, Linux

Hey world

import runtime;

important() 

Meet circulation

  • circulation is an easy, practical language within the ML household
  • C-family syntax
  • Strongly typed, polymorphism, subtypes
  • Designed to appear to be different languages and be straightforward to study
  • Minimalistic to scale back complexity and ease porting to new platforms
  • Similar code compiles and runs on HTML5, iOS, Android, Home windows, macOS, Linux
  • Manufacturing high quality. Software program utilized by thousands and thousands of customers
  • Pixel precision—high-design, responsive UI on all platforms with similar code
  • Full normal library written in circulation itself, with natives for every backend
  • In depth UI toolkit primarily based on Google Materials Design tips
  • UI toolkit primarily based on Purposeful Reactive Programming

Set up

  1. Be sure you have Git LFS put in.

  2. Try this repository with one thing like

    git clone https://github.com/area9innovation/flow9

  3. Add flow9bin to your path. We additionally require 64-bit Java Runtime and Python in your path.

  4. Cd into the flow9 listing and compile and run the primary program:

    c:/flow9> flowcpp demos/demos.circulation

If this doesn’t work, be sure you have Git LFS put in.
You must reclone the flow9 repository after putting in Git LFS, or use git lfs pull.

See demos/demos.circulation to learn the code for this instance.

Documentation

See doc/readme.markdown for additional documentation in regards to the language
and platform, together with extra particulars on the best way to get began.

Neighborhood

There’s a weblog about circulation right here:

https://flow9.org/

There’s a chat in Telegram for discussions about circulation:

https://t.me/joinchat/LhUedxYVLN25Eu9XNo93yQ

There’s a mailing listing group in teams.io about circulation as properly:

https://teams.io/g/circulation

Your first message requires moderation approval to keep away from spam.

Tooling

  • flowc is the present compiler, written in circulation itself. See instruments/flowc. Can work as a compile server.
  • circulation is the unique compiler, written in haxe. See instruments/circulation
  • Single-step debugger utilizing gdb protocol (see platforms/qt)
  • Profiler for time, directions, reminiscence, rubbish assortment
  • JIT (just-in-time) compiler for x64, interpreter for ARM and others
  • Compiles to C++ and Java for performance-critical code, sometimes server facet
  • IDE/Code editor assist for VSCode, Chic Textual content, Kate & others
  • Mature PEG parser generator. See doc/lingo.markdown

Folders

  • bin – binaries for the compiler and associated instruments
  • debug – code for the debugger and profiler
  • demos – a demo program exhibiting how the UI library can be utilized
  • doc – documentation of the language and libraries
  • lib – the circulation normal library
  • platforms – the circulation runtime platforms supply code
  • assets – integrations with VS code (beneficial), Sublimetext and extra
  • sandbox – comprises whats up world
  • instruments – the compiler and processor for rendering fonts
  • www – required information to be uncovered by the web-server for working circulation packages on-line
  • www_source – the supply information of a number of the information within the www folder

License

The circulation compiler is licensed beneath GNU Basic Public License model 2 or any later model.
The circulation normal library is launched beneath the MIT license.
For the license of different elements, see LICENSE.txt.

Title

circulation was began in 2010. This predates the ‘circulation’ typechecker from Fb. Thus, we elect
to maintain the identify, because it got here first, is a full platform and the chance of confusion appears small.
Nevertheless, ought to the necessity come up, then flow9 may also be used to discuss with this language.

Historical past

  • August 2010: The very first program ran on Flash & HTML5
  • November 2013: First app authorised in iOS retailer
  • April 2014: First app authorised in Android PlayStore
  • November 2015: Flash was retired, utterly migrated to HTML5
  • January 2016: Materials tips applied
  • November 2016: JIT for x64 was added
  • Might 2018: Self-hosted compiler written in circulation itself
  • April 2019: Preliminary open supply launch

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.