www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/12/23/00:24:12

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-TCPREMOTEIP: 207.224.51.38
X-Authenticated-UID: jpd AT noqsi DOT com
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
Subject: Re: [geda-user] A fileformat library
X-Pgp-Agent: GPGMail 2.5.2
From: John Doty <jpd AT noqsi DOT com>
In-Reply-To: <CAM2RGhTficnys3a4xs=UBFvk8aPwpzYWUADFLP_pUQ+R1iKs0g@mail.gmail.com>
Date: Tue, 22 Dec 2015 22:23:54 -0700
Message-Id: <0FCF3774-F93C-4BFF-BB61-636F75DCCACB@noqsi.com>
References: <1512221837 DOT AA25291 AT ivan DOT Harhan DOT ORG> <CAJXU7q_mXmipJ1fLvLpuLvnYjktV2SHoA+bG=L5+E-EfdygeOA AT mail DOT gmail DOT com> <s6n37uumanm DOT fsf AT blaulicht DOT dmz DOT brux> <CAJXU7q_qxdvJaejF-VcY=u7VHZ-zrfrc+Z7-qSwfFyPdy-umxw AT mail DOT gmail DOT com> <B02363CD-469D-493A-AC15-1D5DC7836982 AT noqsi DOT com> <20151222232230 DOT 12633 DOT qmail AT stuge DOT se> <0F6F1D0F-4F07-48EA-90FE-836EAD4E2354 AT noqsi DOT com> <CAM2RGhTficnys3a4xs=UBFvk8aPwpzYWUADFLP_pUQ+R1iKs0g AT mail DOT gmail DOT com>
To: geda-user AT delorie DOT com
X-Mailer: Apple Mail (2.1878.6)
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

--Apple-Mail=_6910DA03-2029-4B0E-BDD5-8D32DE4B4876
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On Dec 22, 2015, at 9:31 PM, Evan Foss (evanfoss AT gmail DOT com) [via =
geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:

> On Tue, Dec 22, 2015 at 11:47 PM, John Doty <jpd AT noqsi DOT com> wrote:
>>=20
>> On Dec 22, 2015, at 4:22 PM, Peter Stuge (peter AT stuge DOT se) [via =
geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:
>>=20
>>> 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.
>>>>=20
>>>> I=92m 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.
>>>=20
>>> The purpose of a core library is to take care of the lower-level
>>> things required to deal with the external data representation.
>>=20
>> I=92d prefer to make the external representation transparent.
>>=20
>>>=20
>>> It is key for a core library to make all available data easily =
usable
>>> for tool writers, not to enforce a particular internal =
representation.
>>=20
>> But of course, it will use a particular representation. A core =
library for C++ isn=92t going to be useful to an AWK programmer.
>>=20
>> One thing that=92s nice about our .sch format is that it is easy to =
read and write from pretty much any language. There=92s no need for any =
extra layer.
>=20
> Yes but with an extra layer more people can play with files made in
> PCB.

I was speaking of geda-gaf.

> 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=92t in =
their favorite language that=92s 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.

> 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=92ll 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=92t really =
help to hide the format behind an API unless you don=92t intend to =
expose the changes. But then, why would you make a change?


>>=20
>>>=20
>>> 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.
>>>=20
>>>=20
>>> //Peter
>>=20
>> John Doty              Noqsi Aerospace, Ltd.
>> http://www.noqsi.com/
>> jpd AT noqsi DOT com
>>=20
>>=20
>=20
>=20
>=20
> --
> Home
> http://evanfoss.googlepages.com/
> Work
> http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/
>=20
> -----BEGIN PGP PUBLIC KEY BLOCK-----
> Version: GnuPG v2
>=20
> 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=3D=3D
> =3DTa4p
> -----END PGP PUBLIC KEY BLOCK-----
>=20
>=20

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



--Apple-Mail=_6910DA03-2029-4B0E-BDD5-8D32DE4B4876
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJWei/rAAoJEF1Aj/0UKykR1S8QAKULfc0XCIXC//QDzQG2MTtL
sfqxgG47KR/wBryjuGXLv+6NMh3XdLdgCa2xMN7bBRv9lQcNcxuZ5fzilW/hoIdN
fuzKoeiX8bsO5D1V2OkykSRdpDmhKFDaA4HWeLuYOt+EmYKW7NK9KkjPPalQLe/U
1Kwo02MF5IXhhFlFaVAMRoxLvtu3wGnonMCtxPoPmyfWRGfcf4lRUvS1bOEt7Peg
PsFNwmbzfgk1zatI3oSDk0xh4tADOdGyopDh7dy5Von7TqEA+98PvAz+/qPnijyz
AL+xQLeVDw+ygDM76CNyAMcukTH/SKH7m9AsxPKTtU4/W0mZIkrZLxCUvy7rVEKU
3ZCQC7mb4nxEEGD9lr4j9+11HidPk249AbkOkvzB9k0sCAhrn/A4g9lCgjUViv4R
f5LfM2f9xlloTk039ktkRzyniHkVsTMCnYhepQSCYjCdsUiTuyuK1Dl1EsBx8JqQ
Zq1rTzRjGAFynGeGW19K6IiMp53AP6CAdQsMjI5RXFjHYI4QxbmwU7W6w9rHJkt0
Xddy9kdhn7Bv96Ok6uPumeNiPEPKNuYAD2Aa1s4EOpkP9zW44CDrIHJmh0a16JlR
8jcjI3+hujHuN/bOmv1xVdN5CwWdXNkB8XjDvqD+IU8/HjNeoH2lMcXs5PIfbxuV
RwKN4mEZdEnBtNX7a3OC
=jbVe
-----END PGP SIGNATURE-----

--Apple-Mail=_6910DA03-2029-4B0E-BDD5-8D32DE4B4876--

- Raw text -


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