X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-disposition:in-reply-to:user-agent; bh=McIEt/7rP/HzK2caqe8SzhIFprpadyF96YNcdtPTi/M=; b=Hs4ND8YopJsnACMx+tHS+ULTJ8KjQ4IOf3wZIvO4vRzWB5kx3kCWzzA89aDVFhz28J TE6eIL5SJzBrUWL+H91gg/XBh7+9YTU/bDyaSRDa4fpR2d9SFmwEVeXZLY7jtqro8U4r Ihv7X72W8NSl59ojZqwTYOw49Jj/3jB3vQuZsnKSthQSwcFRl4ix4n7v3vE5EbA3gNAh 3GLXLHvvN97VbznN5tvXCdubGr1Fsy4EosCQrGY0liiwUtBdvzvTjD8LYA/lDWmkstxt jjKb4l8Cx8Bo4f6mQ3r4VaiJtiLpExLKRxbUV5uQXbG6/y7Yt+nruz0XAZ+fDhabncDm evlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mail-followup-to :references:mime-version:content-disposition:in-reply-to:user-agent; bh=McIEt/7rP/HzK2caqe8SzhIFprpadyF96YNcdtPTi/M=; b=WkNnG1fwPA1uVbCLdbijeXtA09WF2cu+raD7RMt0j65GcA7NiJVYw6fqH8L5pObG0p UsHIKnwcJhmgfRx9xCKxnb/LSC9Q2M+GtxFqthlMvqpRcAZMonXTwpc/cKIcjp7HHB5J QgvJF+NfTHF+xieK3MX/JyaNJOFkEUx5mxrd0H3G0CTMOL7YuZbfA22337ppiRjVsiO0 bwQ/nOxWhlP5HmBfw4Q9TwwfNRTDK6AcWebMdgHAZ0TAm/DlZDtM8gwmFnMGP1Dexh3A AFlqCCHFAaYsB6d+/APvmfF2Y+/Y7t/3EJH+GoHxTwQxoO3G9LGnKbXe4YM3Ji4KYnfn Qmeg== X-Gm-Message-State: AMke39knCyXxTcMBtNjVOYRhw5SF2ATrRvgcxWLsvILaB0BQWEvlybJJinuNwPDaOT/EoA== X-Received: by 10.25.76.85 with SMTP id z82mr4459546lfa.181.1486928473523; Sun, 12 Feb 2017 11:41:13 -0800 (PST) Date: Sun, 12 Feb 2017 22:41:11 +0300 From: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" To: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" Subject: Re: [geda-user] gnetlist chaos Message-ID: <20170212194111.GC4706@localhost.localdomain> Mail-Followup-To: "Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via geda-user AT delorie DOT com]" References: <20170212090109 DOT GA450 AT localhost DOT localdomain> <20170212102807 DOT GB30751 AT localhost DOT localdomain> <20170212122649 DOT GD11686 AT localhost DOT localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) 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 Precedence: bulk Roland, On Sun, Feb 12, 2017 at 04:19:56PM +0100, Roland Lutz wrote: > On Sun, 12 Feb 2017, Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via > geda-user AT delorie DOT com] wrote: > >Do you already have support of hierarchy in your version? > > What do you mean with "support of hierarchy"? If you are referring to the > fact that the Scheme API doesn't allow access to the hierarchy information > in the netlist, this no longer applies as backends can now access the full > information available to the netlister. I mean hierarchical representation of a schematic. Something like schematic-tree in my branch. The makedepend backend uses it. > > Backends using the legacy Scheme API obviously won't benefit from that > unless the API is changed, something which I wanted to avoid unless there > was some from of consensus to do that. It wouldn't be hard, though, as the > API is cleanly contained in one file: I remember your words about consensus on this list. Should I reproduce them here? > > https://github.com/rlutz/xorn/blob/master/src/python/geda/netlist/guile.py > > >Could you provide us with analog of the partlist module I wrote in > >spring (now developed further in my branch)? > > You introduced a lot of changes in the files, so it is hard to see what > actually changed. In what way is the output of the partslist backend now > different than before? I posted an example of simple LaTeX backend on this list in summer. I said 'partlist.scm', not 'partslist'. > > >On Sun, Feb 12, 2017 at 12:37:15PM +0100, Roland Lutz wrote: > >>On Sun, 12 Feb 2017, Vladimir Zhbanov (vzhbanov AT gmail DOT com) [via > >>geda-user AT delorie DOT com] wrote: > >>>What were incompatible changes you're complaining about? > >> > >>For example adding a second, conflicting entry point for the netlister. > >>If your goal is actually, as you claim, to make the netlisting > >>functionality available from Scheme, you could add a binding for a > >>simple function which constructs a Netlist object and assigns it to > >>the_netlist. > > > >I have already done this in my version. > > You have not done that. Instead, you chose to modify the old code to patch > some extra entry point onto that. Oh, well. > > >And it took not much effort to just reflect C netlist in Scheme. And you > >could do the same writing Python bindings for libgeda, but you prefer > >another way. > > That's exactly the point. Doing it the simple way isn't much effort, but > it's wrong for several reasons: it still requires the netlister to be > invoked from inside a gEDA/gaf application, it still only exposes those > parts of the netlist information for which you bothered to write an API, and > the code would still need a severe cleanup. Even before my refactoring, gEDA Scheme API was able to reveal any info you could use to make structures you need, and I used just it. In my branch, all information available in gnetlist C code is now available in Scheme. I don't understand your point here. Anyway, you also had to write some API to make available your data in xorn. > > If your intention is to have a better Scheme API or a way to invoke the > netlisting functionality from Scheme, just build on the current version of > gEDA/gaf. It allows you to do so really easily. About my intentions I've written several times last few days, so I don't want to reiterate here. Besides, I've already stated clearly that I won't work on geda-gaf in mainline any more. > > >As gschem GUI is based on gobjects and gtk, Peter Brett has used > >appropriate functions to accomodate it to all our GUI- and non-GUI-tools, > >which use gobjects. > > Again, that's the point. Doing so causes all kinds of problems for GUI or > command-line programs which do not use GObjects, effectively forcing every > tool which wants to read gEDA files to use GObjects. I don't think anything is wrong with this now, though I myself wouldn't use gtk for configuration. I heard several opinions on this and just don't bother yet. > >I don't want to undermine your work. I've not even dig deep into it > >because of lack of time. I just cannot support two parallel code bases. > > Then don't do it. If you don't have the time to understand the existing > code, you shouldn't be doing incompatible changes to a deprecated version of > the codebase instead. I didn't do anything in geda-gaf since September so you're off the point. > > >>>The most easy way as I see it is rewriting two these program as Scheme > >>>modules and I've already did it with gsymcheck and published the > >>>branch on github a year ago. > >> > >>I don't think rewriting gnetlist is a good idea. > > > >You've actually did that, IIUC. > > I did not. If you don't believe me, check out the code I first posted on > this list in 2015. It is still much closer to the C code (even most > function names were still unchanged) and reproduces the exact same output, > but it already has most of the structure the code now has. Oh, thank you. First review my branch and find all the bugs ( tags omitted). > > >And just your statement that your code is better says nothing to me, > >especially after I had many problems with it. > > You continue to state that but can't give me a reproducable example, so I > can't take your claim serious. > Oh well. And let's stop this "constructive" discussion. -- Vladimir