Can Lehmann

I like building programming languages and compilers. Currently working somewhere at the intersection of compilers and hardware design.

Can Lehmann boosted:
TheZoq2thezoq2
2026-01-15

RE: mastodon.social/@thezoq2/11568

Don't forget to submit something to LATTE! You still have just over 2 weeks, plenty of time for a 2 page paper :)

Can LehmannCanLehmann
2026-01-15

@JacquesC2 Thanks for clarifying! I can definitely see your point then.

Can LehmannCanLehmann
2026-01-15

@JacquesC2 As in "everything is a file" (i.e. a design choice) or "everything is a compiler" (i.e. looking at something through a new perspective)?

Can Lehmann boosted:
2026-01-09

You can put whatever you want in a jitdump you know.

Here's a little exploration of some ideas on how you can use that to explore your program's performance with different slicing

mgaudet.ca/technical/2026/1/8/

Can LehmannCanLehmann
2026-01-03

@neauoire Not sure if I will work on this that much more, I really should get back to working on the JIT stuff 😆

Can LehmannCanLehmann
2026-01-02

The clock is just a simple loop whose length determines the period. Currently I just hard code the period, but theoretically it should be possible to determine the minimum period from the combinatorial logic depth.

Can LehmannCanLehmann
2026-01-02

@neauoire Turns out building a d latch from McCulloch-Pitts neurons is also not that hard, so it can actually also translate sequential logic now. This simple counter

reg [3:0] counter = 0;

always @(posedge clock)
counter <= counter + 1;

Results in the following neural network:

Can LehmannCanLehmann
2026-01-02

@neauoire It only does combinatorial logic, so it is not (yet) possible to convert a processor into a McCulloch-Pitts Neural Networks.

Can LehmannCanLehmann
2026-01-02

@neauoire Seems like you have (unintentionally) nerd-sniped me into building a Verilog to McCulloch-Pitts Neural Networks flow...

github.com/can-lehmann/verilog

Can LehmannCanLehmann
2026-01-02

@neauoire I imagine using it for music is a bit harder though, since you need to get the wire lengths exactly right for the timing to work out.

Can LehmannCanLehmann
2026-01-02

@neauoire Yeah, I think I first saw it because someone actually made a Minetest/Luanti mod using wireworld as a redstone replacement. Never played around with the mod, but I still think it was a neat idea 😃

Can LehmannCanLehmann
2026-01-02

@neauoire Sadly unable to find it right now, but I seem to remember some tool where you can layout rhythms by drawing cycles on a 2 dimensional grid. A "program counter" travels along the cycles playing any placed sounds it encounters. This means that the length of the cycle is the duration of a loop. It seems like it might end up feeling similar to that. While the actual positioning is of course irrelevant with neurons, you would probably end up building similar cycles which trigger sounds.

Can LehmannCanLehmann
2026-01-02

@neauoire Has anyone built a music livecoding tool based on this yet? (I assume that's where your kickdrum example is going)

Can Lehmann boosted:
Devine Lu Linveganeauoire@merveilles.town
2026-01-02

I've been daydreaming of a neural nets powered note-taking system for a while so I can see at a glance the dependencies of each task. I love how this turns an otherwise dead-system into a livecoding environment.
wiki.xxiivv.com/site/neur.html
forum.malleable.systems/t/mccu

Can Lehmann boosted:
2025-12-31

New blog post about the GDB JIT interface. This brings me to 30 blog posts this year...!

bernsteinbear.com/blog/gdb-jit/

Can Lehmann boosted:
2025-12-29

tired: the proof is left as an exercise for the reader
inspired: like and subscribe, and we'll cover the rest of our proof in part two of this video essay!

Can Lehmann boosted:
2025-12-25

The two hardest problems in Computer Science are:

1. Getting up in the morning
2. Going to bed at a reasonable time

Can LehmannCanLehmann
2025-12-25

@tekknolagi @cfbolz @cfallin True, if you do path compression, it will quickly go down to a single additional indirection. Sounds like it might be fun to try this at some point... 😃

Can LehmannCanLehmann
2025-12-25

@tekknolagi @cfbolz @cfallin So it sounds like it might be a performance thing? I am a bit surprised that the overhead from substitutions is so large that it is not amortized by the cheaper operand accesses. I suppose my point is that I would expect accessing operands (i.e. calling find) to be more common than replacing them.

Can LehmannCanLehmann
2025-12-25

@tekknolagi Somewhat unrelated, but I don't think I have seen the union find based substitution thing in IRs outside of (A)E-Graphs before. Does this have any benefits over explicitly substituting operands?

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst