mayer@hplabsz.HPL.HP.COM (Niels Mayer) (03/02/90)
I've finally set up the WINTERP mailing list for discussing usage, problems, futures, and fixes for my XLISP-based rapid prototyping, development and delivery environment for building OSF/Motif applications. To add yourself to the list, send mail to: winterp-request%hplnpm@hplabs.hp.com [Internet] hplabs!hplnpm!winterp-request [UUCP] To send mail to the list, send to: winterp%hplnpm@hplabs.hp.com [Internet] hplabs!hplnpm!winterp [UUCP] ------------------------------------------------------------------------------ PS: Incase you're wondering "WHAT IS WINTERP?": ------------------------------------------------------------------------------ WINTERP is an interpretive, interactive environment for rapid prototyping applications using the OSF Motif UI Toolkit. The name "WINTERP" stands for Widget INTERPreter, and that's exactly what WINTERP is -- an interpretive language that allows programmers to interactively create interfaces using the capabilities of the Motif widgets and the X11 toolkit intrinsics. WINTERP is also designed to enable the delivery of Lisp-customizable applications without incurring the costs of using an environment such as Common Lisp. As an application prototyping environment, WINTERP is akin to a graphical gnuemacs in that it uses a mini-lisp interpreter (XLISP) to glue together various C-Implemented primitive operations. In gnuemacs, these operations consist mostly of manipulating text within editor buffers -- in fact text-buffers are a "first-class" type in gnuemacs. WINTERP makes the widget a first class type, and represents them as real objects using the XLISP object system (a smalltalk-like object system). The syntax resulting from marrying XLISP objects and Motif widgets is far cleaner than UIL, using straight C, etc. Furthermore, since WINTERP is interactive, you can try out small changes incrementally, and modify the look and functionality of an application on-the-fly. A very useful interactive primitive, 'get_moused_widget' serves as a base for building "direct manipulation builder" style extensions to WINTERP. These features make WINTERP a great way to learn how to use the OSF/Motif UI toolkit. WINTERP contains an interface to gnuemacs' lisp-mode which allows you to type lisp forms into a gnuemacs editor buffer, and issue a simple command to send a form off to winterp's lisp-listener for evaluation. WINTERP's serverized lisp listener also allows other programs to send commands to the interpreter. This feature enables a cheap built-in RPC mechanism for inter-program communication. As an example of WINTERP/Motif syntax, sending the following 6 line statement to WINTERP's XLISP server will pop up a "hello world" Xwindow containing a pushbutton. Pressing the pushbutton will print "hello world" on standard output: (let* ((top_w (send TOP_LEVEL_SHELL_WIDGET_CLASS :new)) (but_w (send XM_PUSH_BUTTON_WIDGET_CLASS :new :managed top_w :XMN_LABEL_STRING "hello world"))) (send but_w :add_callback :XMN_ARM_CALLBACK '() '((format t "hello world\n"))) (send top_w :realize)) ------------------------------------------------------------------------------ PS: Incase you're wondering "HOW CAN I GET WINTERP?": ------------------------------------------------------------------------------ WINTERP is available via anonymous ftp from expo.lcs.mit.edu. The compressed tar file containing source, documentation, examples, etc is in file contrib/winterp/winterp.tar.Z ; compressed tar files containing binaries for various HP architectures are in directory contrib/winterp/winterp.binary . Inside HP, WINTERP is available via ninstall: to install binaries, examples, documentation, etc, do (as root): ninstall -vh hplcip winterp to install the source do (as root): ninstall -vh hplcip winterp.src Inside HP, WINTERP is also available via anonymous ftp from hplnpm. The compressed tar file containing source, documentation, examples, etc is in pub/winterp.tar.Z, HPUX-s300 binaries are in pub/bin300/winterp.tar.Z , and HPUX-s800 binaries are in pub/bin800/winterp.tar.Z . ------------------------------------------------------------------------------- Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com Human-Computer Interaction Department Hewlett-Packard Laboratories Palo Alto, CA. *