Xref: utzoo comp.lang.functional:176 comp.lang.prolog:2787 Path: utzoo!attcan!uunet!lll-winken!uwm.edu!zaphod.mps.ohio-state.edu!usc!snorkelwacker!bloom-beacon!eru!luth!sunic!mcsun!inria!irisa!ridoux From: ridoux@irisa.fr (Olivier Ridoux) Newsgroups: comp.lang.functional,comp.lang.prolog Subject: Re: Pattern matching considered harmful Message-ID: <1990Jun6.070938.735@irisa.fr> Date: 6 Jun 90 07:09:38 GMT References: Sender: news@irisa.fr Organization: IRISA, Rennes (FR) Lines: 22 From article , by rjc@uk.ac.ed.cstr (Richard Caley): > It would be nice this was possible. declare a dtat type ad declare a > `picture' of it which is what the outside world sees. > Two already implemented extensions of Prolog can be used to support this style of programming. They are Lambda-Prolog [Miller & Nadathur in ILPC'86] and Login [Ait-Kaci & Nasr in JLP 3(86)]. Lambda-Prolog does the job by the means of higher-order terms and beta-reduction which act as well-behavied macros and macro-expansion. Login is more in the style of abstract data-types or object-oriented programming. However both have been designed to extend the term domain and to have a unification that performs tricky computations rather than to support a software-engineering discipline. They may lack the syntactic sugar that helps enforcing the discipline. Friendly, Olivier Ridoux