People from a law firm use a somewhat large program written in Common Lisp 
(sbcl). The program fetch laws from Internet, comments them with input from 
books about law interpretation or civil/criminal procedures, and prepare 
specialized text for each civil or criminal action the lawyer is bringing in a 
court of law. The specialized text is used to generate an ebook, that can be 
read using the Amazon's Kindle or Rakuten's Kobo.

 The program is also supposed to generate specialized Internet pages that a 
client can browse to follow his/her defense. If the client is in jail and has 
only a cell phone to talk to his lawyers, the program detects his situation, 
and generates a page that is mobile compliant. However, if the client is a 
large corporation, the page may be well designed and full of images and video 
clips to impress the CEO. 

The program also provides annotations from legal doctrines. A legal doctrine is 
a framework often established through precedent in the common law, or books 
written in Latin or French, in the case of civil law tradition. Finally, the 
program must handle  emails; it doesn't matter which email address an associate 
lawyer uses, a possible client may write to the firm's email address.

Courts handle civil and criminal procedures electronically. However, there are 
a lot of paperwork around. The program must use an OCR to digitize the 
paperwork, and present it as a pdf document to the lawyer (or epub format for 
Kobo, or mobi format for the Kindle).

The program that I described is written in Emacs lisp, sbcl Common Lisp, Bigloo 
scheme, and a small portion in C (the public key stuff is in C). Emacs lisp 
uses call-process-region to trigger a Common Lisp program, that processes the 
text, and returns the result to the buffer that the lawyer is editing. In fact, 
the text looks more like a form, than a text. The lawyer fills the blanks.

 By the way, most of text processing in a law firm is computational intensive, 
and Emacs Lisp is not fast enough. Therefore, the designers of the program 
wrote part of the code in SBCL Common Lisp, that Emacs triggers with 
call-process-region.

Basically, the lawyers need a text editor, that can run a process in a separate 
buffer/window, and call Common Lisp in another buffer/window. Internet server, 
Internet scripting, email handling, databases, everything is in Common Lisp.

Since people say that Emacs is obsolete, difficult to use, and weird, I decided 
to investigate how well other IDE/editors handles the lawyers' program. I 
started with Eclipse. As you can guess, it didn't work.  Eclipse proved to be 
full of bugs, and very difficult to find and install appropriate plugins, etc. 
Besides this, Eclipse does not call a shell box as well as Emacs.

Right now, I am trying VIM. The first thing I need is to open two windows in 
VIM. One of them must contain the text that the lawyer is editing. The other 
window runs the Lisp REPL. The lawyer switches from one windows to the other as 
the need may arise (in Emacs he does so with "Ctrl-x o").

Here is what I tried:

1 -- I installed a program called SLIMV. The programs claims that it is as good 
as SLIME, the very same script that the law firm is using to run Common Lisp. 
However, SLIMV proved to be very ugly, and it is not working properly. When 
there is an error, I am not able to abort the debugger. In fact, slimv does not 
handle errors gracefully.  That is the problem I found with slimv.

2 -- A vim user told me that vim is not supposed to handle screens, windows, 
shells, etc. I should use a program called SCREEN for this kind of tasks. 
Therefore, I downloaded the last version of SCREEN, compiled it, and installed 
it. I learned how to write a script in SCREEN. My script opens two screens, 
splits the terminal in two regions, put "rlwrap sbcl" in a region, and vim in 
the other. However, vim does not seem to behaved well within SCREEN. In other 
words, vim scrambles the text.

I also tried other solutions, that work so well in Emacs. For instance, I tried 
 the :shell command, a program called conque, and another program called tmux.

My expectations were quite high when I started to work with vim. I still hope 
that a seasoned vim user will teach me how to open a shell that works well 
inside a vim (text) terminal.

By the way, I am not a lawyer myself. I too hate lawyers. Therefore, if you 
help me, you are not helping a lawyer directly. In fact, your answer will be 
used mostly for my own edification.


 

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to