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=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=/tfUO26I9dG1DHuODjuCioBgv2Hlf7JmZAOv0NXlSe0=; b=EgmLH/lGBJeCPxcsaN1XnOjECEjVZ4OUlclajdIfyKl/dudRfdJ8lTFnk2TqW42xon ywWIDZDsntg1pXbZI20ool9oD1qXuYNPEp32nptuPpoOhh144YwNIeoxDT0ZiqvPDfOF tdcoxZsoA92HMx4nh0cerZw7mYeaXsZsgQjveJzNhPj9yqbtZhzAaW5ALorAYo7zs62T ShlVDq2YmcMDpUTgPZlP+pJn90PcOeoo5DdXautLfzTa7ZGdh5cdZ4M9vDnGBaralokH tjfZnrnkF+3hJiN8KseQt0FR0wxJwyUBr/d8RNBAYisl2MBrF2WotSj1FTbdLug+JiKn zb9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=/tfUO26I9dG1DHuODjuCioBgv2Hlf7JmZAOv0NXlSe0=; b=Y4agWuAX8AnXRkWqY8odQXcbu1HvxHoKqsT2U6xcSEtwQS6ZFh9inpdcfWkKm+Ox7y R2g3D5yFda/SRXs3vEny0LPH0oh/PIzRGQYp3mTksn6JEFLIfl14qc+Qau3/F0/qS8C2 DM65Q3O+vn/bz+qYV+txdrefD5dGOuHbHmi6l4JRdjSANI+TnoeGbGM/0azu7mIqg0aj fgfpjt2JZCUkZsuay/+SPjGVs2kN7oW4A02qannmquG0/IIH4rl9MjZhGzK+igMGJ6WU F+ZFRjkd4UOMlxoCWcNvKp5gt3ljGU6vNL/QO1RrT7dGIP/UkFSKp53IeIH21BOiIxP/ iUNw== X-Gm-Message-State: AEkoouuIw3MXga4sIS5wxHMYY5+OzYPGCtzIrsxGleitJoH/KssHkKVySErfiaciToIIpm9oNqXhmPZ14F6qlA== X-Received: by 10.25.163.132 with SMTP id m126mr17594096lfe.56.1469937361176; Sat, 30 Jul 2016 20:56:01 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <20160722171754 DOT GB17595 AT localhost DOT localdomain> <20160723065723 DOT GC17595 AT localhost DOT localdomain> <20160723092248 DOT GF17595 AT localhost DOT localdomain> <20160724053502 DOT GM17595 AT localhost DOT localdomain> <9719FF2C-AC85-4824-89E9-447216E7FA65 AT sbcglobal DOT net> From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" Date: Sun, 31 Jul 2016 03:56:00 +0000 Message-ID: Subject: Re: [geda-user] Plans for gEDA/gaf (was: [OT] ngspice integration in KiCad) To: gEDA users mailing list Content-Type: text/plain; charset=UTF-8 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 On Sat, Jul 30, 2016 at 5:22 PM, Roland Lutz wrote: > On Fri, 29 Jul 2016, Edward Hennessy (ehennes AT sbcglobal DOT net) [via > geda-user AT delorie DOT com] wrote: >> >> What are your plans for the gEDA-gaf codebase? It looks like your are >> rewriting the core library in other languages. Is your plan to make libgeda >> obsolete? > > > I'd like to have a core library--call it libgeda, call it something > else--which is used by the gEDA programs and which can be used in other > programs and scripts, as well. This library should provide an object model > and functions for accessing it, for reading and writing files, for rendering > objects, and so on. The idea is that no application or tool working with > gEDA files should have to duplicate basic gEDA functionality. When you look at the source for libgeda vs the source of gnetlist it becomes very clear that most of the netlister (excluding the plugins) is in libgeda. This is helpful because there are times when you want to walk the structure of a netlist in gschem to do things like highlight a whole net when a user clicks on it. Back when Igor2 was working on the back annotation in gEDA he really needed the ability to call the meat of netlisting ability from gschem. > The current libgeda doesn't live up to that. While in theory, you could use > it in another program for loading gEDA files, in practice, it's so > intertwined with gEDA and especially gschem internals that in most cases, > it's easier to just duplicate the required behavior. I'd like to move the > parts of libgeda which are interesting to use as a library out into a new > library which is used both by libgeda and the tools, merge libgeda back into > gschem, and have the new library take the place of libgeda. I think that is mostly because few people understand the source well enough or are motivated enough to actually do anything with it. Others would do more but see kicad as a better, less hostile place to contribute. > My other concern is the scriptability of gEDA. While gEDA does have an > embedded Guile interpreter and makes some functionality available to it, > this approach is somewhat limited; most notably, you can't use the gEDA API > from a stand-alone script or from a script running within another > application. I'd prefer having bindings to the core library available in a > high-level language and using these both for stand-alone scripts and for > code which is run within an application. This way, the core library could > also contain commonly used functionality which is more naturally written in > a high-level language, like the netlister. > I have always wanted to add C plugins to libgeda. -- Home http://evanfoss.googlepages.com/ Work http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/ -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 mQENBFYy4RYBCAC183JomLtbdAlcKiaPDoVHq52LDmVmH75aiEc69m7YxDt54/ai VtYCAobbGVIyn3Hlz3uhF6LnPl/6Lm1VdnCfpwu3KQhCO6ds10ow2C30X4ohCqOd hCVg5C+ILmQkEffFrFODy3ji+PYTF4pADvHCWsTMv0hf0llwFOJsBCK6cl02IffE JPqy4PjM1nZ9HpzT84JBaG/4OGvTZ8SQ2yFUl265jagvygPTf88H1xpZHH1r8dB1 stjUHLmPH8AOyDgKxFchgGeDc3p/vJtgDDIXAFfDXG0NSRovLmtaQdGxe47Zf/go bXiEM7YL2WqQe5zfEA919JxkEwlDKYniOSVzABEBAAG0N0V2YW4gRm9zcyAoVGhp cyBpcyBteSBwdWJsaWMga2V5LikgPGV2YW5mb3NzQGdtYWlsLmNvbT6JATkEEwEC ACMFAlYy4RYCGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCIpQTcE8nN bbBaCACAm8pU5lG1ev2Fsw68Axtcl57SJrYieqX96c3YuYH9JpqMqJRnd9nDKw9X tQuvuH7tUk0VbOaDqReOYJVI/4c5wb9AaOFp6K2DUcupq6XhgXpvz3HzoPwjAdIj XuQzdRUx5+innTJrSkGuBYW/CZ2zqEx4xfLlq4rO0hoTUMR8QVp2cCrkw6BT0m86 APIw/ZnjoxM8IEzr7MxfRIg3qpzrZk28rmhx+k78Jyk61UhwcCPGIm/pjUopTwYJ 3YBdRB2cYD2aN7A1JVf5cRmSQYooHBGpH0kYvomGk97PKqypVuJ7OpG9xM58wUcC qUVt9hKlePLzP8csYjt8onqI7qIIuQENBFYy4RYBCADlH8spG3WkCx62vB5mr5Z0 SCDd/RcyA4A5y5EOj5KurQkrSWpgi9Ho1yKruMJ6blQR2qkc66KqH9pnXDm/ZI1M K/wdW3ngETxBmXoozzFMT89aEWIVR5/PFodWK1elekE9iJxACuR98Zg2QttTD3x8 A9w8VEyMLOXcDTrPFpHegMKswFBg5iuMulAdXAoGejWTI3n+qKFpabHm2Lfs6wjk 5rjucpTdeFK6UeWF1xAvNxXibuu5BlGwv53930qIXRwO/Gn2Rh5DXWxKU2fEIme/ xgQQmIsDeUoWbfybdjw/x7Q0LW4mINiLDQcGHHRQKFIxbAJCT3USPLGh5xwE9/Er ABEBAAGJAR8EGAECAAkFAlYy4RYCGwwACgkQiKUE3BPJzW0uYAf9Hf30n8tM3mR2 Zo6ESE0ivgdgjaJtAWrBUx7JzAzPjBnBOlNnu5Y9lVEqetvUPH6e3PvaHYUuaUU8 0HwxuKBW9nUprgV6uIu1DZmlcp+SxpbuCy7RDpNocRLNWWFMaYYzznmTgfnTgD4D gCq8Mf1mcfrluTkOAo+QNqbMfl1GISClopRqxVuAo59ewgMnFujwgd8w12BwWl24 CzqOs5HqcUslePj+LzcjSNgVCklYwKl+0dsb/fctMOCtHodwqm2CBJ+zydvNmYkD fxda/J91Z1xrah5ec++FL0L4vs+jCiIWJeupJFKlr1hCMZiiGH7W554loK5l4jv3 EY347EidAw== =Ta4p -----END PGP PUBLIC KEY BLOCK-----