Skip to content

gardenofnumbers/wence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wence: a Dataflow Programming Lannguage

Wither: a Declarative Language for parsing

WIP - Please begin by reading Language.md

usage: python3.10 main.py wence.wi <in: *.we> <out: *.dot>

This runs the wither interpreter and wence compiler using the given grammer and wence source to produce a wence tree

e.g. euclid.we produces

this graph

Known issues: if you make a typo/use invalid syntax the output graph will usually just be empty or it'll throw an obtuse error

Quicksort implementation likely would not work. As written, it implies a temporal constraint imposed by the order of statements within a block, which is not the case. Statements can be executed simultaneously or in any order. The quicksort implementation largely serves as a stress test for compilation as it exercises the much of the complexity of the language, and the graph can be examined as if statements executed in order to determine correctness of compilation.

Graphviz clustering isn't perfect. Currently this and lift (at least) wind up at the wrong depth in the clustering, and sometimes BLOCK_REF can fail to nest properly at all - the actual edges are accurate, though.

About

wence programming language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages