Status: Work in progress
(This website, too, is a work in progress)
 
UPDATE 2020-05-03:  I have been learning and enjoying The D Programming Language quite a bit.  It appears to have already achieved much of what I imagined ZACL to be, and it seems likely that ZACL will be defined as a fork of D and implemented with a fork of dmd.
 
The main points of enhancement I'd like ZACL to offer over D are, ranked by priority:
  • Improved practical expressiveness,
     
  • A built-in "job" type allowing safe, transparent access to threads, processes, coroutines, interfaces,
     
  • First-class regular expressions,
     
  • The compiler as a .so library, to facilitate run-time code evaluation,
     
  • Improved implementation of associative arrays,
     
  • Lower compile-time memory overhead (seriously, dmd's symbol table is ridiculous)
 
No public git repo, yet.  I've ditched my old work and have started over with some new D modules.
 
ZACL is A Concurrency Language.  Does the world need yet another programming language?  Yes, frankly, it does.  Or rather, it will.
 
Looking at trends in enterprise computer systems, some facts stand out:
 
So, what does this mean for future software development?
 
At the same time, some things will not change:
 
This tells us what a future programming language needs to look like, and I am using it as a specification for the ZACL programming language, an imperative, object oriented, highly expressive, garbage collected language with a strong/weak static/dynamic hybrid type system, memory-efficient data structure primitives, and powerful tools for distributed and concurrent processing.
 
I have some practical experience and theoretical education with all of these technologies so I'm trying my hand at putting them together.  So far I have most of a formal grammar written up (the expression grammar still needs some work) and some parts of the common runtime implemented in C.  It will use a hand-written parser, and LLVM for its back-end.
 
At the same time, I am trying out some approaches to concurrency paradigms in my Parallel::RCVM::* perl modules (not in CPAN yet, but eventually).  Getting real-world work done in a concurrency framework similar to ZACL's has been very educational, and continues to influence ZACL's direction.
 
Copyright (C) Bill Moyer / TTK Ciar, 2020