Rosangela Mesil
6/10/2015 4:50:00 AM
Informatimago distributes an ed clone that is worthy of review and feedback.. After all, to spread the news about good products is a service to the public, and to acclaim those who ply their trade well is a duty of justice. Then I want to extend my appreciation to the author of ed/Lisp for taking the time and effort necessary to provide such a nice piece of software. However, I don't know anything about Lisp. Therefore I hope that a more knowledgeable professional make another review with better suggestions. Feci quod potui, faciant meliora potentes.
As a lawyer, I often connect myself to the cloud, and prepare motions and pleadings through text processing tools written in lisp, elisp, and prolog. When I am in my office, in front of my MacIntosh, using my Dvorak Kinesis keyboard or my stenotype machine, I use emacs. Then I insert the bar association smart card into the reader, and employ the opensc library to file the result to the tribunals. For the casual bystander, this world of electronic pleading seems glamorous and charming. But I often find myself in court rooms where the Internet bandwidth is less than one could have hoped for. Then emacs fails miserably. In these occasions, I really appreciate gnu ed.
Of course, I don't know much about lisp, mercury and yap prolog. For me, lisp, rasp and yap prolog work thus: One writes an org-mod document with the details of the pleading, run emacs --script expand.el on it, and then ccl --load petitio.lisp. The result is a beautiful and small pdf document ready for the judge's appreciation. So, I see Lisp the same way as I see my stenotype keyboard: A way of producing documents in the shortest period of time. Some time, I use it to calculate my fees:
? #i(3*4-5)
==== ======== ========
Now, the feedback. What about shorter names for the prefixes? Whenever I need to install the package in a new machine, I must hire an expert to shorten the name of the prefix. The guy charges 100 bucks to write the lines below.
? (defun xed(x) (COM.INFORMATIMAGO.COMMON-LISP.ED.ED:ed x))
? (save-application "ccl.ed" :prepend-kernel t)
Did you see the episode "And I am Joyce Kinney" of Family Guy? As you probably know, Family Guy is co-produced by Cherry Chevapravatdumrong, who has a very long name. Therefore, she often shortens it to Cherry Cheva.
I was informed that your intention was to write a perfect clone of a very old program, a program from a time when input was done through teletypes, not through Dvorak Kinesis keyboards or stenotype touchscreens. However, you could write a different version to ease the life of lawyers. I know, I know, everybody hates lawyers. Why don't snakes bite attorneys? Professional courtesy. How can you tell when a lawyer is lying? His lips move. What do female lawyers use for birth control? Their personalities. Yes, I am a lawyer, but I am asking for so little: When I print the program with n or p, I want a cursor on the line (a vertical bar | will do), and commands to move the cursor forward and backward, to insert text at the cursor, and to delete text behind the cursor. Thus, I would not need regular expressions all the time. Example:
: ,n
1 aut viam inveniam vel faciam.
2 perfer et obdura; dolor hic tibi proderit olim.
3 dimidium facti qui coepit habet.
: 1
aut viam inveniam vel faciam.|
: v # go to previous word
aut viam inveniam vel | faciam.
: 3 g
aut viam inveniam | faciam.
: b
aut
.
p
aut viam inveniam aut| faciam.
The other thing I believe that you could easily add to ed is a stenotype keyboard. A stenotype keybord would be very useful on cell phones. You could implement it in mocl (yes, I know about mocl). Of course, you don't need to add the chords, since these varies from language to language. All you need to do is to write the functionality, and people will feed whatever dictionary they prefer.