Catonano <caton...@gmail.com> writes: > Neil, > > Il giorno lun 19 nov 2018 alle ore 10:02 Neil Jerram < > n...@ossau.homelinux.net> ha scritto: > >> >> >> On 18 November 2018 19:33:31 GMT, Catonano <caton...@gmail.com> wrote: >> >Il giorno lun 29 ott 2018 alle ore 22:58 swedebugia >> ><swedebu...@riseup.net> >> >ha scritto: >> > >> >> Hi >> >> >> >> I would like to learn more scheme and I would like to make a small >> >CLI >> >> program that runs in the terminal and prompts the user for input and >> >> evaluates it. >> >> >> >> Is that possible with guile? In the REPL? >> >> >> >> Can someone point me in the right direction for succeding with that? >> >> >> >> >> >> >> > >> > Hi >> > >> >I am curious: did you manage to put together a prototype of this thing >> >prompting a user in the terminal ? >> >> In case it's of interest, I wrote this kind of thing a few years ago: a >> command loop for Guile where you can register possible commands, and each >> command has a spec like the Emacs 'interactive' form that says what the >> args are and how to prompt for them. >> >> The command loop entry point is at >> http://git.savannah.nongnu.org/cgit/ossaulib.git/tree/ossau/command-loop.scm >> and the dependency modules are all included in that git repo. >> >> Best wishes, >> Neil >> > > thank you > > But I'm a bit overwhelmed by so much code
Thanks for taking a look. It is a _lot_ of code, so I can understand it being overwhelming. > a tiny example of reading a short string that a user could type at a prompt > would be more useful to a beginner, I think > > I came up with this short example > > (use-modules (ice-9 rdelim)) > > (let ((str (read-line (current-input-port)))) > (display (string-append str "\n"))) > > it's extremely essential but it demonstrates the usage of the current input > port in association with delimited text reading > > This is a very basic use case, intended as an example, a step 0 for further > developments I started with that (or something very like it), but then gradually added more structure for the specific applications that I had in mind... and surprisingly quickly we can end up with the amount of code that I have in ossaulib. Best wishes, Neil