Introduction

Flow is a new programming language design -- in fact an entirely new programming language paradigm -- that solves the multicore dilemma through ubiquitous, guaranteed-safe implicit parallelization.

Flow also makes it very hard to shoot yourself in the foot, by eliminating the potential for many sources of common programming errors, including errors that cause null pointer exceptions / segfaults, deadlocks / race conditions, type mismatches / class cast exceptions and more.

Flow's memory management is completely automatic -- you never need to malloc()/new or free() anything -- and yet this is not accomplished through garbage collection, so there are no unpredictable delays due to GC.  Flow allocates memory precisely when it is needed and frees it precisely when the last thing that can refer to a block of memory has finished using it.

The gory details are all in the Flow Manifesto.

"A language that doesn’t affect the way you think about programming is not worth knowing. " -- Kenneth Iverson

(Style guideline: include the keyword "flowlang" somewhere on any web pages that talk about Flow, so that search engines can find information specifically about the language.)