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:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=bhfFqSoN7b9QyBOvOhIbAe4ndslfedO8HJx9MjCFGYY=; b=fGHHnXGa9LmGsjCnyJRznSxZtDaWuqW+JHZU6dFYlwE7+3yctIXKUP6CUskLQ6Usgo JWH98HJcxUm1axdSrSM+erU3CXYr09BK2TgDbF5GrSe9h2F5jREtNR7GS4KHk3ACKKb/ lRpstr41S+rwKD9USIjUbTv4pBTwaiKNswm1UvpCeKtvPAa/Jm+QBaFJEimp86C1R6Sv P1NSbnhyzwnSW7+0EL/KFePGTVkq7MIqJ07ZDQ4X0aKrtlrdD5YuK4o/6LcAyIYUceGA Zqr/OR3PY1pu4c6OgU+rhvASxOuN5rOCaPhlLlFXokmUdJHX2Zxfgz+bLzrxztWWbB2f PCqQ== MIME-Version: 1.0 X-Received: by 10.25.212.209 with SMTP id l200mr10991337lfg.41.1450889451712; Wed, 23 Dec 2015 08:50:51 -0800 (PST) In-Reply-To: <0FCF3774-F93C-4BFF-BB61-636F75DCCACB@noqsi.com> References: <1512221837 DOT AA25291 AT ivan DOT Harhan DOT ORG> <20151222232230 DOT 12633 DOT qmail AT stuge DOT se> <0F6F1D0F-4F07-48EA-90FE-836EAD4E2354 AT noqsi DOT com> <0FCF3774-F93C-4BFF-BB61-636F75DCCACB AT noqsi DOT com> Date: Wed, 23 Dec 2015 11:50:51 -0500 Message-ID: Subject: Re: [geda-user] A fileformat library From: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" To: gEDA users mailing list Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id tBNGouiw028925 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 Wed, Dec 23, 2015 at 12:23 AM, John Doty wrote: > > On Dec 22, 2015, at 9:31 PM, Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: > >> On Tue, Dec 22, 2015 at 11:47 PM, John Doty wrote: >>> >>> On Dec 22, 2015, at 4:22 PM, Peter Stuge (peter AT stuge DOT se) [via geda-user AT delorie DOT com] wrote: >>> >>>> John Doty wrote: >>>>>> Bonus points for PCB using the core-library too, so it can "give up" >>>>>> its one preferred on-disk netlist format, and read any useful ones we >>>>>> care to implement a reader for in the core EDA library. >>>>> >>>>> I’m quite skeptical of a core library. An agreed-upon external data >>>>> representation is handy, but tool writers will want their own >>>>> internal representations in their own languages for their own problems. >>>> >>>> The purpose of a core library is to take care of the lower-level >>>> things required to deal with the external data representation. >>> >>> I’d prefer to make the external representation transparent. >>> >>>> >>>> It is key for a core library to make all available data easily usable >>>> for tool writers, not to enforce a particular internal representation. >>> >>> But of course, it will use a particular representation. A core library for C++ isn’t going to be useful to an AWK programmer. >>> >>> One thing that’s nice about our .sch format is that it is easy to read and write from pretty much any language. There’s no need for any extra layer. >> >> Yes but with an extra layer more people can play with files made in >> PCB. > > I was speaking of geda-gaf. But that is not what they were talking about changing. >> Why force them to write and maintain a whole second library to >> handle our file format? Look at the number of utilities that people >> have written to create footprints and things via their own file >> parsing code. That is a lot of duplicated effort that will be broken >> when we revise the format. > > But you need *many* parsers to serve our modern Babel of programming languages. If you insist that people go through an API that isn’t in their favorite language that’s a much bigger barrier than the lack of a common parser. Even if the API is in the right language, its data structures may need translation. Parsing is not usually hard. Dealing with an API ill suited to your problem is often harder. > > Of course, a specialized thing like the gnetlist front end can make certain problems much easier to solve by presenting you with exactly what you need. We are not talking about geda we are talking about PCB. People are pretty good at binding xyz language to libraries written in abc language at this point. If they are working in a language other than the primary one(s) of the project this is their responsibility. >> I know you don't use it but I do and I can >> tell you there are things we need the format to represent that it just >> can not right now. > > Except that you’ll have to revise the parser API if you change what the format can represent. If you make a change, you have to change every layer it affects, so extra layers make that harder. It doesn’t really help to hide the format behind an API unless you don’t intend to expose the changes. But then, why would you make a change? I was not suggesting in any way that the file format loose it's public documentation. That would be contrary to the whole spirit of open source. I was just saying that the idea of having a library that speaks it is a good thing. The API will change and it will break things. However, the other people using the library will have the example code in PCB to work off of. >>> >>>> >>>> I expect different tools to use the same core library to do different >>>> things and to use the data provided by the core library in different >>>> ways. >>>> >>>> >>>> //Peter >>> >>> John Doty Noqsi Aerospace, Ltd. >>> http://www.noqsi.com/ >>> jpd AT noqsi DOT com >>> >>> >> >> >> >> -- >> 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----- >> >> > > John Doty Noqsi Aerospace, Ltd. > http://www.noqsi.com/ > jpd AT noqsi DOT com > > -- 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-----