Article View: comp.lang.functional
Article #1185Re: How to improve the readability of (any) LISP or any highlevel functional language to the level of FORTH ?
From: P.M.Lawrence
Date: Tue, 04 Jan 2011 14:14
Date: Tue, 04 Jan 2011 14:14
31 lines
3336 bytes
3336 bytes
pineapple wrote: > On Jan 1, 2:04 pm, girosenth <girose...@india.com> wrote: > > > Is there a postfix functional language that also gets rid of parens > > and is not as primitive as FORTH or POSTSCRIPT ? > > Joy. > > http://en.wikipedia.org/wiki/Joy_(programming_language) Not quite; that does use bracketing around chunks of code, as much as anything for quoting purposes to allow lazy evaluation. The problem with a completely postfix notation for a functional language is that parameters are evaluated as they turn up, without regard to the operation that needs them (as, without lookahead that would destroy the gains from postfix notation, it isn't yet known what will be needed). That appears to enforce strict evaluation, unless the postfix notation is loosened with some quoting system. However, I did some work on this myself for my Furphy project (see http://users.beagle.com.au/peterl/furphy.html - but so far it's only a prototype/testbed, and still quite "primitive"). I found an indirection mechanism that gave lazy evaluation without a quoting system, which I implemented with the complementary keywords FREEZE and THAW. Even so, a quoting system is so convenient that I added one back in - only, now it is a layer of syntactic sugar rather than an alternative treatment of the source. I wanted to avoid that alternative treatment so that inconsistencies wouldn't develop from going in and out of postfix notation - I was even able to make keyword naming postfix. P.M.Lawrence.
Technical Details
Message-ID:
<129ea0bd-4dc9-42dc-83b5-02846381744d@29g2000prb.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!29g2000prb.googlegroups.com!not-for-mailReferences:
<80ceeca0-1d32-47d1-ba96-feb4d9729c3a@v17g2000yqv.googlegroups.com> <697f9c5f-ad7f-4c63-8e8f-a410091a09f1@r19g2000prm.googlegroups.com>Show Full Headers
Complete Article Headers
X-Google-Thread: 107f24,1641de092071599d X-Google-NewGroupId: yes X-Google-Thread: f4fd2,1641de092071599d X-Google-NewGroupId: yes X-Google-Thread: 103b8b,1641de092071599d X-Google-NewGroupId: yes X-Google-Thread: fd7c9,1641de092071599d X-Google-NewGroupId: yes X-Google-Thread: f907c,1641de092071599d X-Google-NewGroupId: yes X-Google-Attributes: gid4e63bbc566,gidf85ca024c1,gid39ae015015,gid2832dde05d,gidee3de009bc,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!29g2000prb.googlegroups.com!not-for-mail From: "P.M.Lawrence" <pml540114@gmail.com> Newsgroups: comp.lang.functional,comp.lang.lisp,gnu.emacs.help,comp.lang.forth,comp.lang.prolog Subject: Re: How to improve the readability of (any) LISP or any highlevel functional language to the level of FORTH ? Date: Tue, 4 Jan 2011 06:14:49 -0800 (PST) Organization: http://groups.google.com Lines: 31 Message-ID: <129ea0bd-4dc9-42dc-83b5-02846381744d@29g2000prb.googlegroups.com> References: <80ceeca0-1d32-47d1-ba96-feb4d9729c3a@v17g2000yqv.googlegroups.com> <697f9c5f-ad7f-4c63-8e8f-a410091a09f1@r19g2000prm.googlegroups.com> NNTP-Posting-Host: 203.194.52.31 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1294150497 29630 127.0.0.1 (4 Jan 2011 14:14:57 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 4 Jan 2011 14:14:57 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: 29g2000prb.googlegroups.com; posting-host=203.194.52.31; posting-account=e84OQAoAAACLKqJfxrxmVXjY7apHUUxL User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2009032711 Ubuntu/8.04 (hardy) Firefox/3.0.8,gzip(gfe)