Errors in Weave

Weave is the Programming Language I’ve been developing in my spare time. …If you’ve been reading my blog at all, you’ll know that already. As I’ve been working on making Weave more of a “Real” language I realized I needed to provide some sort of error handling mechanism. While functions are pure and beautiful, we live in a world where side effects and muck are not only expected, but often required to Get Things Done. [Read More]
weave 

It Lives

At last, I have “finished” the Weave interpreter. I spent last few evenings playing with the fruits of my labor. And I think it’s pretty damn cool - even if I do say so myself. Check this out! One line convert from CSV to JSON read("input.csv", :csv) |> ^(rows) { write("output.json", rows, :json) } First class Lambdas & pipe operations make for easy function composition We can put generically useful logic inside reusable module, not reinvented for each script. [Read More]
weave 

Memory Management in Weave

I recently re-read my original post about Weave - the data-pipeline language I’ve been developing in my spare time. That post ended with the words “Weave is nearly fully implemented - and I’m nearly through the book! Another few weeks and I believe I’ll have Weave ready[…]” Oh the Hubris of my youth. In reality, it has taken me another seven months since those words were typed before I could consder Weave to be even remotely “ready” for “anything”. [Read More]

Weave Syntax

I wanted a language for writing simple, data-oriented shell scripts. …So I decided to make my own! Goals Clean syntax; Composable functionality Pipelines of data transformations should be trivial to express and compose First-class function support Make common data types trivial to work with Plain text Common data formats: CSV,JSON,INI,TOML,YAML Pipes Must be callable without interfering with the shell environment. e.g. the current Python/Ruby interpreter should not be a factor Anti-Goals Weave is not an all-purpose programming language. [Read More]
weave 

A (Programming) Language of My Own

(Pssst - wanna jump to the Syntax?) I’ve long enjoyed learning programming languages and I try to learn at least one new language every year. Past years have seen mainstream choices like Kotlin or Rust, or just playing around with something esoteric like Rockstar. This year I was going to (re)learn Lisp. It’s long held a fascination for me, with its legendary expressive flexibility and unusual syntax (at least, by C-family standards)! [Read More]
weave