I agree that something like *lisp would be a welcome relief from the hairball that is CUDA. while the lisp part was actually compiled, the parallel part reduced pretty 1:1 onto Paris, (the 'assembly language' designed by Steele). that was was basically a jump table into the microcode, which was just a big control word issued by (what I remember vaguely was being an amd 2900 bit slice) sequencer.
today I guess you'd translate those vector instruction into MLIR and hope for some layout and fusion.
but absolutely, you can just use tensors like normal variables. what a awful regression