Hacker News new | ask | show | jobs
by aaronduino 3241 days ago
Author here, I'm open to any suggestions or feedback.
6 comments

Suggestion: if you want it to be more "inspired by circuits", remove this feature:

  + is the crossing of paths (they do not interact)
That's not how the real world works. Instead, make a feature where source file names can include metadata declaring which layer in your printed circuit board they describe, and add a way to drill holes in all layers (lowercase 'o'?)

That also will allow you to make the front layer contain nothing but outputs, so that one could, for example, write a program that mimics pong or a digital clock (or basically everything)

That also can make you get rid of warps and that weird "Define warps at the beginning of the file by listing them after a %$" rule.

Also, libraries would simply be additional layer files that can be rotated and translated to their right location. Programs using one would have to provide connectors to that layer in just the right places.

Neat idea, I really like it.

The only comment I have is that the `__main__.py` looks like a bit like spaghetti with ~1200 lines, multiple classes, and scattered global state. Not really a big deal unless you plan on growing the project or using it as a portfolio piece. Also in my opinion the project really is a prime portfolio piece, it shows creativity, polish, and theoretical understanding.

Yeah. I rewrote the code with a state machine pattern but haven't uploaded the new code yet
Also, thanks!
@davemp, I just uploaded the new code, a total rewrite.
Looks much cleaner.

Again, I really like the project and encourage you to dive deeper into progamming language theory.

Thanks a ton
Cool idea -- curious if you looked much at the classic 2D esolangs like Befunge in developing this
Funny thing-- I read about Befunge for the first time in the middle of development.

Befunge is a really fun language, but I decided to continue development of AsciiDots because I find it more legible (not to discredit Befunge)

How are potential infinite loops handled? Say you reflect, multiply, and reflect back.
Right now, it just loops, without freezing the computer.

I think this caused the try-it-online server to crash. (Yeah, it was dumb to have it work like that online)

Adding support for unicode line drawing characters would be cool
I liked the factorial calculator.
Thanks