From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Sun, 15 Feb 2015 05:54:43 -0800 Message-ID: <54E0A523.9030503@dancol.org> References: <54D80098.3020209@cs.ucla.edu> <54D85304.1030600@cs.ucla.edu> <54D9AC29.2020603@cs.ucla.edu> <54DA8539.1020905@cs.ucla.edu> <87zj8ktq8f.fsf@lifelogs.com> <54DD6413.1000403@cs.ucla.edu> <83wq3m436s.fsf@gnu.org> <54DDEB4D.5040300@dancol> <83egpt4zz6.fsf@gnu.org> <54DE12E9.5040606@dancol.org> <85twypiiug.fsf@stephe-leake.org> <83zj8g3n16.fsf@gnu.org> <857fvkik49.fsf@stephe-leake.org> <83lhk0wkfl.fsf@gnu.org> <83k2zkwig5.fsf@gnu.org> <85k2zkgg8t.fsf@stephe-leake.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="6nWahDuSPskCrP8JbDhGMvNJogj943T0X" X-Trace: ger.gmane.org 1424008520 6596 80.91.229.3 (15 Feb 2015 13:55:20 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 15 Feb 2015 13:55:20 +0000 (UTC) To: Stephen Leake , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 15 14:55:13 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YMzfE-00084H-RM for ged-emacs-devel@m.gmane.org; Sun, 15 Feb 2015 14:55:12 +0100 Original-Received: from localhost ([::1]:35467 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMzfD-0003DG-Vh for ged-emacs-devel@m.gmane.org; Sun, 15 Feb 2015 08:55:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60454) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMzev-0003C3-Qw for emacs-devel@gnu.org; Sun, 15 Feb 2015 08:54:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMzer-0005XT-0P for emacs-devel@gnu.org; Sun, 15 Feb 2015 08:54:53 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:34995) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMzeq-0005XJ-Ou for emacs-devel@gnu.org; Sun, 15 Feb 2015 08:54:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:References:Subject:To:MIME-Version:From:Date:Message-ID; bh=Al+1U8qlPVbQ7wl4kjfPSpMx0Kaz8ohbbJaYslk0sR8=; b=SFUsJ+ePTDaQbM+upGG6e+eGjND3FIUJIA0sw/MnhLUlyuqdXP8ZuDHF0fKLk4tyoFY4QUJyK2E4XhxxiB5QG6w66hCmpDXAq34fBEZiWKQHWuBfkw/fUVZ5F6v0YiClu2RR1uH0HwY3NfBDRVFDczaRS5iJX7jEM99GUhXCaKUeCDJVzhp9j9eK8eJv3/aKZeQ8klOBnbv4mb+yJlnS1Pt7T0ZGhEqotOecBnVoTbHYk3OlLtfVTNgOgJu0UywpWMVx+cZscAsqkNQt3S56wr4wlyT5ADIkiJwkmH+AXXnJxY28eAOWT9y8fGRG8+NNHnRaeR5aSBnpxXM5nrCWVg==; Original-Received: from c-73-221-38-18.hsd1.wa.comcast.net ([73.221.38.18] helo=[192.168.1.210]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1YMzep-0000Mh-Ko; Sun, 15 Feb 2015 05:54:47 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 In-Reply-To: <85k2zkgg8t.fsf@stephe-leake.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:183088 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --6nWahDuSPskCrP8JbDhGMvNJogj943T0X Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 02/14/2015 04:39 PM, Stephen Leake wrote: > Eli Zaretskii writes: >=20 >>> Date: Sat, 14 Feb 2015 18:02:22 +0200 >>> From: Eli Zaretskii >>> Cc: emacs-devel@gnu.org >>> >>>> From: Stephen Leake >>>> Date: Sat, 14 Feb 2015 09:32:54 -0600 >>>> >>>> Emacs ada-mode does indentation in two steps; first it parses the so= urce >>>> code, and the parser actions are lisp functions that eventually call= >>>> put-text-property to store information about the syntax and/or seman= tics >>>> on many identifiers. Then the indentation code uses those text >>>> properties to compute indentation. >>>> >>>> I have a generalized LALR parser implemented in elisp that is fast >>>> enough for many user's Ada files, but some users have much bigger fi= les, >>>> and it takes them 10 seconds to parse. So I need a faster >>>> implementation. So far my benchmarking says I can get close with a >>>> machine compiled parser. You don't a parser in C. You need a smarter parser. Look up "incremental", please. >>>> >>>> So the module would contain the generalized LALR parser; the actions= of >>>> the parser would still be calls to the lisp functions. The right way to let C libraries call Lisp functions is to let C libraries accept C callback functions, then thunk from C callbacks to Lisp functions in the CFFI layer. That's what other CFFI implementations do. This way, your library _still_ doesn't need to know about specific Lisp internals. The module proposal in this thread will harm Emacs development because it'll put unnecessary constraints on the elisp implementations. Look at how much trouble PyPy has with CPython modules. --6nWahDuSPskCrP8JbDhGMvNJogj943T0X Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJU4KUjAAoJEN4WImmbpWBliWMQAIMPzghVEH2eY8UJZx+g7T5g cOZDecxh1/O79Rm1E1dPuAjAlsAAE6WFriMegadCMwrzWvLvNs+UL7QMeaw18jRX BHbXzuOIKNjvNpWa4yFFtFDZ1p03NYPZT0PWwdX9TQ+QqkhO8mJiVDQncO3Btq5a 4VDSo0/TW9m0H9dCmo65/9X0pJWoTh0P+J8RIv6pLiJQsNFu4mBCo4qW+Bw//iXO OkEAwhlg26RuVKl9N+14EYv++fY81gT1e2N4YkNyMNLQmdrx6dYhnN6jjodyZBTn zY03Vrr0Lb5WZl/zAx+6MfCJuJQ+r+Upm2JQ0MlUWEMSvld0qEiUTYdvadxAZ0JV 9YJNGhl2sCTMIJPCpX5SLI5r9F8m00AKtOcGK3dd3a9FFDW3QJ5BKC1QNmI3YlCj hdqBa2M4S/8b2FpmnndhiqtQ+HfTIo3Jf2aiIfKqJbZzuC2JD6kKr3z2kfw/2+ax nJ/u5t0ViEkFsGrmNb5zVCNesrRiSnFbg/2K4S/V6N7Tl7zAn8JMRkGguFirP732 wL3A/ryWZItPii12B15NjqUhbUljX1hJfg9lsqWYAuZgGTM3eSIvYpEY1twM5emk SDWi6xh3EuVMkCze7tXU/8v4miMMP2oieiUM6BuzaHDuje6YW4ETeAwuHkEODCEi fF0qidCjIK8amUaQvFpi =gLmF -----END PGP SIGNATURE----- --6nWahDuSPskCrP8JbDhGMvNJogj943T0X--