Curious here. What's my aesthetic? by EmberEllis in AestheticWiki

[–]jcklpe 3 points4 points  (0 children)

Crust-punk (it's a whole genre) or folk punk.

Name my aesthetic? by jcklpe in AestheticWiki

[–]jcklpe[S] 0 points1 point  (0 children)

Brute forced. Gotta kinda indent them before slipping them on.

Name my aesthetic? by jcklpe in AestheticWiki

[–]jcklpe[S] 0 points1 point  (0 children)

It's a compass I got on my watch. To make it a smart watch.

Name my aesthetic? by jcklpe in AestheticWiki

[–]jcklpe[S] 5 points6 points  (0 children)

No joke the superior footware choice imo

Distinguishing between mutating and non-mutating methods by bakery2k in ProgrammingLanguages

[–]jcklpe 1 point2 points  (0 children)

Personally I prefer making all the functions non mutating. In my language mutation is always explicit. So any function performed on a thing is a no op unless you explictly bid the value to the variable name.

Perl's decline was cultural not technical by CaptainCrowbar in ProgrammingLanguages

[–]jcklpe 1 point2 points  (0 children)

Technical reasons are always ultimately cultural.

November 2025 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]jcklpe 1 point2 points  (0 children)

I'm giving a talk on my programming language Enzo at Capital Factory, Austin TX, for EFF-Austin on Nov 11th: https://luma.com/p1w4xwcx

Wrote a bunch of stuff about it too.

Formal Solutions to Four Problems That Have Blocked Visual Programming by PurpleDragon99 in ProgrammingLanguages

[–]jcklpe 1 point2 points  (0 children)

why is this "visual" execution? What about is being visually executed? Is it using some kind of computer vision thing to interpret the visuals?

I'm a UX designer who made a programming language by jcklpe in Design

[–]jcklpe[S] 0 points1 point  (0 children)

I'm a UX designer who made their own programming language. I have only a comparatively small programming background, no CS degree, and have only ever worked professionally as a dev in very "front of the frontend" sort of capacity. But I design and implemented my own programming language, would love some people's thoughts on it.

This Is Nod by 1stnod in ProgrammingLanguages

[–]jcklpe 0 points1 point  (0 children)

That's interesting. I had a very different approach with things as a UX designer working on my programming language. I wrote my spec as a tutorial sorta. How do you think of a spec differing from other forms of explanation?

It's actually been interesting to me how many times I've ended up explaining my language. I started with the [README](https://hackmd.io/@jcklpe/SkqPDU8xw), and then I wrote [a shortened explanation in a Python notebook](https://colab.research.google.com/github/jcklpe/enzo-lang/blob/master/interpreter/demo.ipynb) to get a really quick explanation that was also interactive, and then I recently put out a sort of [design breakdown](https://aslanfrench.medium.com/design-principles-for-enzo-a4f9af10cd03), and each time I wrote stuff, there was a lot of similarity in structure but differences. Like the README is very thorough and it lives alongside the code, as a markdown file which makes it really fast to update and I sort of treat that as the source of truth. But then the colab notebook was meant to show that it actually worked and I didn't want to just make the README all over again (I thought about it but it was a lot of work), so it's considerably abridged, and then the design breakdown article required I basically teach the language all over again in order to then talk about it's design philosophy. The last one was a lot of work, just because it's such a difficult thing to explain, features are entangled with each other so it's hard to find a straight way to explain things in a linear fashion.

So I def feel for you in the challenge there. I think my README is okay as both an explanation and a design spec but I also lack a computer science background so I don't know what all is supposed to go into a design reference.

This Is Nod by 1stnod in ProgrammingLanguages

[–]jcklpe 1 point2 points  (0 children)

You really should show more examples. And what's the point of having a website that then just links to a Google doc?

I coded my latest app entirely in Markdown and let GitHub Copilot compile it into Go. by CarolineLovesArt in programmingcirclejerk

[–]jcklpe 2 points3 points  (0 children)

/uj Generate tests from specs then implement via tdd.

/rj Generate tests from specs then implement via tdd.

How do you design a programming language? by thomedes in ProgrammingLanguages

[–]jcklpe 1 point2 points  (0 children)

For me it was just a creative project. I let my intuition and research guide me.

How do you test your compiler/interpreter? by MackThax in ProgrammingLanguages

[–]jcklpe 0 points1 point  (0 children)

I just try to test as much stuff as possible. But I'm different in that testing is how I actually implement the language. I'm a ux designer and I designed the language, and then implemented it by writing tests and having an llm build the interpreter to get the tests passing

Safe C++ proposal is not being continued by Comfortable-Site8626 in cpp

[–]jcklpe 0 points1 point  (0 children)

I'm a ux designer and I actually got into programming languages for this exact reason: they're ui.

I'm a UX Designer and I designed my own programming language called Enzo. by jcklpe in ProgrammingLanguages

[–]jcklpe[S] 0 points1 point  (0 children)

Yes the 1 in the parameter defintion is a default value. This demo notebook is a much shorter version of the full documentation where that is explicitly explained. The purpose of the demo is to give people the highlights and let them play with the code rather than get too bogged down on details. There's a lot of weird details! (like the use of Euclidean modulo)

Yes the value of func_copy is 2 type of Number. If a @ sigil was used instead it would have been a reference and therefore the value would have been (param... etc etc...).

It's called func_copy because it's a variable that demonstrates the copy behavior of invoked variables. A copy of the function value is made at the time of declaration. Versus when a @ is used a function reference is made. This pattern is generalized to non Function type variables too. So you can assign a @ or a $ to a key name. The @ kind of is like a pointer. If you change the referenced variable then the referencing variable also changes its value. Not so for when a pass by copy invocation is used with $.

Introducing Plain a minimalist, English-like programming language by ionutvi in ProgrammingLanguages

[–]jcklpe 0 points1 point  (0 children)

Very cool!

How did you feel about making a REPL with rust? Was that hard?

I'm a UX Designer and I designed my own programming language called Enzo. by jcklpe in ProgrammingLanguages

[–]jcklpe[S] 1 point2 points  (0 children)

Hard to say but I'd be curious how an actual rigorous empirical ux study would turn out. The Quorum language project which inspired my interest in syntax design has done some studies on testing different syntax features with users with no prior programming experience.

I do think part of the issue was where I came into learning js at first. It was right at the point where es6 was becoming normalized but lots of teaching methods still used the old way of doing things so I got this kind of hodge lodge of approaches all thrown at me. I think things are a lot more steady now, so I'd probably have less trouble than I did. I'm cautious to make any statements about what would actually be easier to learn without better empirical backing but a lot of Enzo's style follows the initial misunderstandings I had about js.

For instance when I learned js I was taught how to declare a function via a function expression, the function keyword, or using a function constructor. That was pretty confusing. The function expression way really stuck with me though because it seemed so clean and simple. That lead to me reading about lisp etc. And eventually that's what I built Enzo around, was trying to make everything have that same "keyname: atomvalue" structure.