From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: pure-fns in byte-opt.el Date: Wed, 29 Jul 2020 16:21:41 +0200 Message-ID: References: <20170725020650.GA12601@holos.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25852"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Richard Stallman , Emacs developers To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jul 29 16:22:32 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k0myW-0006cb-0f for ged-emacs-devel@m.gmane-mx.org; Wed, 29 Jul 2020 16:22:32 +0200 Original-Received: from localhost ([::1]:55098 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k0myV-000136-1o for ged-emacs-devel@m.gmane-mx.org; Wed, 29 Jul 2020 10:22:31 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57248) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k0mxw-0000bM-Nn for emacs-devel@gnu.org; Wed, 29 Jul 2020 10:21:56 -0400 Original-Received: from mail-oo1-xc30.google.com ([2607:f8b0:4864:20::c30]:42357) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k0mxv-0000YS-6O; Wed, 29 Jul 2020 10:21:56 -0400 Original-Received: by mail-oo1-xc30.google.com with SMTP id k4so160005ooa.9; Wed, 29 Jul 2020 07:21:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=MXXCeOVDbJF3Qb38Jnqqa6CXcTuqhKW69lt/p18c+CE=; b=kokU5fcqKgX/pkDvlwVUbbdBfdlbbQRnMpIBuLSq1DdBQFESGhMwTcC1hk8MEa4WRe rb3mIUDApR+Sesz2VEAnPYBYO+hSYpNHFjTixp95+lihbvBkJ9jv6ZGdD0eqxsAJsfya I/eRuTUozWpJllf3ElT1Iqqxwn28PeUhyCddyBwEaIL9onqFiCT1t1oJcp9HN6v60XwD pf6GVHNvwj8epagSMqVu/gnuYygNJ6VzUVXkMciKPiAzQPJ7ZgYybbxigfi7JbypPoAn l0VccehT6kAeRPvFV/xyc0fmwY9CUL5H4O8GkAfBa5tDQIQ/1tVmk+yX98mEcE5kv2p2 s7EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MXXCeOVDbJF3Qb38Jnqqa6CXcTuqhKW69lt/p18c+CE=; b=q5MAyQ41/XFfic7XXx3buWUh5SRpjT5jA6fPWGYmEBK3Y+u5Hd+g4cIx8DynUvopGs 5rhnfIV2FfsqxQo0JKPwtMZ7y46hq4G/6bPQgEVO7oTgtStdJV4iOm2r8cQy7FIMs2HL /2VPlCFBtPn69OWMm2+ENLcZ0CtrgIoMyLOrifBLRa8WwHW0zeIvmN/B2QdYD6D9W8cn Z6JrHuce5Pke69gej12IPklFCCC/dDg7PzEaFAdWBnPgFvUH4AEO9ryRXqym1bNrDrye RmlY+lKn788z92VE14fOyF5AND7DPq148cCluDfsE/zvrGTe91C25NJ4cOqKLRkHRS/I DotA== X-Gm-Message-State: AOAM532K/QCyZRaJb5uJkzrKlrs7HhJagPcJaWRohliAL+VN2HrMguE+ U+rCXXVBIUk0luG0RKjVpBb9pdr5thm5EXhSXgE= X-Google-Smtp-Source: ABdhPJznKe6OxqdRqLw+csvN/rvw1xWuIh/Cy/yTux6+3DXJ3gNw+oc6V/obIA/BFUwDrCeQ5xXyMCvV7/HzewwzosU= X-Received: by 2002:a4a:8257:: with SMTP id t23mr28371745oog.60.1596032513205; Wed, 29 Jul 2020 07:21:53 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::c30; envelope-from=p.stephani2@gmail.com; helo=mail-oo1-xc30.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:253324 Archived-At: Am Sa., 25. Juli 2020 um 22:59 Uhr schrieb Stefan Monnier : > > >> The above "definition" seems to allow that: based on looking at the code > >> you should be able to assess whether it's safe to allow the compiler (or > >> anything else for that matter) to precompute the call. > > I wouldn't know how that should be possible without knowing how the > > compiler operates (or what it "knows" or can know). > > Why would you need to know that? > As mentioned between parentheses it's not specific to a compiler. > Is it that you find "precompute" unclear? Yes, but also referring to a compiler, whether the current implementation or some abstract one. We should be able to define the semantics of Emacs Lisp without referring to implementation details such as byte compilation. The current manual already attempts to do that, it's just not 100% complete and correct. > > > It relies on some (rather vague) terms about the compiler, such as > > "precompute" and "know". What if we change the compiler significantly > > so that it "knows" much more? > > Doesn't make a difference: it will just make it possible for the compiler > to precompute more often, whereas what this flag says is "when the > compiler is *able* to precompute the call, should it be *allowed* to do > so". > > > Stefan >