Search

Filter

  • Advanced Filters:

  • to
  • Specific Data Sources:

    All Edit

    Select All  |  Select None

Reset filters

Literate Programming in APL and APLWEB Prof. L e e J . D i c h e y Faculty of Mathematics University of Waterloo Waterloo, Canada N 2 L 3Gi I n t e r n e t : lj d i c k e y @ w a t m a t h , w a t e r l o o , edu A few years ago, Donald K n u t h introduced W E B , a system for presenting source code and documentation in a single document. His scheme allows an author to give extended and copious notes about the intention of the code, along with the code itself, in a single document. Most readers will have heard about T E X , the m o s t famous example of a successful p r o d u c t done this way, and I am sure t h a t t h e r e m u s t be o t h e r p r o g r a m m i n g p r o d u c t s clone w i t h WEB, b u t I c a n n o t n a m e an y o ther s . Now, from t h e U n i v e r s i t y o f Bielefeld co mes A P L W E B , a m e t h o d for presenting A P L code in a l i t e r a t e way. W i t h A P L W E B , e x p o s i t i o n an d code may be bl e nde d into a single source document. Two tools, T A N G L E and W E A V E , are provided, w h i c h e x t r a c t t he A P L exec u t a b l e code and p r o d u c e T E X s our c e , r e s p e c t i v e l y . A P L W E B is a m eans by w h i c h one m a y w r i t e an a r t i c l e or book, and i ncl ude along w i t h it, in one place, t h e A P L s o u r c e for the i m m e d i a t e e x e c u t i o n lines and A P L f u n c t i o n s t h a t a c c o m p a n y it. T h e developer of A P L W E B is Dr_ Christoph yon Basum, w h o has written his Ph.D. thesis about litcrate programming in APL. H e is the author of all the C-code and TEX-macros. The ccapl-font was designed by students at the University of Biclefeld. This work was communicated to us by Bernhard Strohmeier. Mr. Strohmeier is a Ph.D. student at the University of Bielefe]d, working under the supervision of Professor Peter Naeve and Dr. Peter Wolf. Mr. Strohmeier is using A P L W E B as a tool to aid in the writing of his doctoral thesis about causal networks. The first English language release of this w o r k works with I B M A P L 2 and A P L * P L U S and is n o w available by anonymous ftp at the network address watservl.uwaterloo.ca (129.97.129.140) in the directory " l a n g u a g e s / a p l / a p l w e b " . It is designed to run on I B M personal computers. • Additional contact inlormation: To the Editor: Letter to the Editor Judging from the incessant whining in the A P L community, it's no wonder the language is so unpopular. If the people w h o use it don't like it, w h y should anyone else? The top two complaints must be the lack of explicit control structures and the special character set. While the literature is rich with diatribes against labels and branches, one recent example stands out. The 1991 A P L conference proceedings devoted eight pages to an articles by F. H. D. van B a t e n b u r g , "L-One-Two-Three Considered Harmful," w h i c h covers in gory detail the usual a r g u m e n t s a g a i n s t labels and b r a n c h e s , and for " s t r u c t u r e d " programming. V an B a t e n b u r g followed this p a p e r w i t h an a r t i c l e in t h e 1992 P r o c e e d i n g s on t h e t ri al s of p o r t i n g an A P L a p p l i c a t i o n for one platf o r m to a n o t h e r ("Porting and Optimizing Star: A Case Study of Suffering and Surfacing"). One probl em e n c o u n t e r e d was t he l ack o f a d i a m o n d statem e n t s e p a r a t o r in t h e t a r g e t A P L i m p l e m e n t a t i o n , w h i c h forced "all t h o s e c o m p a c t and c o h e siv e statem e n t s " like: BE: ~(1500>pRNA)/OLC+I 00*'*String too long' to be rewritten into "clumsy two-liners" like: BI: ~(1500>pRNA)IEl+I El: O÷'*String too long' While the first construct is not good style, the second bit of code is more than "clumsy"; it's egregious. This is clearly a little task that shows up countless times in any sizable application; perform a check, if okay continue, if not, display some message. A simple f u n c t i o n would have e l i m i n a t e d t h e d i a m o n d problem, avoided t h e use o f a n y labels at all, hi dden t h e u n s i g h t l y b r a n c h , and m a d e t h e r e s u l t i n g code e a s i e r to read: (1500>pRNA) where: MSG '*String too long' [1] [2] V X MSG Y +X/O O+Y V While v a n B a t e n b u r g complains t h a t he su ffe re d Dr_ Christoph yon Basum: C v B @ e r a s m u s .hrz. u n i - b i e l e feld .de Bernhard Strohmeier: b s t r o h m e i e r@e rasmus, hrz. u n i - b i e le feld. de "for the lack of a good strl~ctured construct in A P L , " t h e t r u t h is t h a t he j ust suffered f r o m a la c k o f good APL. A t t e m p t i n g to e r a d i c a t e bad p r o g r a m m i n g b y changing the language smacks of George Orwell's Newspeak. While I consi der m y s e l f an elitist (don't APL Quote Quad

Page 1 of 1

Page 1 of 1

Toggle back to continuous viewing mode

/lp/association-for-computing-machinery/literate-programming-in-apl-and-aplweb-3n843VgkIV
Welcome to DeepDyve! Rent Premier Research Articles and Save Up to 90%

Learn more

Free Article

Bookmark

Literate programming in APL and APLWEB

Dickey, Lee J.
ACM SIGAPL APL Quote Quad , Volume 23 (4)
Association for Computing MachineryJun 1, 1993

More Info

More Like This Article

View All dataSource[]=actageo&dataSource[]=aspet&dataSource[]=aaos&dataSource[]=aacc&dataSource[]=aacr&dataSource[]=aea&dataSource[]=aip&dataSource[]=ajnr&dataSource[]=ams&dataSource[]=aps_physical&dataSource[]=appi_book&dataSource[]=appi_journal&dataSource[]=apha&dataSource[]=asip&dataSource[]=asm&dataSource[]=asn&dataSource[]=aspb&dataSource[]=avs&dataSource[]=annual_reviews&dataSource[]=arxiv&dataSource[]=acm&dataSource[]=berghahn&dataSource[]=cabi&dataSource[]=clinical_trials&dataSource[]=dailymed&dataSource[]=degruyter&dataSource[]=du_press&dataSource[]=esa&dataSource[]=eu_press&dataSource[]=elsevier&dataSource[]=emerald&dataSource[]=ejtr&dataSource[]=emea&dataSource[]=epo&dataSource[]=faseb&dataSource[]=gsa&dataSource[]=health_affairs&dataSource[]=hindawi&dataSource[]=imanager&dataSource[]=imedpub&dataSource[]=informa_healthcare&dataSource[]=informs&dataSource[]=iop&dataSource[]=iucr&dataSource[]=iospress&dataSource[]=jbjs&dataSource[]=leftcoast&dataSource[]=lu_press&dataSource[]=mesharpe&dataSource[]=mary_ann_liebert&dataSource[]=medline&dataSource[]=mit_press&dataSource[]=nature&dataSource[]=oxford&dataSource[]=pier_professional&dataSource[]=pnas&dataSource[]=portlandpress&dataSource[]=psyc_articles&dataSource[]=psyc_books&dataSource[]=psyc_critiques&dataSource[]=plos_journal&dataSource[]=pubmed_central&dataSource[]=rsna&dataSource[]=rockefeller&dataSource[]=rcn&dataSource[]=ria&dataSource[]=rsc&dataSource[]=sage&dataSource[]=spie&dataSource[]=springer_journal&dataSource[]=springer&dataSource[]=taylor_francis&dataSource[]=aps&dataSource[]=the_scientist&dataSource[]=uc_press&dataSource[]=uspto_abstract&dataSource[]=wiley&dataSource[]=pct

Browse: Subject Areas | Journals | Publishers

Sign Up for a DeepDyve Account

Bookmark an Article

To bookmark an article, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Subscribe to Journal Email Alerts

To subscribe to email alerts, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Thank you for renting with DeepDyve

Your PayPal account has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

Your credit card has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

OK

New! You can now keep track of new articles from ACM SIGAPL APL Quote Quad on your personalized homepage! Learn more

PDF Download — Not Available

Thanks for your interest in purchasing the PDF. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for purchasing with DeepDyve

Your PayPal account has been charged $.

Your credit card has been charged $.

You can now download this article. A purchase receipt has also been sent to your email address.

Download This Article or I'm done with my download

Print Page — Not Available

Thanks for your interest in printing individual pages. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for printing with DeepDyve

Your PayPal account has been charged $0.

Your credit card has been charged $0.

You can now print this article. A purchase receipt has also been sent to your email address.

Print the Selected Pages or I'm done with my printing

Please refresh to generate a new download link

Your article download link has expired. Please refresh this page to obtain a new download link and try again.

Follow a Journal

To get new article updates from a journal on your personalized homepage, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK