Fug, I think I am a cranky old fart type already because I like to write code closer to the metal instead of using all the fancy new tooling.
Maybe I should swallow my pride and install vscode and try copilot or whatever it is kids these days are using.
Also I'm still using nano for all my text editing so I might be imposing a deeper limitation on myself than most minimalists. :P
@pauldaoust Hobestly might replace it with the default textbox implementation in QT/GNOME next. Syntax highlighting is too many cycles!
@mauve it's worth trying, I use rust and LLMs don't work for me... they might for you though!
@mauve HELL YEAH, NANO GANG
@mauve The lower level you are, the less you have to worry about other peoples' code!
I just wish C was better.
@j3rn Jeeze that's so true. The main reason I avoid too many layers is people keep breaking them ans forcing me to update/refactor 🤣
I wanna go the other direcrion and code in prolog or something zany just to see what life is like in that world.
@mauve Yes, exactly! The whole "people keep changing things and now my stuff is broken" idea is actually something I hadn't been able to fully articulate until I saw @neauoire's talk at Strange Loop this year, but I now see it everywhere!
I've done a little Prolog—and it's fun!—but my programs are always super slow and there's always these little idiosyncrasies in the language that annoy me. I've been thinking about trying miniKanren or datalog for my next logic programming project.
@j3rn @mauve Have you had a look at Fleng? It's parlog only moreso :)
http://www.call-with-current-continuation.org/fleng/fleng.html
@mauve @j3rn I doubt it, it's based on an idea that was largely forgotten by industry.
I recommend having a read of: http://www.call-with-current-continuation.org/articles/the-joy-of-concurrent-logic-programming.txt
@neauoire Yeah it'd be neat to do compilers or parsers or transformations over top of this stuff. The part about how to do concurrent streams is interesting.
@j3rn @neauoire Mobile is the worst part in my experience! I'll take a thousand "python module version mismatch" issues over an xcode upgrade 🤣
Neat! What sort of stuff do you even use it for? I've only really looked into it as a curiocity since my job is mostly shoveling bytes around in weird ways rather than working with data.
@mauve @neauoire Almost exclusively for puzzle solvers, so far. I wrote a 2x2 Rubik's Cube solver which is fine, though slow. I originally wanted to extend it to 3x3, but if the 2x2 version takes 5 minutes to run, so...
Recently I wrote a solver for the game Letter Boxed. That program can check your solution in milliseconds, but I don't think it's ever successfully computed a solution even when given 30m to run.
I don't use any logic programming for work—unless you count SQL constraints 😁
@j3rn Siiick. Is your source published for those? Would love to read it.
@mauve Absolutely!
https://github.com/J3RN/rubiks/
https://github.com/J3RN/letter_boxed
Let me know if you find any performance improvements! 😁
@j3rn @mauve Can I show y'all this thing of mine? https://github.com/akkartik/mu
Low level: check (program with registers but get good error messages when you make mistakes)
Better C: check (memory-safe like Rust)
Few layers: check (exactly 3, and each built strictly using lower layers)
Here's a paper that tries to lay it all out: https://akkartik.name/akkartik-convivial-20200607.pdf
@mauve nano?! you, dear, Mauve, may be torturing yourself. I'm old school, but at least I torture myself with Vim :D