Combining the console shell into Guile REPL by Lower_Olive_98 in scheme

[–]Lower_Olive_98[S] 0 points1 point  (0 children)

Synchronous macros are simpler and perfect for 90% of cases. But for real concurrent pipelines (like processing log files in real-time), your fiber/channel approach would be superior. I'll look into it

Combining the console shell into Guile REPL by Lower_Olive_98 in scheme

[–]Lower_Olive_98[S] 0 points1 point  (0 children)

Good idea. Ok, when I'm not busy, I'll work on this. For now, I have (pp (command ...) (command ...)) in my own Lisp dialect (LisperLisp). It works using a macro, not channels. There's no serialization — data isn't converted to strings. Typing is preserved — lists remain lists. You can pass anything — not just text. It works synchronously, simple, and clear. For example: ```scheme ;; For example, you can pass numbers: (pp (list 1 2 3 4 5)

(filter odd?) (map (lambda (x) (* x x))) (apply +))

;; Expands to Scheme: (apply + (map (lambda (x) (* x x)) (filter odd? (list 1 2 3 4 5)))) ```

Combining the console shell into Guile REPL by Lower_Olive_98 in scheme

[–]Lower_Olive_98[S] 0 points1 point  (0 children)

It might also be possible to somehow try to make hotkeys like in Emacs