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; bh=Hdrwz4RYKwxaJnxzrl/jDMepqbihyaAajx9/0gHReWo=; b=T9vmXrolqxCR9Zxyx6grBWDU44wpC3q7/j/FH1QaXwT4S+ZcCY2d1nRQKFkkaSneHa vEmflJ4oHAQh+OQNJmjijnzPFzEryPVaESFx3dNeUpBpdkV7mDgDX3MpOTFOlAcQfUhp a4Df8HWzKrRxHuOExjq0SbKGAc4B0reI0fS0lNs5tobJHmiu5z0rJ/pwRI6W0ThxI6JP DGAS/I8IaTmrtcLAyWRJtfSvuzBOKXiHR86BI7GZzMGbuJzg+xzUXhfxLVm2GX7blfFF KVHQOyYV/dilnnSSgin+MvIu/aCtes3BHZFTJx+1BLvMRK7pkTrd5bqgnvkXuT0Y3+1G /M7A== MIME-Version: 1.0 X-Received: by 10.28.93.195 with SMTP id r186mr40024706wmb.37.1450986797521; Thu, 24 Dec 2015 11:53:17 -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: Thu, 24 Dec 2015 10:53:17 -0900 Message-ID: Subject: Re: [geda-user] A fileformat library From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: multipart/alternative; boundary=001a11469daea3de7f0527aa30cf 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 --001a11469daea3de7f0527aa30cf Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, Dec 22, 2015 at 8:23 PM, 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=E2=80=99m quite skeptical of a core library. An agreed-upon extern= al 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=E2=80=99d 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=E2=80=99t going to be useful to an AWK programmer. > >> > >> One thing that=E2=80=99s nice about our .sch format is that it is easy= to read > and write from pretty much any language. There=E2=80=99s 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. > > > 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=E2=80=99t= in their > favorite language that=E2=80=99s 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. > Agreed. I like YAML for this reason. You get a parser in every language for free, without any other library material required. --001a11469daea3de7f0527aa30cf Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Tue, Dec 22, 2015 at 8:23 PM, John Doty <jpd AT noqsi DOT com> w= rote:

On Dec 22, 2015, at 9:31 PM, Evan Foss (evanfoss AT gmail DOT com) [via ge= da-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:
>>
>> On Dec 22, 2015, at 4:22 PM, Peter Stuge (peter AT stuge DOT se) [via geda-user AT delorie DOT com] <ge= da-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=E2=80=99m quite skeptical of a core library. An agreed-u= pon 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-lev= el
>>> things required to deal with the external data representation.=
>>
>> I=E2=80=99d 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 represe= ntation.
>>
>> But of course, it will use a particular representation. A core lib= rary for C++ isn=E2=80=99t going to be useful to an AWK programmer.
>>
>> One thing that=E2=80=99s nice about our .sch format is that it is = easy to read and write from pretty much any language. There=E2=80=99s no ne= ed 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.

> 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=E2=80=99t = in their favorite language that=E2=80=99s a much bigger barrier than the la= ck of a common parser. Even if the API is in the right language, its data s= tructures may need translation. Parsing is not usually hard. Dealing with a= n API ill suited to your problem is often harder.

=
Agreed.=C2=A0 I like YAML for this reason.=C2=A0 You = get a parser in every language for free, without any other library material= required.
=C2=A0

--001a11469daea3de7f0527aa30cf--