PDI is a library that aims to decouple high-performance simulation codes
from Input/Output concerns. It offers a declarative application programming interface

you will never guess which library completely fucking refuses to learn our declarative API to decouple things

# only the latest version is supported upstream

that's what i call user-centric and declarative

fixing this with a keyboard macro. keyboard macros are a powerful tool that are completely irreplaceable in many situations
@hipsterelectron emacs keyboard macros allow you to extend emacs without writing code
@tusharhero they make your automation into a tactile experience!!
@hipsterelectron I was writing java with jshell (for fun). It didn't have any support for "send to repl", so I just create a macro to kill the current region, go to jshell comint buffer, run it, and come back. Then I just bound it to a good keybinding, and I immediately had send to repl support, this took me like 1 min btw.
@tusharhero REPLS ARE MAGICAL!!!
@tusharhero i made a coffeescript one but i could make it better
@tusharhero (node js has The Worst terminal output)
@tusharhero you need to fork it and write c++ to fix it (which i am sure was precisely the intent)
@hipsterelectron it's a shame emacs doesn't support jshell out of the box.
@tusharhero what does support for jshell imply?
@hipsterelectron like geiser, python, etc.
@hipsterelectron emacs can do completion using the python repl, for example.
@tusharhero expanded further. REPL is also interesting because generalizing "completion" can be employed very easily outside editors, for virtualized systems, etc

@tusharhero btw, i am quite interested in an interface for something like lsp and think there's something missing here. lsp crosses hundreds of layers of abstraction. there's no way it can be remotely performant even if you don't care at all about how it seeks to make build systems the subjects of the language designer (not the IDE--the IDE developers are the ones who invest into precise and powerful interfaces. LSP is an attack upon them as well).

even if that is immaterial, it is structurally and provably impossible to answer user queries in real time without layered protocols negotiating their own caching. the apple swift compiler team has massive problems with this issue.

@hipsterelectron and frankly it is fucking dumb as well. clangd keeps jumping to the forward declaration for some reason. Semantic just works though.

@hipsterelectron And of course, resource hungry.

Sad that LSP kind of removed the motivation for working on semantic for many people. Way ahead of its time.

@tusharhero semantic is absolutely the right term for it
@tusharhero i use https://codeberg.org/cosmicexplorer/helm-rg as i quite appreciate interactive regex feedback. i have done some work with more structured symbols however
helm-rg

ripgrep search tool for emacs that moves at the speed of thought!

Codeberg.org
f3

find files fast with helm and find in emacs

Codeberg.org
@tusharhero the interactivity is for my thinking process i feel very important, because i care very much about restarting the search when i feel stuck. but a symbol search mechanism can indeed do that. i think it could be a spectrum
top (Semantic Manual)

top (Semantic Manual)

@hipsterelectron it does it very well! We just need to integrate it with rest of emacs (completion, eldoc). It seems to have its own implementations of those.
@hipsterelectron I use M-x grep and consult-grep, same thing I suppose,
@tusharhero eugene burmako the scala wizard who made semanticdb and the scala macro system made a point to say to me personally he was impressed with the creative approach i took with keyboard macros specifically in an effort working on his compiler rsc
@hipsterelectron @divyaranjan was showcasing emacs' semantic on stream today, and I thought for a while if you were talking about that.
i used to prefer a slimmer vim runtime for more robust macro playback, but find emacs' broad feature-interop (and nested-minibuffers -- much like nested-lookups in an e-reader dictionary) more important for meeting an increased demand for reliability and *expectations* from tactile systems