Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'python.': 0.02; 'subject:Python': 0.06; 'subject:would': 0.07; '(aka': 0.09; 'oop': 0.09; 'parsing': 0.09; 'scheme.': 0.09; 'semantic': 0.09; 'subset': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'jan': 0.12; 'garbage': 0.16; 'guru': 0.16; 'invokes': 0.16; 'lisp': 0.16; 'portable': 0.16; 'subject: \n ': 0.16; 'language': 0.16; 'wrote:': 0.18; 'implementing': 0.19; 'python?': 0.22; 'cc:addr:python.org': 0.22; 'non': 0.24; 'cc:2**0': 0.24; "i've": 0.25; 'least': 0.26; 'subject:/': 0.26; 'gets': 0.27; 'header:In- Reply-To:1': 0.27; 'wondering': 0.29; 'chris': 0.29; '(this': 0.29; 'said,': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'clever': 0.31; 'exceptions': 0.31; 'trivial': 0.31; 'handled': 0.32; 'fri,': 0.33; 'but': 0.35; 'received:google.com': 0.35; 'building': 0.35; 'scheme': 0.36; 'subject:?': 0.36; 'level': 0.37; 'easily': 0.37; 'implement': 0.38; 'pm,': 0.38; 'heard': 0.39; 'easy': 0.60; 'free': 0.61; 'lower': 0.61; 'to:addr:gmail.com': 0.65; 'between': 0.67; 'yes': 0.68; 'respect': 0.70; 'carefully': 0.74; 'crafted': 0.84; 'subject: *': 0.84; 'theres': 0.84; 'crucial': 0.91; 'reasons,': 0.91; 'differences': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=7lf6gYNi21gAWDVMWyW9OZbQ84Vn32yo3SVvlZ6XBfU=; b=wrzAY2nBVxjQEkTlFujBjEUi7/wWGH9jUyPAT2RuaGxOJ2WFtSuhreoSioOcaOyDcx PdMa1Jq+NZ/xsaiTi3/Qv+FPHNrWQpVGeaa9PSPxitq/mCeT7xfpiBg62fxnVVLctopo ikTo8acYmbG+oXYzhaqZqUZUinaFc3k20ZS7sdym7nOcYQGQzhucZGTaPMjwJhLZVjrk /73oqxLtD2NveH0m+VmE7hDUr2umUf0q6St48FfYQfobHEPsiIL7oIslm6xJ9W4Cr5+y OQYys5oQdJh+WfR+JcpkfHAHHDsyVcNohsWL00A53ECzkUegZAXineIRy45xX163HM1W OmHA== X-Received: by 10.68.91.3 with SMTP id ca3mr93160060pbb.20.1388743248356; Fri, 03 Jan 2014 02:00:48 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: From: Rustom Mody Date: Fri, 3 Jan 2014 15:30:28 +0530 Subject: Re: Is Python really "Lisp without parentheses"? So would it be easy to *implement* a lot of Python in Scheme/Lisp? To: Chris Seberino Content-Type: text/plain; charset=ISO-8859-1 Cc: "python-list@python.org" X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 31 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1388743262 news.xs4all.nl 2943 [2001:888:2000:d::a6]:58407 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:63046 On Fri, Jan 3, 2014 at 12:16 PM, Chris Seberino wrote: > I've heard it said, by no less a guru than Peter Norvig, that Python is a lot like Lisp without the parentheses.... at least for the basics of Python. > > For pedagogical reasons, I'm wondering if it would be easy to implement a big subset of Python in Scheme. > > The basics of Scheme or Lisp are amazingly easy to implement. Because parsing and unparsing (aka printing) are so trivial for s-expressions > Would implementing a subset of Python in a Scheme subset be a clever way > to easily implement a lot of Python? At the innards of lisp and python are garbage collected data structures. Building one with the other gets you that for free [Doing it in a lower level language like C is what invokes the humorous: Greenspuns tenth law] So yes in that one respect what you say is true. But then theres also (apart from parsing) all kinds of semantic differences eg: - exceptions - modules - OOP milarky - C interfacing in Baskin Robbins number of flavours - carefully crafted portable veneer on top of intrinsically non portable OSes All these have to be handled one way or other > > (This isn't for practical reasons....I'm just curious.) A crucial difference between python and lisp is that python is practical and lisp is utopian