From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Pascal J. Bourguignon" Newsgroups: gmane.emacs.help Subject: Re: why are there [v e c t o r s] in Lisp? Date: Sun, 18 Oct 2015 03:08:34 +0200 Organization: Informatimago Message-ID: <87bnbxasq5.fsf@kuiper.lan.informatimago.com> References: <87mvvjeg29.fsf@kuiper.lan.informatimago.com> <87io67pmr7.fsf@debian.uxu> <87mvvjzgup.fsf@fastmail.com> <87d1wfplu5.fsf@debian.uxu> <87io67zfl0.fsf@fastmail.com> <87twpqcl8c.fsf@kuiper.lan.informatimago.com> <87wpulbjps.fsf@kuiper.lan.informatimago.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1445130632 26700 80.91.229.3 (18 Oct 2015 01:10:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 18 Oct 2015 01:10:32 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Oct 18 03:10:26 2015 Return-path: Envelope-to: geh-help-gnu-emacs@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 1ZncUT-0001jp-3C for geh-help-gnu-emacs@m.gmane.org; Sun, 18 Oct 2015 03:10:25 +0200 Original-Received: from localhost ([::1]:60247 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZncUS-0005zV-1h for geh-help-gnu-emacs@m.gmane.org; Sat, 17 Oct 2015 21:10:24 -0400 Original-Path: usenet.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 37 Original-X-Trace: individual.net smfPnBMYbpZ9yIjAV6gI3gPbaubexzVSkFCtxiKWb//SPugoZ7 Cancel-Lock: sha1:MzczYzdkYjE4NGRiNWFkYWJlY2FiZWYyMWRmNTk1YmRhYjc5MGY5NQ== sha1:iHFqewXjZktILA5ybCBsjoEBts4= Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Original-Xref: usenet.stanford.edu gnu.emacs.help:215447 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:107730 Archived-At: Emanuel Berg writes: > "Pascal J. Bourguignon" > writes: > >> As I said, you could write a compiler performing >> global analysis to determine how you use a given >> object in the data flow, and therefore store the >> literal as a list or as a vector. >> >> One complication would be I/O. The data flow >> analysis could let the compiler determine that some >> object read shall be stored as a vector or as list, >> but the reading function wouldn't know that from the >> external syntax, and it would need an additionnal >> type parameter. >> >> Notice that this introduces some kind of static >> typing which is rather contrary to the lisp spirit >> and makes thing so bad in serializing non-lisp >> like languages. >> >> At this point, the best you could do is to start >> writing your own compiler to implement this idea, >> and see whether it's a good idea or not. > > I'm not suggesting anyone do this. I'm definitely suggesting you do that! You definitely need to learn something, and writing your own compiler, and implementing that idea would be the best way for you to learn it. -- __Pascal Bourguignon__ http://www.informatimago.com/ “The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.” -- Carl Bass CEO Autodesk