RSSAmplifier

Blog

Copper Lang

Tales of a linguistic architect, forever creating a language

copperlang.wordpress.comRSS feed ↗10 posts

Latest posts

For-ever

Over the past two days, I worked on and added for-loops to APLFN, giving it one more feature that Copper never had. Of course in Copper, you could easily write a function object that acted as a for-loop, but the syntax wasn t clean. For comparison, the many for-loops of Copper: Usage was pretty ugly: By Continue reading For-ever

Revisiting the Fractal Test

Way back when I had thought I had completed Copper, I created a “bridge” that linked Copper with Irrlicht, and I used that to test the speed of Copper by having it render a simple mandelbrot fractal. The test revealed a number of bugs in the Copper engine, which I managed to work out. Once Continue reading Revisiting the Fractal Test

Aplafon Arises

A couple of years ago, in 2024, I was disappointed with the speed of Copper and decided to start from scratch to build an even faster, easier to use, and more powerful interpreted programming language system. Thankfully, I succeeded! The resulting language system I call APLFN ( Aplafon ). Let me compare / contrast APLFN with Copper. Continue reading Aplafon Arises

How I’m Creating a Programming Language Better Than Ever

Originally written in April and modified in November last year, I decided to publish this as a precursor to my latest post. A few months ago, I set out again to create a programming language, something better than Copper, but this time, I came with alot of knowledge and experience I had learned from creating Continue reading How I m Creating a Programming Language Better Than Ever

Things Learned Creating a Programming Language

2024/10/26 First of all, this article is not about how to create a programming language, its mechanics and such. There are other posts for that. What I want to write about instead is some of the things I learned along the way. When I first started to do programming in high school, I used a Continue reading Things Learned Creating a Programming Language

Oops – Had to fix memory loss

2024/9/10 So allocating function data when necessary turned out to be a problem for memory loss. Consider the following example: If the original variable b changes, there is no owner of the function created when the pointer calls getFunction() which means you could end up with a cyclic reference that can t be destroyed. Some variable Continue reading Oops Had to fix memory loss

2 and Nil are Fast

Recently I have been working on rewriting my programming language with a completely new system based on Robert Nystrom s Crafting Interpreters book. However, as I worked on the code, even though my new system and the old Copper engine are very different (the former being much cleaner looking code), I noticed that the length of Continue reading 2 and Nil are Fast

Built-in to O(1)

Recently, I ve been reading Robert Nystrom s guide to crafting interpreters. I haven t read much, but what I have read has been helpful. One thing Nystrom points out is the need for O(1) accessing of variables. The same applies to built-in functions. In the Copper engine, one of the big slowdowns was the fact that variable Continue reading Built-in to O(1)

Closure and Moving On

It s been a very long journey with Copper. While I stopped working on the programming language some time ago (and it hasn t needed fixes), I ve come to learn more about where this language fits in the grand scheme of things and what to do. Recently, I decided to compare Copper with other languages using a Continue reading Closure and Moving On

App Machine

One of my long time desires has been having an application that allows me to run script apps on my computer. Of course, two such applications exist for Javascript: NW.js (formerly Node Window) and Electron. However, I don t particularly enjoy Javascript for some reason. I would like to write in Copper. So I created an Continue reading App Machine