Live data from Hacker News

Show HN: A Tiling Window Manager for Windows, Written in Janet

agent-kilo.github.io

111–112 of 112 posts

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#111
post #107
post #85

Earlier quoted context omitted.

> Yeah, it's mind-blowing when it clicks, and makes the whole "exceptions vs. return types" discussion look like a quarrel of 3yos in a sand box. Error handling in other languages/runtimes just doesn't feel sufficient from now on. I am still waiting for a non-Lisp language with a half-decent restart system. Even compiled languages should be able to implement it (except dealing with a possible allocation failure when…

ditto jdougan "Restart. Start execution of the current method from the beginning. You can edit a method shown in the code pane, save it, and restart it!" https://drcuis.github.io/TheCuisBook/The-Debugger.html

Restarts in CLHS are blocks of code handling a condition (exception). CL splits the "catch exception" and "react to it" parts into handlers and restarts. The two are independent; a handler can choose any restart currently installed above it in the call stack, or ask the user to choose interactively; the stack is only unwinded up to the point of a restart to resume from. This means you could e.g. following call stack:

5. Code that signals a file read error

4. Code that installs restarts "re-read line" and "skip line"

3. Code that loops over files in line

2. Code that installs restart "re-read file" or "abort"

1. Code with the handler that intelligently chooses whether to resume from 4 by re-reading a line or skipping it, or resume from 2 by attempting to read the file again, or just bailing out.

Re: Show HN: A Tiling Window Manager for Windows, Written in Janet

#112

Earlier quoted context omitted.

> I could never find the killer feature vs other languages I already use. You're kidding or trolling? Structural editing and the REPL are the greatest features of Lisp. The ability to just grab any expression and move it around simplifies so many things when coding and refactoring. With the connected REPL you can eval anything on the spot, that turns the entire experience of coding into a video game — you don't need…

I have only just begun my road down lisp, from starting to hack some elisp and working with some CL for fun. But structural editing is turning out to rapidly be my favorite feature, to the point that I'm working in my personal time on a lisp (syntax? language? idk haven't exactly decided) on top of Julia (my preferred language) so that I can use structural editing. The ability to just grab and drop entire expressions…

I know, right? I honestly have no idea how the heck did I even code before in non-lispy languages. I imagine if I had to pair-program with someone today it would go like: "hey, how do I grab this part of the function quickly, so I can move it out?"... "Wait, what? I have to manually select it, there's no quick way of doing that with a single keystroke? Oh, I can use this 'powerful refactoring' feature of the IDE? Huh... and it only works for this specific language, there's nothing for a different one? Got it, okay... daaaarn... and I thought the coding supposed to be the easy part of programming..."
Post reply on HN