From owner-freebsd-hackers@FreeBSD.ORG Wed Nov 13 18:58:26 2013 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B5973870; Wed, 13 Nov 2013 18:58:26 +0000 (UTC) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id A171B27DE; Wed, 13 Nov 2013 18:58:26 +0000 (UTC) Received: from Alfreds-MacBook-Air.local (c-76-21-10-192.hsd1.ca.comcast.net [76.21.10.192]) by elvis.mu.org (Postfix) with ESMTPSA id C813A1A3C69; Wed, 13 Nov 2013 10:58:25 -0800 (PST) Message-ID: <5283CBD1.9010606@freebsd.org> Date: Wed, 13 Nov 2013 10:58:25 -0800 From: Alfred Perlstein Organization: FreeBSD User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Jordan Hubbard Subject: Re: Loader forth changes for customization References: <5282E56F.4020307@freebsd.org> <52832003.8080406@freebsd.org> <09673101-DB54-4D25-9989-8C80D06E266B@fisglobal.com> <5283933E.30603@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Cc: FreeBSD Hackers , Devin Teske , "Teske, Devin" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Nov 2013 18:58:26 -0000 On 11/13/13, 10:01 AM, Jordan Hubbard wrote: > On Nov 13, 2013, at 6:57 AM, Alfred Perlstein wrote: > >> It seems to work although I will talk to the team about making separate files for the set commands. > Since we’re talking about this, there is an old maxim amongst FORTH programmers that if a single word’s definition takes more than a page, it’s just too dang long. There are some solid reasons for that, namely the fact that forth is already hard enough to read as it is (and I’m speaking as a FAN of the language) and you generally need to keep the “internal stack state” in your head while writing a word since the stack contract is only at word boundaries (e.g. word is defined as tacking stack parameters foo and returning stack parameters bar). Keeping the definitions short and sweet really helps to aid in comprehension. > > The definition for draw-beastie currently violates that maxim, and if you guys were to refactor it as part of this work, I’m sure future generations would not object! :) I'll give that a shot shortly. -Alfred