From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Shrinking the C core Date: Mon, 21 Aug 2023 13:48:26 +0300 Message-ID: <83y1i4vfgl.fsf@gnu.org> References: <20230809094655.793FC18A4654@snark.thyrsus.com> <87edk3gbh3.fsf@dataswamp.org> <87jztvnuyb.fsf@localhost> <875y5bdutt.fsf@dataswamp.org> <87y1i6e1uh.fsf@localhost> <874jkub40o.fsf@dataswamp.org> <87jztqdw2l.fsf@localhost> <87msym9i4r.fsf@dataswamp.org> <877cpp914t.fsf@localhost> <83fs4dwwdo.fsf@gnu.org> <874jkt90a5.fsf@localhost> <87y1i57jqi.fsf@localhost> <87pm3h7h8k.fsf@localhost> <87h6ot7cf3.fsf@localhost> <87edjx7c0b.fsf@localhost> <831qfxw2cx.fsf@gnu.org> <87v8d95918.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22148"; mail-complaints-to="usenet@ciao.gmane.io" Cc: ams@gnu.org, incal@dataswamp.org, emacs-devel@gnu.org To: Ihor Radchenko Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 21 12:48:36 2023 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 1qY2SZ-0005aK-7E for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Aug 2023 12:48:35 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qY2SD-0007pt-NO; Mon, 21 Aug 2023 06:48:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qY2SA-0007pW-Ni for emacs-devel@gnu.org; Mon, 21 Aug 2023 06:48:10 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qY2S9-0004kz-A1; Mon, 21 Aug 2023 06:48:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=FcdF6VfqJbvBZP59K2Q+JPpeY3VEnq5iW8xyBHuNGuM=; b=ZBIrVMqp7P9L xIKKl+m0r3JesNmILNtEG+JU6v+qB6ucJEw6RO5/DpDVAtK9TtR1ijZkgt5f6gevSZ2X/YbANppb0 KcBFWN9u5zsH/TMvBhOS6N1RAYx7okzO+44NXc29KSvPaE/USP0C/tAid7Y5V9UgZASF0jODYfr/E VwKbFzt8AaPMOv0otgeWIh1veHkPhvpN/OY302Ly86bulPp+m8YtbVqtX1Wr/+/s7GNsrtRVRiWiF ARKpRCbaJTw/yCAK+whQh075Au/zBVhbqSFa4i+wyo7m6ZBZGRp2RYcTis8dsfEVeTdRFGGoJrALq xXjxxKKF5fPbhfvTIlqyUg==; In-Reply-To: <87v8d95918.fsf@localhost> (message from Ihor Radchenko on Mon, 21 Aug 2023 04:11:47 +0000) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:309049 Archived-At: > From: Ihor Radchenko > Cc: ams@gnu.org, incal@dataswamp.org, emacs-devel@gnu.org > Date: Mon, 21 Aug 2023 04:11:47 +0000 > > > Cut them how? AFAICT, none of the tests above are redundant. > > Consider the following: > > (let ((a 10)) > (setq a (+ a 100)) > (floor a nil)) > > During compilation of the above code, the compiler will know that a is a > positive integer. It will? What happens if a overflows? > Therefore, CHECK_NUMBER, NILP, and FLOATP are not > necessary and can be omitted in the call to `floor': If you want to program in C or Fortran, then program in C or Fortran. Lisp is an interpreted environment that traditionally includes safety nets. People actually complain to us, and rightfully so, when Emacs crashes or produces corrupted results instead if signaling an error pointing out invalid input or other run-time problems.