delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/02/17/15:03:36

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-TCPREMOTEIP: 72.130.189.202
X-Authenticated-UID: jpd AT noqsi DOT com
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
Subject: Re: [geda-user] work on gEDA
From: John Doty <jpd AT noqsi DOT com>
In-Reply-To: <20150216103445.GA28499@localhost.localdomain>
Date: Tue, 17 Feb 2015 10:02:06 -1000
Message-Id: <2BA4B15C-649D-41B4-B7A7-C2EA3E1E0675@noqsi.com>
References: <20150215021721 DOT 28d94fde AT jive> <20150215092144 DOT EF6D381A5EB8 AT turkos DOT aspodata DOT se> <alpine DOT DEB DOT 2 DOT 00 DOT 1502151046540 DOT 7324 AT igor2priv> <alpine DOT DEB DOT 2 DOT 11 DOT 1502151524530 DOT 26783 AT nimbus> <4CDE0B7D-C211-44CE-990C-758BE560656B AT noqsi DOT com> <1424040627 DOT 18156 DOT 2 DOT camel AT cam DOT ac DOT uk> <74CC75B2-6E07-4292-8ACE-655F64EB3744 AT noqsi DOT com> <20150216103445 DOT GA28499 AT localhost DOT localdomain>
To: geda-user AT delorie DOT com
X-Mailer: Apple Mail (2.1878.6)
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t1HK2E1K029582
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Feb 16, 2015, at 12:34 AM, Vladimir Zhbanov <vzhbanov AT gmail DOT com> wrote:

> On Sun, Feb 15, 2015 at 07:40:51PM -1000, John Doty wrote:
> ...
>> It’s more readable to me than the Scheme original, and I wrote the Scheme original. I think this is the future…
> 
> Would one of the attached versions of your backend be more
> readable than your original :) ?

Not to me, although they’re both good. But I’m not an unbiased observer. ;-)

> 
> The key point here for me is using of clear names, so some
> syntactic sugar makes things look more clear.

Yes. Keeping the nesting ((()())()) simple and shallow is also important.

> 
> Though the more important thing I sort of see in Roland's code is
> creating of two full internal netlists, that is net-based and
> instance-based ones, before doing the work the backend wants to
> do, which can be afterwards filtered by means of Scheme to pick
> out the stuff you need to get the work done. I suspect some
> refactoring to make gnetlist work in such a way would simplify
> many backends (and probably solve some gnetlist inefficiencies).

The code treats attribute names as a predefined set. That could be trouble. The list misses many that existing back ends use. My gnet-spice-noqsi can include the text of attributes with arbitrary names in other attributes, reflecting the fact that SPICE model and subcircuit parameter names are not a predefined set. And then, the primitive (gnetlist:vams-get-package-attributes) seems to be intended to discover attributes with unknown names: I guess the Verilog folks need to be able to do that.

I don’t think there’s a problem with iterating over either “packages” or “all-unique-nets” in the existing gnetlist design. For big projects, gnetlist seems to spend most of its time computing net connectivity. Ales once told me he didn’t think his code for that was very efficient. In any case, it would be better to compute that on demand, rather than up front: if you’re making a BOM, you don’t need the information.

> 
> (BTW, I don't like Python and don't want Scheme to be replaced
> with it entirely in gEDA/gaf. However I agree that the osmond
> backend code written by Roland is nice.)

Scheme’s OK for some of us, but I think many more would prefer Python.

> 
> Cheers,
>  Vladimir
> <gnet-osmond-1.scm><gnet-osmond-2.scm>

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd AT noqsi DOT com



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019