RSSAmplifier

Blog

Daniel Gregoire

Daniel Gregoire

danielgregoire.devRSS feed ↗20 posts

Latest posts

GoalProgramming.info

Introducing a new website, GoalProgramming.info, with documentation, cheat sheet, and example Goal code.

Arrays of Sunshine

Small rays of sunshine: short array language programs that spark joy.

Code Observation: Goal's fmt.tbl Function

What is the Goal programming language?From Goal's README:

Giving Feedback at Work

When I was young, my mother often repeated: "If you don't have something nice/kind to say, don't say anything at all." I often think about that at work, but in a modified way.If I have something useful, constructive, cautionary, clarifying, or propelling to provide to a discussion, then I should say something or take action. But I've caught myself many times writing up a response to a message in…

Signal to Noise in Programming Languages

K Language: Upper Case

K REPL session to define an upper case function.

Exploring the J Language and Array Programming

Leveraging these mathematical patterns with arrays as the central data structure leads to largely loopless and branchless programs, in which algorithms are distilled to a series of progressive array transformations.

Julia's Error Message for String Concatenation

The Julia programming language recently delighted me with its error message when I tried to concatenate strings.

Learning: Moldable Development

Functions, Messages, and Words

PiLisp: pl> Macro

PiLisp's pl> macro for threading expressions.

PiLisp

PiLisp—An interpreted Lisp inspired by Clojure

Mini Languages

Writing small languages for enjoyment

Code Observation: Function Arity in Clojure

Exploration of function arity in Clojure

Clojure src, test, and meta

One domain's metadata is another domain's data. What differentiates them is context. I argue in this post that we need to consider a new, additional source code context for our Clojure projects: in addition to the ubiquitous src and test folders, we need to add a meta folder.Metadata is data that describes a context in which the data it annotates bears significance beyond the unadorned sum of its…

Weave: Pollen for Clojure

Pollen is a language and set of tools implemented in Racket that support writing documents as programs. While Pollen provides a path for non-programmers to write Markdown or HTML, for programmers, the third tutorial reveals the true power of the platform, because it reveals how to extend Pollen's default document structure to support custom nodes (tags).I have recently released a Clojure library…

Open and Closed Systems with Clojure (Draft)

Clojure encourages open systems.

Code Observation: Clojure's Destructuring

Clojure's destructuring helps us establish bindings to items in Clojure collections in a concise, intuitive way.

Code Observations

We often gain an understanding of how a code base works by making changes to it and observing the effects. When embarked upon deliberately, this takes the form of the scientific method.

Knowledge, Writing, and Executability

As I've worked on personal software projects and contemplated how I want to capture knowledge, develop ideas, and build things, I have come to a conclusion that I want the following environment in which to do this work: