Mail Archives: geda-user/2015/12/24/14:53:28
--001a11469daea3de7f0527aa30cf
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
On Tue, Dec 22, 2015 at 8:23 PM, John Doty <jpd AT noqsi DOT com> wrote:
>
> 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:
> >>
> >> 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:
> >>
> >>> 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
<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Tue, Dec 22, 2015 at 8:23 PM, John Doty <span dir=3D"ltr"><<a hre=
f=3D"mailto:jpd AT noqsi DOT com" target=3D"_blank">jpd AT noqsi DOT com</a>></span> w=
rote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex"><span class=3D""><br>
On Dec 22, 2015, at 9:31 PM, Evan Foss (<a href=3D"mailto:evanfoss AT gmail DOT co=
m">evanfoss AT gmail DOT com</a>) [via <a href=3D"mailto:geda-user AT delorie DOT com">ge=
da-user AT delorie DOT com</a>] <<a href=3D"mailto:geda-user AT delorie DOT com">geda-=
user AT delorie DOT com</a>> wrote:<br>
<br>
> On Tue, Dec 22, 2015 at 11:47 PM, John Doty <<a href=3D"mailto:jpd@=
noqsi.com">jpd AT noqsi DOT com</a>> wrote:<br>
>><br>
>> On Dec 22, 2015, at 4:22 PM, Peter Stuge (<a href=3D"mailto:peter@=
stuge.se">peter AT stuge DOT se</a>) [via <a href=3D"mailto:geda-user AT delorie DOT com"=
>geda-user AT delorie DOT com</a>] <<a href=3D"mailto:geda-user AT delorie DOT com">ge=
da-user AT delorie DOT com</a>> wrote:<br>
>><br>
>>> John Doty wrote:<br>
>>>>> Bonus points for PCB using the core-library too, so it=
can "give up"<br>
>>>>> its one preferred on-disk netlist format, and read any=
useful ones we<br>
>>>>> care to implement a reader for in the core EDA library=
.<br>
>>>><br>
>>>> I=E2=80=99m quite skeptical of a core library. An agreed-u=
pon external data<br>
>>>> representation is handy, but tool writers will want their =
own<br>
>>>> internal representations in their own languages for their =
own problems.<br>
>>><br>
>>> The purpose of a core library is to take care of the lower-lev=
el<br>
>>> things required to deal with the external data representation.=
<br>
>><br>
>> I=E2=80=99d prefer to make the external representation transparent=
.<br>
>><br>
>>><br>
>>> It is key for a core library to make all available data easily=
usable<br>
>>> for tool writers, not to enforce a particular internal represe=
ntation.<br>
>><br>
>> 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.<br>
>><br>
>> 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.<br>
><br>
> Yes but with an extra layer more people can play with files made in<br=
>
> PCB.<br>
<br>
</span>I was speaking of geda-gaf.<br>
<span class=3D""><br>
> Why force them to write and maintain a whole second library to<br>
> handle our file format? Look at the number of utilities that people<br=
>
> have written to create footprints and things via their own file<br>
> parsing code. That is a lot of duplicated effort that will be broken<b=
r>
> when we revise the format.<br>
<br>
</span>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.<br></blockquote><div><br>=
</div><div style=3D"">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.</div><div>=C2=A0</div></div><br></div></div>
--001a11469daea3de7f0527aa30cf--
- Raw text -