[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: How to deal with single/dual parts?



On Nov 22, 2009, at 8:41 AM, John Doty wrote:

>
> On Nov 20, 2009, at 2:51 PM, Steven Michalske wrote:
>
>>
>> On Nov 20, 2009, at 7:15 AM, Stuart Brorson wrote:
>>
>>> As an alternative to scheme, some would prefer to see TCL.  I have  
>>> no
>>> problem with that, as long as the interpreter is built-in.  However,
>>> there is a large installed base of scheme, so it's likely we're  
>>> stuck
>>> with it.
>>
>>
>> I propose that the scripting languages be plugins.
>
> Difficult. The scripting language has a strong influence on the
> scripting API.

This always is an interesting argument,  the strong influence I see is  
functional programming languages vs imperative languages, but scheme  
is multi-paradigm so it supports both.

The plugins would have their own external API interfaces that access  
the data structures and methods in the program you are scripting.  The  
internal plugin API would be very similar, the language's external API  
would be slightly similar, being based on the same data structure  
manipulation and method calling requirements.

>
>>
>> that way we can use the language that we know best.
>>
>> Yes, I could learn scheme or TCL,  but I already know bash, perl,
>> python, fourth, and basic
>
> We could pretty easily layer a BASIC or Logo atop Scheme. Way back in
> 1977, Bob Frankston implemented ECD BASIC atop a stripped-down Lisp
> engine. I maintained it from 1979-1981 after Bob moved on to his next
> project (VisiCalc). It was pretty simple (it fit in something like
> 16k bytes). ECD BASIC complied with the Dartmouth spec, but data
> objects were actually lists, so you could easily represent complex
> data structures as needed.
>

This seems more work than to make a way to present the data structures  
and methods cleanly through a scripting engine API.

Hell the plugins could just generate or call scheme routines, and  
still have scheme as the only interface to the guts of gEDA.

> But what is it about engineers that I hear constantly "I don't want
> to learn..." from them? So unprofessional. For something complex and
> obfuscated, the time factor comes in, but Scheme is one of the
> simplest programming languages there is.

Unprofessional, I'm not getting paid to work with gEDA/PCB.  Were i  
getting paid, i'd learn scheme and use it.  My request comes from the  
fact that don't want to remember yet another syntax, and that if a  
plug-able *embedded* scripting language is used that the barrier to  
entry is minimized.  Thus preventing the need/desire for others to  
implement yet another netlister in their favorite language.

>
>>
>> And before anyone starts complaining about dependency hell,  my  
>> answer
>> to you will be get a Mac. Oh, and these are plugins.
>
> Huh? Now you seem to be talking about scripting at the command line
> level. Nothing special about the Mac there. But we use Scheme for
> *embedded* scripting within the gEDA tools. Different.

No, more that macports or fink make the dependency hell much more  
tolerable.  Just as every other package manager should take care of  
dependencies.  Think of a Mac as unix for the masses.
If dependencies are preventing you from using software or making you  
recreate the wheel, that you shouldn't be using linux, you would be  
happier on a Mac.

As for embedded scripting, I know that we use scheme.

The comment that these are plugins is referring to that a plugins are  
not a compile time requirement, and could be left out, except for the  
manditory scripting plugins, such as scheme would be with our long  
history.



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user