Is GNU Guile Really Good for an Extension Language?

57 views
Skip to first unread message

Yusuke Shinyama

unread,
Nov 26, 2011, 11:01:11 PM11/26/11
to LispNYC
Here's an interesting discussion I found today:
https://lwn.net/Articles/469447/

Personally, I feel that Guile had a good overall direction, but it was
so bloated (as with any other GNU products) and due to the lack of
proper marketing it missed a bunch of opportunities to spread out.

Yusuke

Marc Spitzer

unread,
Nov 26, 2011, 11:59:22 PM11/26/11
to Yusuke Shinyama, LispNYC

First off good to hear from you.

the license is lgpl 3 which I am not familiar with, I would suggest
reading it before you look at the technical issues. To put it simply
I do not trust the FSF not to try some type of funky land grab with
their licensing. Also they are being marginalized, ie clang replacing
gcc in freebsd, so it might not be the best choice to go with them.

thanks,

marc

--
Freedom is nothing but a chance to be better.
--Albert Camus

 The problem with socialism is that eventually you run out
of other people's money.
--Margaret Thatcher

Do the arithmetic or be doomed to talk nonsense.
--John McCarthy

Andrew Gwozdziewycz

unread,
Nov 27, 2011, 7:18:18 AM11/27/11
to Yusuke Shinyama, LispNYC
I may be wrong about this, but I believe GIMP used to use it for
Script-Fu. It has since been replaced with TinyScheme. As a Scheme
implementation, I rather like Guile, but it is a bitch to install on a
non-GNU system in my experience, which does make me question how nice
it'd actually be as an extension language...

On Sat, Nov 26, 2011 at 11:01 PM, Yusuke Shinyama <yus...@cs.nyu.edu> wrote:

--
http://www.apgwoz.com

Geoffrey S. Knauth

unread,
Nov 27, 2011, 8:15:47 AM11/27/11
to Andrew Gwozdziewycz, Yusuke Shinyama, LispNYC
Personally, I use Racket and Emacs Lisp the most in my Lisp life, followed by SBCL. Truthfully, though, I'm intrigued by Scala, and I'm surprised to see so many high performance applications running atop the JVM. (Even high frequency traders use it.) I've known about Guile for years but never felt compelled to use it. I'd love to hear the GIMP developers' take. If Guile was as modular as Racket is becoming and had the reach of Python or Java APIs, more people might use it. I'd love to see the growth charts of people developing add-ons to Java and Python to understand better if there were commonalities in their success.

Geoff Knauth

Geoffrey S. Knauth

unread,
Nov 27, 2011, 8:23:50 AM11/27/11
to Marc Spitzer, Yusuke Shinyama, LispNYC
I can undestand nervousness about GPLv3, but LGPLv3 shouldn't be an issue.

Geoff Knauth

Marc Spitzer

unread,
Nov 27, 2011, 9:08:48 AM11/27/11
to Geoffrey S. Knauth, Yusuke Shinyama, LispNYC
Well it is not the lgpl I do not trust, its FSF/GNU and I have not
read the license so I approach it with caution. Since I do not know
what rights need, or want, to be maintained in Yusuke app I do not
know if the license is acceptable regardless of the merits of the
product.

marc

--

Deepankar Sharma

unread,
Nov 27, 2011, 9:13:24 AM11/27/11
to Geoffrey S. Knauth, Andrew Gwozdziewycz, Yusuke Shinyama, LispNYC
I have often wondered why Racket (formerly DrScheme) has not seen more uptick in the real world. It is possibly the best programming environment I have ever used - the libraries, documentation and editor are all tightly integrated, the documentation is excellent and the mailing lists are very helpful. The new plotting library in 5.2 is really good and they have redone the UI too which now looks modern. Hope more people use it. 

Andrew Gwozdziewycz

unread,
Nov 27, 2011, 9:24:51 AM11/27/11
to Deepankar Sharma, LispNYC
I haven't played with Racket since it's been known as Racket, but
that's mostly because they've downplayed non Dr. Racket/Scheme
support. It's always been possible to not use Dr. Racket/Scheme, but
when you do so and ask a question you either get blank stares or "why
aren't you using Dr. Racket?"

That said, I'd really like to try Geiser[1] with Racket. I use it with
Guile and like it.

[1]: http://geiser.nongnu.org/

--
http://www.apgwoz.com

Geoffrey S. Knauth

unread,
Nov 27, 2011, 10:01:42 AM11/27/11
to Deepankar Sharma, LispNYC NYC
On Nov 27, 2011, at 09:13 , Deepankar Sharma wrote:

> I have often wondered why Racket (formerly DrScheme) has not seen more uptick in the real world. It is possibly the best programming environment I have ever used - the libraries, documentation and editor are all tightly integrated, the documentation is excellent and the mailing lists are very helpful. The new plotting library in 5.2 is really good and they have redone the UI too which now looks modern. Hope more people use it.

I think Racket's day will come. I've been using DrScheme/Racket for years and followed the product closely. Not only are the people developing it brilliant and extremely hard-working, they're also very open about everything they do, and no good idea dies in silence. When they are criticized, they act. Newcomers are encouraged and included.

DrScheme was once slow but they've made it faster and faster. They're even thinking of all those multicore processors out there and other issues of parallelization.

DrScheme's GUI API was strange but they've rewritten it.

Some of low-level DrScheme was in C but they improved Scheme performance so much they are minimizing the C component.

People said you couldn't link it well to other apps so they made a robust FFI.

People said it was hard to use so they made an awesome documentation system (Scribble). The technical documentation is awesome. Tutorials for beginners are good if you count HTDP or HTDP/2e, but tutorials or usability guides for all the various functions still need work though the technical documentation is there.

People said, "What if I don't want to ship a bunch of Scheme code?", so they made it possible to ship standalone executables with many options.

People said, "What if I'm scared of dynamic typing?", so they created Typed Scheme, which is a work in progress but has a sound theoretical foundation.

People said, "What if I want to dabble in some other language?", and they made it possible to do work in some other languages within DrScheme / Racket. It's a great language laboratory. If you haven't read PLAI by Shriram Krishnamurthi, check it out. And it is claimed that Eli Barzilay creates a new language very day.

When web apps became all the rage, they developed some pretty sophisticated ways of making web applications. Sophisticated and simple, mix and match to your heart's content. Jay McCarthy's at the heart of that.

When JavaScript became all the rage, along came Flapjax from Shriram and Arjun, and recently Dave Herman went to work for Mozilla where he's doing a lot for the future of JavaScript.

I think I mentioned my interest in Scala. If you read Martin Odersky's book, in his preface he acknowledges years of advice given to him by the creators of DrScheme / Racket. The fact that Odersky and the creators of Racket have been actively talking to each other in a friendly way for years, even as their products differ, strongly reinforces my good feelings about both.

If you're into formalism, check out Robby Findler's Redex. I'm still wrapping my head around it, powerful stuff my brain is still learning.

If you're into lightning fast bug fixes, I dare anyone to match Matthew Flatt. I've seen him fix some bugs within a minute. Not bad for a busy professor with a full teaching load cranking out products [Slideshow, Scribble] and great research papers while appearing relaxed and friendly in person.

If you don't like parentheses (I doubt that's an issue in this crowd), they're looking into ways to provide a parentheses-free option for Racket. Man, if that isn't listening, I don't know what is. Do you think the Python crowd would be as flexible?

Eat your own dogfood? The Racket folks show it's possible, and that might be why they've shown such dramatic progress over the years.

If you want people to learn programming correctly, HTDP is some pedagogical deep thinking. If you learn and practice the "Design Recipe," the amount of wasted time saved is probably equivalent to several great vacations or even years, as opposed to slogging out a career mired in spaghetti code that can never be proved to work.

I could go on and on, but I think you get the point. I love DrScheme / Racket! If I have a dream of doing something truly useful, Racket is where I think first of putting my energy. There's a team that's been toiling away for years giving us oodles of great stuff at a higher useful giving rate per person than most any other group I can think of, as hard as such things are to measure.

Oh, and it's free software. Want to see how it works and make changes? It's all there.

Geoff

Ruben Safir

unread,
Nov 27, 2011, 10:40:43 AM11/27/11
to li...@lispnyc.org


That's BS anyway. When has the FSF ever made a land grab? They never
have ever behaved like MS or Apple.

Ruben

Ruben Safir

unread,
Nov 27, 2011, 10:42:05 AM11/27/11
to li...@lispnyc.org
On 11/27/2011 08:23 AM, Geoffrey S. Knauth wrote:


The funny part is that this paranoid delusion was written by someone
using gmail. The irony is very sweet.

Heow Goodman

unread,
Nov 27, 2011, 11:44:01 AM11/27/11
to LispNYC
It's a hard problem, sorta like the circle of life. "Mere" extension
languages ride a fine line between utility and portability, typically
this is how it works:

You have product/environment Foo and you create FooScript, a simple
extension language for Foo. Of course, having any programmability means
that Foo will be used in more and more situations it wasn't designed
for. Some hot new technology comes along for which Foo is predictably
unprepared and FooScript steps in to fill the gaps. Before long you're
using FooScript for your core business logic, complete with GUI, Object
Oriented FooScript Debugger and multi-threaded x86 3D FroBoz! Now you
need to run Foo on ARM-based phones, suddenly FooScript looks 'bloated'.
Of course the solution is to cook up a simple language for called
BarScript. Rinse and repeat.


I think Guile is probably stuck in a hard place. Lack of portability
means Guile is showing it's maturity, Racket zooms past with it's rich
environment and devoted community. Meanwhile comprising just two
C-files and twice as many headers, TinyScheme runs on or inside anything.

Marc Spitzer

unread,
Nov 27, 2011, 12:23:57 PM11/27/11
to Ruben Safir, li...@lispnyc.org

Sure they did, the objective-C gcc front end is the result of the
FSF/GNU lying about the terms and conditions of the GPL and Apple
engineers believing them. The FSF/GNU routinely claims to this day,
falsely BTW, that GPL software is "Free". They do this by making up
their special GNU definition of the word "Free" that is not in any
dictionaries that I have checked. When you say free in the context of
stuff it generally means "Without cost *OR* encumbrance" and there is
no way an honest man can say that GPLed software is without
encumbrance, FSF/GNU do it all the time.

Also in the early mid 90's the FSF tried applying the derived works
clause of the license to the output of Bison and Flex and claimed that
any code compiled with the headers was GPL due to the viral clause.
If I remember correctly it almost drove them out of business.

Marc Spitzer

unread,
Nov 27, 2011, 12:28:09 PM11/27/11
to Ruben Safir, li...@lispnyc.org

Well it is always best to make personnel attacks when you do not have
a case, small limited minds and big mouths.

the joys of the internet,

Ruben Safir

unread,
Nov 27, 2011, 12:39:54 PM11/27/11
to Marc Spitzer, li...@lispnyc.org
On 11/27/2011 12:23 PM, Marc Spitzer wrote:
> Sure they did,

Surely they did not

Ruben Safir

unread,
Nov 27, 2011, 12:41:23 PM11/27/11
to li...@lispnyc.org
On 11/27/2011 12:28 PM, Marc Spitzer wrote:
> Well it is always best to make personnel attacks when you do not have
> a case, small limited minds and big mouths.
>


A personal attack would be calling you a paranoid crackpot, which I
didn't do nor would I. Besides, why state the obvious.

Marc Spitzer

unread,
Nov 27, 2011, 12:52:56 PM11/27/11
to Ruben Safir, li...@lispnyc.org

Rubin,

in your firs sentence you stat that you do not make personal attacks,
yet in your second sentence you do make a personal attack. Since I am
crazy and dumb could you reconcile those two sentences that are right
next to each other yet so opposed in meaning and intent? again
keeping in mind crazy and dumb please use small words.

thanks

Bruce Fancher

unread,
Nov 27, 2011, 12:58:41 PM11/27/11
to LispNYC NYC
You have criticized an acolyte of the One True Stallmessiah! Blasphemer!

John Cowan

unread,
Nov 27, 2011, 1:01:38 PM11/27/11
to Geoffrey S. Knauth, Andrew Gwozdziewycz, Yusuke Shinyama, LispNYC
Geoffrey S. Knauth scripsit:

> Personally, I use Racket and Emacs Lisp the most in my Lisp life,

> followed by SBCL. [...] I've known about Guile for years but never


> felt compelled to use it.

Guile 2.0.x has both Scheme and Elisp front ends. The Guile team
intends to propose Guile as a drop-in replacement for the current Elisp
implementation in some future version of Emacs. (I don't know what the
Emacs team thinks of this idea.) Since the Guile languages interoperate
well, this would make it possible to write Emacs customizations in Scheme
or JavaScript as well as Elisp.

An interesting point is the provision of Elisp NIL in Scheme, where it
is notated #nil. Here's Guile 2.0.2:

scheme@(guile-user)> (eq? #nil #f)
$1 = #f
scheme@(guile-user)> (eq? #nil '())
$2 = #f
scheme@(guile-user)> (null? #nil)
$3 = #t
scheme@(guile-user)> (if #nil 'yes 'no)
$4 = no

So we see that although #nil is disjoint from both #f and (), it works
something like each of them.

To play with Elisp in Guile, type ",L elisp" to the REPL; to return to
Scheme, type ",L scheme". Note that the inferior REPL started on an
error is always Scheme.

--
John Cowan co...@ccil.org http://ccil.org/~cowan
Sound change operates regularly to produce irregularities;
analogy operates irregularly to produce regularities.
--E.H. Sturtevant, ca. 1945, probably at Yale

Marc Spitzer

unread,
Nov 27, 2011, 1:02:25 PM11/27/11
to Bruce Fancher, LispNYC NYC
yup, did it while eating lentil soup

marc

Bruce Fancher

unread,
Nov 27, 2011, 1:08:53 PM11/27/11
to LispNYC NYC
BTW, another example:

http://en.wikipedia.org/wiki/Tivoization

> Response
>
> In 2006, Free Software Foundation (FSF) decided to combat TiVo's technical system of blocking users from running modified software. The practice was tackled by creating a new version of the GNU General Public License (GPL v3) prohibiting this activity.[8] The operating system kernel included in the TiVo is distributed under the terms of the GPL, and the FSF's goal is to ensure that all recipients of software licensed under the new GPL are not restricted by hardware constraints on the modification of distributed software. This new license provision was acknowledged by TiVo in its April 2007 SEC filing: "we may be unable to incorporate future enhancements to the GNU/Linux operating system into our software, which could adversely affect our business".[9] Regardless, the Linux kernel has not been changed to use GPL v3.
>
> GPLv3
>
> One of the goals of GPL Version 3 is to prevent "Tivoization". According to Eben Moglen, "the licence should prohibit technical means of evasion of its rules, with the same clarity that it prohibits legal evasion of its rules."[10]

. . .

> Linus Torvalds said he was "pretty pleased" with the new draft's stance on DRM.[14] However, he still does not support relicensing the Linux kernel under GPLv3:
>
>> “[Stallman] calls it "tivoization", but that's a word he has made up, and a term I find offensive, so I don't choose to use it. It's offensive because Tivo never did anything wrong, and the FSF even acknowledged that. The fact that they do their hardware and have some DRM issues with the content producers and thus want to protect the integrity of that hardware.
>>
>> The kernel license covers the *kernel*. It does not cover boot loaders and hardware, and as far as I'm concerned, people who make their own hardware can design them any which way they want. Whether that means "booting only a specific kernel" or "sharks with lasers", I don't care.”
>
> —Linus Torvalds[15]

Rahul Jain

unread,
Nov 27, 2011, 1:11:00 PM11/27/11
to Marc Spitzer, Bruce Fancher, LispNYC NYC
I hope it at least has some bacon in it.

Joe O'Donnell

unread,
Nov 27, 2011, 1:22:50 PM11/27/11
to Deepankar Sharma, Geoffrey S. Knauth, LispNYC NYC
Thanks Geoffrey and Deepankar for explaining how well developed Racket is. I like the paired down, functional tending approach of Scheme, but have been under the impression that Common Lisp has a reputation for being more developed for commercial use, both culturally and technically. That things like the loop macro and related, the condition system, clos, sbcl, quicklisp, size of involved community, and current commercial use support the idea of Common Lisp as being stronger for commercial development.

I also have been under the impression that because of the mop and macros Common Lisp should be flexible enough to conform to whatever future direction it may need to take.

However despite all of that I still like Scheme a lot for it's purity in conception, design and use. I also find the sheer size of Common Lisp to be an issue at times. Sometimes it seems like hybrid or imperative tending systems like Lisp in it's Common Lisp incarnation tend to grow into huge libraries, where perhaps functional tending systems tend to stay smaller. Do you all think that's an accurate observation?

Do you all think that Racket is at least on par with Common Lisp for active commercial use? Thanks.


Ben Atkin

unread,
Nov 27, 2011, 1:25:10 PM11/27/11
to LispNYC NYC
Thank you, Geoff for your words about Racket. I too have been inspired by their dedication, but I've been out of the loop for a while. I intend to take a look at the current GUI and web development libraries soon and see how they've improved since I last looked at them.

Ben

Bruce Fancher

unread,
Nov 27, 2011, 1:29:40 PM11/27/11
to Ben Atkin, LispNYC NYC
I'd also recommend to anyone interested in a commercial-quality Lisp to take a look at Clojure, which is a very interesting and powerful variant of Lisp that runs on the JVM. It's made a lot of inroads into some very big companies in a relatively small amount of time and seems poised to really break out in the next few years.

Ruben Safir

unread,
Nov 27, 2011, 1:30:00 PM11/27/11
to li...@lispnyc.org
On 11/27/2011 01:08 PM, Bruce Fancher wrote:
> BTW, another example:
>
> http://en.wikipedia.org/wiki/Tivoization


An example of BS - the FSF took position of NOTHING

Rahul Jain

unread,
Nov 27, 2011, 1:31:38 PM11/27/11
to Joe O'Donnell, Deepankar Sharma, Geoffrey S. Knauth, LispNYC NYC
On Sun, Nov 27, 2011 at 1:22 PM, Joe O'Donnell <gal...@yahoo.com> wrote:
  However despite all of that I still like Scheme a lot for it's purity in conception, design and use. I also find the sheer size of Common Lisp to be an issue at times. Sometimes it seems like hybrid or imperative tending systems like Lisp in it's Common Lisp incarnation tend to grow into huge libraries, where perhaps functional tending systems tend to stay smaller. Do you all think that's an accurate observation?

Not really, look at what's happening to the Scheme standard. The CL standard isn't particularly huge. It just may contain things you don't use. Racket contains far more in it than what's in the CL standard. I'd say the choice for me comes down to conditions/unwind-protect vs. full continuations and the ability to use a symbol as a core datatype in your own application vs. only the core compiler having full control over meaning of symbols.

Ruben Safir

unread,
Nov 27, 2011, 1:38:58 PM11/27/11
to li...@lispnyc.org
On 11/27/2011 01:08 PM, Bruce Fancher wrote:
 They do this by making up
> their special GNU definition of the word "Free" that is not in any
> dictionaries that I have checked.  When you say free in the context of
> stuff it generally means "Without cost *OR* encumbrance" and there is
> no way an honest man can say that GPLed software is without
> encumbrance, FSF/GNU do it all the time.


BTW - you haven't LOOKED close enough at the word Free because it certainly isn't as you describe.

And By all means, you would hate Shakespeare who created and reused language at will, and suffered
no lack of understanding.� Being Free has lots of meaning to Lots of people.� Nobody has your meaning
though.� Your being free doesn't allow you to be unencumbered and clobber your neighbor over the head
and bludgeon him to death.� Nor does it make you unencumbered to pay taxes.�

Saying disparaging things about the FSF and Stallman doesn't make you right, although you are free to say them
and then I'll remind you that saying the FSF is involved in land grabs is frankly hysterical nonsense.�

Ruben

Bruce Fancher

unread,
Nov 27, 2011, 1:44:29 PM11/27/11
to LispNYC NYC
I'm going to assume you mean "possession" not "position".

Regardless, this is an example of exactly what Marc was talking about. TiVo built their system on top of GPLed software, which apparently upset FSF folks enough that they changed the GPL *specifically* to target TiVo. Although the GPL software that TiVo depends on hasn't been relicensed to v3 of the GPL, TiVo considering this to be a enough of a threat to their business that they felt compelled to disclose it in SEC filings as a significant risk. Sounds like a "land grab" to me.

Ruben Safir

unread,
Nov 27, 2011, 1:45:40 PM11/27/11
to li...@lispnyc.org
On 11/27/2011 12:52 PM, Marc Spitzer wrote:
> Rubin,
>
> in your firs sentence you stat that you do not make personal attacks,
> yet in your second sentence you do make a personal attack. Since I am
> crazy and dumb could you reconcile those two sentences that are right
> next to each other yet so opposed in meaning and intent? again
> keeping in mind crazy and dumb please use small words.
>
> thanks
>
> marc
>
>
>
I'm an engineer. I choose the best tool for the job, politics be damned.

You must be a stupid engineer then, because politics and technology have
been attached at the hip since the 1st dynasty in Ancient Egypt. I
guess you missed that one."

Ruben Safir

unread,
Nov 27, 2011, 1:43:33 PM11/27/11
to Bruce Fancher, LispNYC NYC
On Sun, Nov 27, 2011 at 01:44:29PM -0500, Bruce Fancher wrote:
> I'm going to assume you mean "possession" not "position".
>
> Regardless, this is an example of exactly what Marc was talking about.

No Marc accused the FSF of a land grab. The FSF never took ANYTHING
from ANYONE.


Ruben

--
http://www.mrbrklyn.com - Interesting Stuff
http://www.nylxs.com - Leadership Development in Free Software

So many immigrant groups have swept through our town that Brooklyn, like Atlantis, reaches mythological proportions in the mind of the world - RI Safir 1998

http://fairuse.nylxs.com DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002

"Yeah - I write Free Software...so SUE ME"

"The tremendous problem we face is that we are becoming sharecroppers to our own cultural heritage -- we need the ability to participate in our own society."

"> I'm an engineer. I choose the best tool for the job, politics be damned.<

You must be a stupid engineer then, because politcs and technology have been attached at the hip since the 1st dynasty in Ancient Egypt. I guess you missed that one."

� Copyright for the Digital Millennium

Ruben Safir

unread,
Nov 27, 2011, 1:50:28 PM11/27/11
to Bruce Fancher, LispNYC NYC
> Regardless, this is an example of exactly what Marc was talking about.
> TiVo built their system on top of GPLed software, which apparently
> upset FSF folks enough that they changed the GPL *specifically* to
> target TiVo.

BTW - this was ALSO inaccurate. Don't let a few inaacuarcies get in the
way of a good smear.

> Although the GPL software that TiVo depends on hasn't
> been relicensed to v3 of the GPL, TiVo considering this to be a enough
> of a threat to their business that they felt compelled to disclose it
> in SEC filings as a significant risk. Sounds like a "land grab" to me.


What it means to you is irrelevant. The FSF didn't pour money in Tivo
and try to take over the company, nor did it ever claim property rights
to any of Tivo's assets. And stupid companies write STUPID THINGS all
the time to the SEC, not to mention Congress and the public.

If your really interested in the causes and changes that came with the
GLP3, those discussions are open enough and reviewable for anyone who
refuses to remain ignorant. Since they've been discussed adnusium,
repeating it on the LISP technical list is waste of bandwidth.

You don't like the GPL licensed software? Don't use it.


> > On Nov 27, 2011, at 1:30 PM, Ruben Safir wrote: > > > On 11/27/2011
01:08 PM, Bruce Fancher wrote: > >> BTW, another example: > >> > >>
http://en.wikipedia.org/wiki/Tivoization > > > > > > An example of BS -
the FSF took position of NOTHING

-- http://www.mrbrklyn.com - Interesting Stuff http://www.nylxs.com -

Bruce Fancher

unread,
Nov 27, 2011, 1:54:05 PM11/27/11
to Ruben Safir, LispNYC NYC
Yes, this is what's called a "metaphor". There wasn't actually any land involved either. But I think everyone else knew what he meant.

Bruce Fancher

unread,
Nov 27, 2011, 1:56:54 PM11/27/11
to Ruben Safir, LispNYC NYC
On Nov 27, 2011, at 1:50 PM, Ruben Safir wrote:

>> Regardless, this is an example of exactly what Marc was talking about.
>> TiVo built their system on top of GPLed software, which apparently
>> upset FSF folks enough that they changed the GPL *specifically* to
>> target TiVo.
>
> BTW - this was ALSO inaccurate. Don't let a few inaacuarcies get in the
> way of a good smear.

I'm just paraphrasing the Wikipedia article. If you feel it's inaccurate, I encourage you to update it accordingly.

>> Although the GPL software that TiVo depends on hasn't
>> been relicensed to v3 of the GPL, TiVo considering this to be a enough
>> of a threat to their business that they felt compelled to disclose it
>> in SEC filings as a significant risk. Sounds like a "land grab" to me.
>
>
> What it means to you is irrelevant. The FSF didn't pour money in Tivo
> and try to take over the company, nor did it ever claim property rights
> to any of Tivo's assets. And stupid companies write STUPID THINGS all
> the time to the SEC, not to mention Congress and the public.

Nobody ever said they did.

> If your really interested in the causes and changes that came with the
> GLP3, those discussions are open enough and reviewable for anyone who
> refuses to remain ignorant. Since they've been discussed adnusium,
> repeating it on the LISP technical list is waste of bandwidth.
>
> You don't like the GPL licensed software? Don't use it.

Which is exactly what Marc said in the first place that caused you to jump down his throat and insult him ad hominem.

Rahul Jain

unread,
Nov 27, 2011, 1:56:42 PM11/27/11
to Ruben Safir, Bruce Fancher, LispNYC NYC
On Sun, Nov 27, 2011 at 1:43 PM, Ruben Safir <ru...@mrbrklyn.com> wrote:
No Marc accused the FSF of a land grab.  The FSF never took ANYTHING
from ANYONE.

Yes, that's what the word "try" means. They failed in this case.

Ruben Safir

unread,
Nov 27, 2011, 2:06:06 PM11/27/11
to Bruce Fancher, LispNYC NYC
On 11/27/2011 01:56 PM, Bruce Fancher wrote:
>> BTW - this was ALSO inaccurate. Don't let a few inaacuarcies get in the
>> > way of a good smear.
> I'm just paraphrasing the Wikipedia article. If you feel it's inaccurate, I encourage you to update it accordingly.
>
That is nonsense also. You said that the FSF targeted Tivo, and that is
utter nonsense and is int he public record in the discussions of the
GPL3 reviews. While the example of Tivo was often discussed, the
efforts of the GPL related to Software as a Service models and the end
run around DRM.

If you want DRM and Software as a Service, both of which severely
restrict the freedom of use of such software, make up your own license
and use that one. The concept that the FSF targeted Tivo to steal
something from them is utter nonsense. Passing the blame for your
distortion to Wikepedia is laughable.


>>> >> Although the GPL software that TiVo depends on hasn't
>>> >> been relicensed to v3 of the GPL, TiVo considering this to be a enough
>>> >> of a threat to their business that they felt compelled to disclose it
>>> >> in SEC filings as a significant risk. Sounds like a "land grab" to me.
>> >
>> >
>> > What it means to you is irrelevant. The FSF didn't pour money in Tivo
>> > and try to take over the company, nor did it ever claim property rights
>> > to any of Tivo's assets. And stupid companies write STUPID THINGS all
>> > the time to the SEC, not to mention Congress and the public.
> Nobody ever said they did.
>

No - Marc did say that. That is the definition of a "Land Grab"

>> > If your really interested in the causes and changes that came with the
>> > GLP3, those discussions are open enough and reviewable for anyone who
>> > refuses to remain ignorant. Since they've been discussed adnusium,
>> > repeating it on the LISP technical list is waste of bandwidth.
>> >
>> > You don't like the GPL licensed software? Don't use it.
> Which is exactly what Marc said in the first place that caused you to jump down his throat and insult him ad hominem.
>

Are you having problems following the thread? Evidently you seem to be.

Ruben

Ruben Safir

unread,
Nov 27, 2011, 2:15:43 PM11/27/11
to Rahul Jain, Bruce Fancher, LispNYC NYC

No they didn't try. As a fact, Tivo is meaningless to the FSF.

Ruben Safir

unread,
Nov 27, 2011, 2:18:23 PM11/27/11
to Rahul Jain, Bruce Fancher, LispNYC NYC
On 11/27/2011 01:56 PM, Rahul Jain wrote:
http://www.fsf.org/blogs/licensing/gplv3-lockdown

by Brett Smith last modified May 17, 2010 04:44 PM
More and more devices require that their firmware be signed.

In the few months I've been working at the FSF, I've been dealing with about twenty license violations on GNU software. When it comes to the embedded devices, I've noticed an upsetting trend: a lot of them are locked down. The products range from wireless routers to personal media players. They take different strategies, too; some of them won't provide you with the tools necessary to build your own firmware, and other times the hardware checks the software for authorized signatures. The result is the same either way -- they'll give you the source, but you can't actually modify the software you're running.

This is a real problem that affects free software users today, and it's only going to get worse if we don't fight it every way we can. Right now, if you don't like the firmware the manufacturer provides, you can often install an alternative, like Rockbox or DD-WRT. But there are products on the shelves right now that will prevent that, and more on the way.

This is the reason the GPLv3 drafts require that these distributors make it possible for you to modify the software it includes and install those changes. We didn't add that just to stop TiVo, and we're not looking to force our will on the Linux kernel. This issue affects the entire free software community, and all the devices we use. We need to turn the tide.




Ruben Safir

unread,
Nov 27, 2011, 2:21:38 PM11/27/11
to Rahul Jain, Bruce Fancher, LispNYC NYC
On 11/27/2011 01:56 PM, Rahul Jain wrote:


Actually, the MORE you examin it, it wasn't the FSF doing the land grab,
it is Tivo
Tivo wants to grab FSF assets for their own private profitability and
lock out the community.


http://gplv3.fsf.org/pipermail/info-gplv3/2006-March/000004.html

FSF's problem with TiVo is not that TiVo makes proprietary software,
or that that proprietary software runs on a free software operating
system. Of course, FSF opposes all proprietary software, whether or
not it's mingled with free software -- but TiVo is far from unique in
that respect. What TiVo has done differently is make it intentionally
difficult for users to improve the free software portions of their
system. They use encryption and digital signatures to prevent
changes to any portion of the systems --<b>even the GPL portions</b>.
Of course, many talented hackers have worked around these systems.
But it is not an easy task, and must be done every time TiVo upgrades
their system.


Ruben Safir

unread,
Nov 27, 2011, 2:36:54 PM11/27/11
to li...@lispnyc.org
On 11/27/2011 01:56 PM, Bruce Fancher wrote:
> On Nov 27, 2011, at 1:50 PM, Ruben Safir wrote:
>
>>> Regardless, this is an example of exactly what Marc was talking about.
>>> TiVo built their system on top of GPLed software, which apparently
>>> upset FSF folks enough that they changed the GPL *specifically* to
>>> target TiVo.
>> BTW - this was ALSO inaccurate. Don't let a few inaacuarcies get in the
>> way of a good smear.
> I'm just paraphrasing the Wikipedia article. If you feel it's inaccurate, I encourage you to update it accordingly.
>
>>> Although the GPL software that TiVo depends on hasn't
>>> been relicensed to v3 of the GPL, TiVo considering this to be a enough
>>> of a threat to their business that they felt compelled to disclose it
>>> in SEC filings as a significant risk. Sounds like a "land grab" to me.
>>
>> What it means to you is irrelevant. The FSF didn't pour money in Tivo
>> and try to take over the company, nor did it ever claim property rights
>> to any of Tivo's assets. And stupid companies write STUPID THINGS all
>> the time to the SEC, not to mention Congress and the public.
> Nobody ever said they did.
>
>> If your really interested in the causes and changes that came with the
>> GLP3, those discussions are open enough and reviewable for anyone who
>> refuses to remain ignorant. Since they've been discussed adnusium,
>> repeating it on the LISP technical list is waste of bandwidth.
>>
>> You don't like the GPL licensed software? Don't use it.
> Which is exactly what Marc said in the first place that caused you to jump down his throat and insult him ad hominem.
>

http://books.google.com/books?id=75KT6GdcWbYC&pg=PA368&lpg=PA368&dq=FSF+Tivo&source=bl&ots=s419vwSZ0o&sig=pNVoo374nPEdgu7uEx8gMjV3wWU&hl=en&ei=m5DSTpvFJMnf0QHb2ek_&sa=X&oi=book_result&ct=result&resnum=3&ved=0CDkQ6AEwAjgK#v=onepage&q=FSF%20Tivo&f=false

Geoffrey S. Knauth

unread,
Nov 27, 2011, 2:50:20 PM11/27/11
to Marc Spitzer, LispNYC NYC
On Nov 27, 2011, at 12:23 , Marc Spitzer wrote:

> Sure they did, the objective-C gcc front end is the result of the
> FSF/GNU lying about the terms and conditions of the GPL and Apple
> engineers believing them.

My recollection is now more than 20 years old. NeXT built an Objective-C front-end to GCC but did not share it back to the community. Kresten Krab Thorup, then a graduate student student from Denmark, wrote a GNU version, I provided him so financial support, and I worked on that runtime a little myself. Later it was all completely rewritten, but when and by whom I do not recall. GCC, once the GNU C compiler, itself migrated out of RMS' direct stewardship into the GNU Compiler Collection, shepherded by a group of devoted developers who saw it through the next 20 years. Meanwhile, the world has changed, Apple now favors LLVM/Clang, a fine new project.

Deepankar Sharma

unread,
Nov 27, 2011, 3:05:01 PM11/27/11
to Joe O'Donnell, Geoffrey S. Knauth, LispNYC NYC
I think it is easier today to use an offbeat language for commercial use than it ever has been - http is the great equaliser of programming languages. I have written come commercial code in sbcl (using hunchentoot) and done some prototyping of games using racket, both seem about equal in terms of ability. sbcl is much better in terms of speed of execution, but racket counters that with a better development environment. Both programming communities are superb, #lisp and #scheme on freenode both offer a lot of good advice for intelligent questions. (asking lazy write my code for me questions does not work on either). 

It seems that quite a few folks here in the city dabble with lisp derived languages and I regret I have not tapped into this community inspite of living in NYC for about five years. Will try to come down for the next NYC lisp meetup. Would also be open to meeting folks for hackathons / code jams in the city.

Regards,
Deepankar 

On Sun, Nov 27, 2011 at 1:22 PM, Joe O'Donnell <gal...@yahoo.com> wrote:

John Cowan

unread,
Nov 27, 2011, 4:10:57 PM11/27/11
to Rahul Jain, Joe O'Donnell, Deepankar Sharma, Geoffrey S. Knauth, LispNYC NYC
Rahul Jain scripsit:

> Not really, look at what's happening to the Scheme standard.

As currently planned, R7RS-large will be larger than either CL or R6RS,
and will contain every major feature of R6RS, though not necessarily
in a backward-compatible way. However, R7RS-large will be a modular
standard: that is, implementations need not support all of it. CL and
R6RS are monolithic standards; even though R6RS is divided into modules,
implementations must provide all the modules.

> Racket contains far more in it than what's in the CL standard.

Every implementation is going to contain more than is in any standard
to which it conforms.

--
Take two turkeys, one goose, four John Cowan
cabbages, but no duck, and mix them http://www.ccil.org/~cowan
together. After one taste, you'll duck co...@ccil.org
soup the rest of your life.
--Groucho

Andrew Gwozdziewycz

unread,
Nov 27, 2011, 5:14:00 PM11/27/11
to Ruben Safir, li...@lispnyc.org
In all fairness, I think you were out of line in this thread on more
than one occasion, as much as I agree with you.

Not everyone agrees with the "freedom" that the GPL provides, though
I've never quite understood why. It's obvious to me, and to many
others. I love to write things and release them for others to use. I'd
like to see others share their contributions to the code with me and
with everyone else. In doing so everyone wins. I don't, however, care
to let Giant Conglomerate of the Week profit off of the collective
work of the contributors of my project, unless Giant Conglomerate of
the Week is willing to play nice like we were all along.

People often object to that second half saying, "what do I care if
GCotW uses my code? I don't care! I'm happy they're using it!" It's
great that you don't care that they're using it, but why should you
not be allowed to get their improvements to *your* code? Why should
you be forced into the new license / EULA that the software that you
helped create comes with? That just doesn't make any sense to me.

--
http://www.apgwoz.com

Ruben Safir

unread,
Nov 28, 2011, 11:39:07 AM11/28/11
to Marc Spitzer, li...@lispnyc.org

> Rubin,
>
> in your firs sentence you stat that you do not make personal attacks,
> yet in your second sentence you do make a personal attack. Since I am
> crazy and dumb could you reconcile those two sentences that are right
> next to each other yet so opposed in meaning and intent? again
> keeping in mind crazy and dumb please use small words.
>
> thanks
>
> marc
>
>
>


FWIW - this is from the FSF

Hi Ruben,

RMS asked me to write a response to the claims about the FSF that Marc
Spitzer sent to the lispnyc list. You can send the following response
to that email you forwarded:

Some of the claims in this email are factually mistaken, and others
misleadingly simplified. To clear the record:

> Sure they did, the objective-C gcc front end is the result of the
> FSF/GNU lying about the terms and conditions of the GPL and Apple
> engineers believing them.

The discussion took place between attorneys for the FSF and NeXT. Had
the FSF simply been blowing smoke, there's no reason why NeXT
shouldn't have stood their ground and followed their own understanding
of the license terms. But NeXT's attorneys were persuaded by the
strength of the FSF's argument, and so followed it.

> Also in the early mid 90's the FSF tried applying the derived works
> clause of the license to the output of Bison and Flex and claimed
> that any code compiled with the headers was GPL due to the viral
> clause.

Flex is not a GNU project, and the FSF doesn't hold its copyright.
The FSF has never been involved in Flex's licensing.

The FSF believes that in the general case, a copyright license on a
program has no say over the license of the output. Bison is a special
case because some of its output includes Bison source code -- which is
indisputably copyrighted material and licensed under the GPL.
However, rather than use this technical detail to let the GPL's
copyleft reach as far as possible, the FSF instead wrote additional
licensing terms for that specific source code, to let Bison's users
use the program's output in normal ways like they would expect. In
other words, the FSF invested extra effort to ensure the boundaries of
the license stayed where users expect.

--
Brett Smith
License Compliance Engineer, Free Software Foundation


Brian Hurt

unread,
Nov 28, 2011, 3:54:16 PM11/28/11
to Heow Goodman, LispNYC


On Sun, Nov 27, 2011 at 11:44 AM, Heow Goodman <he...@alphageeksinc.com> wrote:
It's a hard problem, sorta like the circle of life.  "Mere" extension
languages ride a fine line between utility and portability, typically
this is how it works:

You have product/environment Foo and you create FooScript, a simple
extension language for Foo.  Of course, having any programmability means
that Foo will be used in more and more situations it wasn't designed
for.  Some hot new technology comes along for which Foo is predictably
unprepared and FooScript steps in to fill the gaps.  Before long you're
using FooScript for your core business logic, complete with GUI, Object
Oriented FooScript Debugger and multi-threaded x86 3D FroBoz!    Now you
need to run Foo on ARM-based phones, suddenly FooScript looks 'bloated'.
 Of course the solution is to cook up a simple language for called
BarScript.  Rinse and repeat.

I would almost define "success" in software as "being used for something it wasn't designed to do" (I don't- I usually lower the bar to "actually working for the purposes for which it was designed", which still makes success a rare and valuable commodity, just not quite so rare).

There is, however, a difference between "using something for purposes it wasn't designed for" and "using something for purposes it is manifestly unsuitable for".  And we programmers are demonstrably bad at telling when we've switched from one to the other- and everyone else is even worse at it.  This is one of the reasons programming is, and always will be, utterly unlike bridge building.  If you want to get across that trickle in your backyard, then some plywood, a couple of two by fours, bang bang, and you're done in time to still catch the game.  But no one then goes "great solution- works like the charm.  Now, we want to do exactly the same thing, with exactly the same technology, but we want to cross the English Channel."  Nor does anyone look at your bridge across the trickle and complain that you should have used steel girders and cement- after all, all real bridges are built with steel girders and cement.

The problem with software is that this almost works.  You can build a bridge across the English Channel with two by fours and plywood, almost.  I mean, look at those folks over there- they managed to cross the Mississippi using nothing but plywood and two by fours, and, OK, some duct tape and super glue.  And I hear someone managed to build a bridge across the Niger river using nothing but bailing wire and cardboard, so really, how hard can it be?

You probably at least chuckled to yourself at that last paragraph.  The mental image of some rickety bridge-like contraption stretching across a broad river is an obviously silly image- yet it doesn't take all that many years banging around this industry before you encounter real world projects every bit as silly.  I'm reminded of a major used car buying web site that for many years ran on visual basic and access.  No, not MS-SQL, Access.  Or the many trading systems that run on visual basic and excel.  Or using Java as the "scripting language" (I use the term loosely) for your build system.  Or the simple existence of server-side javascript.  Or C++.


John Cowan

unread,
Nov 28, 2011, 4:05:38 PM11/28/11
to Brian Hurt, Heow Goodman, LispNYC
Brian Hurt scripsit:

> Or the simple existence of server-side javascript.

I was with you until this point. What's wrong with JavaScript as a
general purpose programming language? It has more issues as a language
than most do, but not so many as to render it useless. See Douglas
Crockford's _JavaScript: The Good Parts_.

--
So they play that [tune] on John Cowan
their fascist banjos, eh? co...@ccil.org
--Great-Souled Sam http://www.ccil.org/~cowan

Andrew Gwozdziewycz

unread,
Nov 28, 2011, 4:31:55 PM11/28/11
to John Cowan, Brian Hurt, Heow Goodman, LispNYC
On Mon, Nov 28, 2011 at 4:05 PM, John Cowan <co...@mercury.ccil.org> wrote:
> Brian Hurt scripsit:
>
>> Or the simple existence of server-side javascript.
>
> I was with you until this point.  What's wrong with JavaScript as a
> general purpose programming language?  It has more issues as a language
> than most do, but not so many as to render it useless.  See Douglas
> Crockford's _JavaScript: The Good Parts_.

The same thing is wrong with using JavaScript for a server as using
bailing wire and cardboard is wrong for building a bridge.

You might say, well, Node.JS was designed for writing servers, and,
yes, with enough bailing wire to weave into rope and enough cardboard
to make plywood, you can build a pretty nice bridge too.


> --
> So they play that [tune] on                     John Cowan
> their fascist banjos, eh?                       co...@ccil.org
>        --Great-Souled Sam                      http://www.ccil.org/~cowan
>

--
http://www.apgwoz.com

John Cowan

unread,
Nov 28, 2011, 4:45:53 PM11/28/11
to Andrew Gwozdziewycz, Brian Hurt, Heow Goodman, LispNYC
Andrew Gwozdziewycz scripsit:

> The same thing is wrong with using JavaScript for a server as using
> bailing wire and cardboard is wrong for building a bridge.

Analogy is all very well for explanations, but it is not an argument.
If you ask me "What's wrong with C++?", or (more on topic) "What's wrong
with dynamically bound procedure parameters?", or "What's wrong with
defmacro-style macros?" (the same answer will do for both of these),
I can give arguments. What's wrong with JavaScript _specifically_?

--
John Cowan co...@ccil.org http://ccil.org/~cowan
It's the old, old story. Droid meets droid. Droid becomes chameleon.
Droid loses chameleon, chameleon becomes blob, droid gets blob back
again. It's a classic tale. --Kryten, Red Dwarf

Andrew Gwozdziewycz

unread,
Nov 28, 2011, 5:00:05 PM11/28/11
to John Cowan, Brian Hurt, Heow Goodman, LispNYC
On Mon, Nov 28, 2011 at 4:45 PM, John Cowan <co...@mercury.ccil.org> wrote:
> Andrew Gwozdziewycz scripsit:
>
>> The same thing is wrong with using JavaScript for a server as using
>> bailing wire and cardboard is wrong for building a bridge.
>
> Analogy is all very well for explanations, but it is not an argument.
> If you ask me "What's wrong with C++?", or (more on topic) "What's wrong
> with dynamically bound procedure parameters?", or "What's wrong with
> defmacro-style macros?" (the same answer will do for both of these),
> I can give arguments.  What's wrong with JavaScript _specifically_?

Let me put the onus on you. What's "right" with JavaScript[1] that
makes it a good tool for writing servers? The single threaded nature?
The misery that is nested callbacks? The fact that an event loop
doesn't scale for all problems? The fact that there exists a book to
tell you what things you should avoid in the language at all costs?

This surge in JavaScript on the server is frustrating, mostly because
we've suddenly abandoned all the knowledge and experience we've gained
in writing servers and doing research in distributed systems and said,
"If I use only the 'good parts' of this shitty language and an event
loop, I can go home early."

[1]: I'm considering only Node, which runs on V8. V8 happens to be a
very nice piece of tech, with the exception that it runs JavaScript.
[2]: "something" might not necessarily be useful or even well written.

--
http://www.apgwoz.com

John Cowan

unread,
Nov 28, 2011, 5:31:35 PM11/28/11
to Andrew Gwozdziewycz, Brian Hurt, Heow Goodman, LispNYC
Andrew Gwozdziewycz scripsit:

> [1]: I'm considering only Node, which runs on V8. V8 happens to be a
> very nice piece of tech, with the exception that it runs JavaScript.

Well, then, we are at cross purposes. I detest event-loop-driven programming,
whatever language it is written in. Direct control is far better for clarity
and intelligibility.

--
John Cowan http://ccil.org/~cowan co...@ccil.org
'My young friend, if you do not now, immediately and instantly, pull
as hard as ever you can, it is my opinion that your acquaintance in the
large-pattern leather ulster' (and by this he meant the Crocodile) 'will
jerk you into yonder limpid stream before you can say Jack Robinson.'
--the Bi-Coloured-Python-Rock-Snake

Andrew Gwozdziewycz

unread,
Nov 28, 2011, 5:42:06 PM11/28/11
to John Cowan, Brian Hurt, Heow Goodman, LispNYC
On Mon, Nov 28, 2011 at 5:31 PM, John Cowan <co...@mercury.ccil.org> wrote:
> Andrew Gwozdziewycz scripsit:
>
>> [1]: I'm considering only Node, which runs on V8. V8 happens to be a
>> very nice piece of tech, with the exception that it runs JavaScript.
>
> Well, then, we are at cross purposes.  I detest event-loop-driven programming,
> whatever language it is written in.  Direct control is far better for clarity
> and intelligibility.

...and, you can't write a meaningful server using direct control in
any JavaScript implementation that I'm aware of. I guess there's Web
Workers for something thread like, but that just leads you to the same
problems you have in any language where threads are the concurrency
methodology of choice, and mutability is the default.

--
http://www.apgwoz.com

John Cowan

unread,
Nov 28, 2011, 6:14:17 PM11/28/11
to Andrew Gwozdziewycz, Brian Hurt, Heow Goodman, LispNYC
Andrew Gwozdziewycz scripsit:

> ...and, you can't write a meaningful server using direct control in
> any JavaScript implementation that I'm aware of. I guess there's Web
> Workers for something thread like, but that just leads you to the same
> problems you have in any language where threads are the concurrency
> methodology of choice, and mutability is the default.

Well and good. But those are not faults in the language itself. One
could write a perfectly good mod_v8 Apache module, for example.

--
As we all know, civil libertarians are not John Cowan
the friskiest group around --comes from co...@ccil.org
forever being on the qui vive for the sound http://www.ccil.org/~cowan
of jack-booted fascism coming down the pike. --Molly Ivins

Andrew Gwozdziewycz

unread,
Nov 28, 2011, 6:26:05 PM11/28/11
to John Cowan, LispNYC, Brian Hurt, Heow Goodman

Well, now we're back to the realization that you *could* build a bridge with bailing wire.

sent from a mobile phone.

Stefan Edwards

unread,
Nov 28, 2011, 6:26:27 PM11/28/11
to Andrew Gwozdziewycz, John Cowan, Brian Hurt, Heow Goodman, LispNYC
...and, you can't write a meaningful server using direct control in
any JavaScript implementation that I'm aware of. I guess there's Web
Workers for something thread like, but that just leads you to the same

Narwhal JS + Jack allows for relatively normal "direct control" applications; Jack is modeled on Rack & WSGI,
so there's that. Having said that, and having written several middle ware projects that use NodeJS extensively, I would say
the biggest pains for "ramping up" a new developer are  the call backs, but also the language's nuance with var & scope.
Maybe I just deal with developers who are already experienced enough with call backs, but vars and accidentally using ';' instead
of ',' in a group of vars has been far more painful than call backs by themselves.



--
====
Q. How many Prolog programmers does it take to change a lightbulb?
A. No.

Jason Scherer

unread,
Nov 28, 2011, 6:32:25 PM11/28/11
to John Cowan, Andrew Gwozdziewycz, Brian Hurt, Heow Goodman, LispNYC
I just talked to a younger programmer recently who said he feels more
comfortable working with Javascript than anything else, because it's the
first language he learned.

In a way it makes sense. Javascript for data storage: JSON. Javascript
on the server: Node.JS. Javascript for the database: MongoDB. Javascript
in the browser. Suddenly instead of having to learn a lot of different
languages to be a web programmer, you only have to learn one.

Javascript isn't going away -- I don't like it either, but I think our
only hope for a better Javascript is in the form of improvements to the
standard coming out of ECMA.


R/GA 350 West 39th Street New York, NY 10018
http://www.rga.com/ http://www.twitter.com/rga http://www.facebook.com/rga

The Agency for the Digital Age™


This message contains information which may be confidential and privileged. Unless you are intended recipient (or authorized to receive this message for the intended recipient), you may not copy, disseminate or disclose to anyone the message or any information contained in the message. If you have received the message in error, please notify the sender by reply e-mail or forward the message to mailto:postm...@rga.com and delete the message. Thank you very much.

Geoffrey S. Knauth

unread,
Nov 28, 2011, 6:36:03 PM11/28/11
to John Cowan, LispNYC
On Nov 28, 2011, at 16:05 , John Cowan wrote:

> See Douglas Crockford's _JavaScript: The Good Parts_.

Also:
Crockford on JavaScript - Section 8: Programming Style & Your Brain
http://www.youtube.com/watch?v=taaEzHI9xyY

del...@hotmail.com

unread,
Nov 28, 2011, 7:17:33 PM11/28/11
to Jason Scherer, John Cowan, Andrew Gwozdziewycz, Brian Hurt, Heow Goodman, LispNYC

JavaScript may not be going away, but *now* we have ClojureScript!

:)

Ray
Sent from my Verizon Wireless Phone


-----Original message-----
From: Jason Scherer <jason....@rga.com>
To:
John Cowan <co...@mercury.ccil.org>, Andrew Gwozdziewycz <apg...@gmail.com>
Cc:
Brian Hurt <bhu...@gmail.com>, Heow Goodman <he...@alphageeksinc.com>, LispNYC <li...@lispnyc.org>
Sent:
Mon, Nov 28, 2011 23:32:25 GMT+00:00
Subject:
Re: extension languages are hard

I just talked to a younger programmer recently who said he feels more
comfortable working with Javascript than anything else, because it's the
first language he learned.

In a way it makes sense. Javascript for data storage: JSON. Javascript
on the server: Node.JS. Javascript for the database: MongoDB. Javascript
in the browser. Suddenly instead of having to learn a lot of different
languages to be a web programmer, you only have to learn one.

Javascript isn't going away -- I don't like it either, but I think our
only hope for a better Javascript is in the form of improvements to the
standard coming out of ECMA.


Andrew Gwozdziewycz

unread,
Nov 28, 2011, 8:42:13 PM11/28/11
to del...@hotmail.com, Jason Scherer, John Cowan, Brian Hurt, Heow Goodman, LispNYC
That's a great point. I know of no other language, save for
assembly/machine code, where the trend is to write another language to
compile to it. If that doesn't say something about the language then I
don't know what does:

https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

This list is probably even incomplete.

--
http://www.apgwoz.com

Svein Ove Aas

unread,
Nov 28, 2011, 9:16:39 PM11/28/11
to Andrew Gwozdziewycz, del...@hotmail.com, Jason Scherer, John Cowan, Brian Hurt, Heow Goodman, LispNYC
It's saying that there's no way to get code running in a web browser
other than through JS, so JS is taking the role of machine code.

It doesn't necessarily mean JS is bad, just that it's not a perfect
fit in all cases.*

*: Please do not take this to imply that I don't detest JS.

--
Svein Ove Aas

John Cowan

unread,
Nov 28, 2011, 9:36:11 PM11/28/11
to Andrew Gwozdziewycz, del...@hotmail.com, Jason Scherer, Brian Hurt, Heow Goodman, LispNYC
Andrew Gwozdziewycz scripsit:

> That's a great point. I know of no other language, save for
> assembly/machine code, where the trend is to write another language to
> compile to it.

C definitely belongs to this category, though it's true (for historical
reasons) that many more people write in C than write in languages that
compile to C. But I'd guess that in this group most of us would rather
write in CL, Scheme, ML, Haskell, Prolog, or even Eiffel than raw C.

--
"The serene chaos that is Courage, and the phenomenon co...@ccil.org
of Unopened Consciousness have been known to the John Cowan
Great World eons longer than Extaboulism."
"Why is that?" the woman inquired.
"Because I just made that word up", the Master said wisely.
--Kehlog Albran, The Profit http://www.ccil.org/~cowan

Brian Hurt

unread,
Nov 28, 2011, 9:39:32 PM11/28/11
to John Cowan, Heow Goodman, LispNYC
On Mon, Nov 28, 2011 at 4:05 PM, John Cowan <co...@mercury.ccil.org> wrote:
Brian Hurt scripsit:

> Or the simple existence of server-side javascript.

I was with you until this point.  What's wrong with JavaScript as a
general purpose programming language?  It has more issues as a language
than most do, but not so many as to render it useless.  See Douglas
Crockford's _JavaScript: The Good Parts_.

My biggest problem with it on the server side is philosophical.

If I'm going to be downloading code from where ever, including dicey web servers in Pottsylvania or where ever, then that language needs to be super-paranoid about what it allows code to do.  Really, you'd like huge classes of operations that "pure GUI" code doesn't ever need to do simply not be implemented.  Things like writing or reading local files, or spawning other processes, etc.   On the other hand, server code does need to do those things (for example, writing log files).  This is OK, because this isn't code you just downloaded from Pottsylvania, but code you wrote yourself. 

So now your language is serving two masters- it's the computer language equivalent of the dreaded dotted-line boss.  Which one gets compromised to support the other?  Server side code, or security on the client side?  Or both?  This is what killed Java as a client-side language, making the world safe for Javascript.  Java choose to offer (comparatively) rich and featurefull interfaces, supporting server-side (and desktop) needs, but creating a security nightmare.  Personally, I think Java would be better off if it just admitted it wasn't Javascript, and jettisoned 90%+ of the security features, which almost no one uses and just bloats up the code and increases loading times.

Let me turn the question around: what is it about Javascript that will prevent it from running into the exact same problems that Java ran into, trying to be both a server and untrusted-client language?

I don't believe in the concept of the "general purpose programming language", at least not in the way that most people understand it- a language that is good for all purposes.  By definition such a language is a golden hammer.  Languages that do try to achieve the "general purpose programming language" always and inevitably end up being equally *bad* for all purposes.

Brian

Brian Hurt

unread,
Nov 28, 2011, 9:44:33 PM11/28/11
to Andrew Gwozdziewycz, del...@hotmail.com, Jason Scherer, John Cowan, Heow Goodman, LispNYC
Both C and Lisp are popular target languages, at least in the ML community.  Both ghc and Ocaml still (optionally) compile to C, and the original target of the Caml compiler, as well as a couple of the SML implementations, was Standard Lisp (the intermediate language used in the Ocaml code is still a weird variant of Lisp).  Postscript is another popular target (and it is Turing-complete, for what it's worth).

On Mon, Nov 28, 2011 at 8:42 PM, Andrew Gwozdziewycz <apg...@gmail.com> wrote:

Bruce Fancher

unread,
Nov 28, 2011, 10:07:45 PM11/28/11
to Brian Hurt, John Cowan, Heow Goodman, LispNYC
Pottsylvania gets a bad rap but to be fair they've have a tough time of it since the FSF crossed the border and grabbed their land.

Andrew Gwozdziewycz

unread,
Nov 28, 2011, 10:16:59 PM11/28/11
to John Cowan, del...@hotmail.com, Jason Scherer, Brian Hurt, Heow Goodman, LispNYC
On Mon, Nov 28, 2011 at 9:36 PM, John Cowan <co...@mercury.ccil.org> wrote:
> Andrew Gwozdziewycz scripsit:
>
>> That's a great point. I know of no other language, save for
>> assembly/machine code, where the trend is to write another language to
>> compile to it.
>
> C definitely belongs to this category, though it's true (for historical
> reasons) that many more people write in C than write in languages that
> compile to C.  But I'd guess that in this group most of us would rather
> write in CL, Scheme, ML, Haskell, Prolog, or even Eiffel than raw C.

C is a great example of this, it's true. One thing that I sort of just
thought of in regards to compiling to C/JavaScript is that both C and
JavaScript have many undesirable properties which can be solved once
by a compiler and compiled to with, sometimes, less error. In the case
of JavaScript, ensuring that the semi-colon insertion doesn't bite, or
that you don't miss a var declaration, etc. In C of course you can
compile to do automatic memory management, or ensure that you're using
the strn variants to avoid buffer overflows etc.

But, yeah, I'd much rather write Scheme or Haskell than write C or
JavaScript, but that's not always possible, of course.

I have to say, I've really enjoyed this thread--I hope this list
continues to have good discussions.

> --
> "The serene chaos that is Courage, and the phenomenon   co...@ccil.org
> of Unopened Consciousness have been known to the        John Cowan
> Great World eons longer than Extaboulism."
> "Why is that?" the woman inquired.
> "Because I just made that word up", the Master said wisely.
>        --Kehlog Albran, The Profit             http://www.ccil.org/~cowan
>

--
http://www.apgwoz.com

del...@hotmail.com

unread,
Nov 28, 2011, 10:29:12 PM11/28/11
to Brian Hurt, John Cowan, Heow Goodman, LispNYC
>I don't believe in the concept of the "general purpose programming language",at l>east not in the way that most people understand it- a language that is good for all >purposes.

Well in some sense that's the beauty of Lisp. It's a meta-programming language, I.e. a language that allows you to implement the language you need for your particular domain or application.

At least this is the view put forth in the AMOP which I agree with.

Ray,

Raymond de Lacaze
Del...@hotmail.com

Sent from my Droid.


-----Original message-----
From: Brian Hurt <bhu...@gmail.com>
To:
John Cowan <co...@mercury.ccil.org>
Cc:
Heow Goodman <he...@alphageeksinc.com>, LispNYC <li...@lispnyc.org>
Sent:
Tue, Nov 29, 2011 02:39:32 GMT+00:00
Subject:
Re: extension languages are hard

John Cowan

unread,
Nov 29, 2011, 3:31:26 AM11/29/11
to Brian Hurt, Heow Goodman, LispNYC
Brian Hurt scripsit:

> Let me turn the question around: what is it about Javascript that will
> prevent it from running into the exact same problems that Java ran into,
> trying to be both a server and untrusted-client language?

JavaScript doesn't provide the security/sandbox features directly in the
language. Rhino, for example, provides JavaScript programs access to the
full JVM.

> I don't believe in the concept of the "general purpose programming
> language", at least not in the way that most people understand it- a
> language that is good for all purposes. By definition such a language is a
> golden hammer. Languages that do try to achieve the "general purpose
> programming language" always and inevitably end up being equally *bad* for
> all purposes.

Always avoid generalizations: they invariably lead to bad reasoning.

--
Normally I can handle panic attacks on my own; John Cowan <co...@ccil.org>
but panic is, at the moment, a way of life. http://www.ccil.org/~cowan
--Joseph Zitt

Yusuke Shinyama

unread,
Nov 29, 2011, 3:59:27 AM11/29/11
to Brian Hurt, John Cowan, Heow Goodman, LispNYC
On Mon, 28 Nov 2011 21:39:32 -0500, Brian Hurt <bhu...@gmail.com> wrote:
> Java choose to offer (comparatively) rich and
> featurefull interfaces, supporting server-side (and desktop) needs, but
> creating a security nightmare. Personally, I think Java would be better
> off if it just admitted it wasn't Javascript, and jettisoned 90%+ of the
> security features, which almost no one uses and just bloats up the code and
> increases loading times.
>

This reminds me of the only reason why I installed Java
on my desktop machine: to play Minecraft.

(To those who are not familiar: it's an indie game written in Java
and have sold more than 4 million copies.)

If Notch had wrote it in CL or Clojure, the perception of the languages
might have been a bit different.

Yusuke

David Corking

unread,
Nov 29, 2011, 5:45:38 AM11/29/11
to LispNYC
This conversation has triggered 3 separate thoughts in my small and
untutored brain.

(1) I think this is an interesting example of Javascript as a machine language:
http://nicolaspetton.github.com/jtalk/

What is interesting to me is that it works. (I have no idea if it has
any chance of spanning the Mississippi, however.)

(2) Node.js and Rhino catch the attention of people that don't like
server-side Java, or whose applications are _too_small_ for industrial
scale software engineering, DSLs etc. I am not sure it is ok, but it
may not be the end of the world as we know it.

(3) This week I listened to a netcast of a fascinating Q&A Gregor
Kiczales gave to Lispvan a few years ago. He revisited some of the
decisions made in the CLOS MOP and made several provocative remarks.
For that reason, I eagerly await the lessons that the Dart team might
learn from Strongtalk, E and maybe even AMOP.

I also listened again to an interview Dan Ingalls gave to FLOSS Weekly
in 2008. The reason the Lively Kernel research was done in HTML5 and
not in Java was that plugins are a barrier to adoption. Too many
schools just don't have any browser plugin except Flash.

That's all. David

Heow Goodman

unread,
Nov 29, 2011, 9:40:54 AM11/29/11
to LispNYC, lice...@gnu.org

This is very enlightening, thanks Ruben and Brett!

Brian Gruber

unread,
Nov 29, 2011, 12:42:01 PM11/29/11
to David Corking, LispNYC
This project almost seems like it was created in response to this
discussion, right down to the name:

https://github.com/jes5199/brid.js

/brian

John Cowan

unread,
Nov 29, 2011, 1:21:49 PM11/29/11
to Andrew Gwozdziewycz, Yusuke Shinyama, LispNYC
Andrew Gwozdziewycz scripsit:

> I may be wrong about this, but I believe GIMP used to use it for
> Script-Fu. It has since been replaced with TinyScheme.

The original Scheme extension for GIMP was SIOD, since replaced with
TinyScheme. As far as I know, Guile has never been used with GIMP.

--
John Cowan co...@ccil.org
I amar prestar aen, han mathon ne nen, http://www.ccil.org/~cowan
han mathon ne chae, a han noston ne 'wilith. --Galadriel, LOTR:FOTR

Johann Hibschman

unread,
Nov 30, 2011, 11:39:04 AM11/30/11
to Yusuke Shinyama, LispNYC
I'm coming into this one late, but it seems best to start from the top. :-)

A few months ago, I looked into Guile. My take is that Guile is an
amazing application framework for deeply-scriptable applications. It's
not the best tool for bolting a scripting layer on top of an existing
application; for that I'd use Lua.

Guile is willing to muck around with your call stack (Boehm GC, etc.).
It has its own notion of threads. And so on. In return, you get more
features from your scripting language, such as delimited
continuations, integrating threading, etc.

However, if you're already running in a weird situation (different
thread system, under Windows, already embedded in something else,
etc), then Lua won't make any extra demands.

Regards,
Johann

On Sat, Nov 26, 2011 at 10:01 PM, Yusuke Shinyama <yus...@cs.nyu.edu> wrote:
> Here's an interesting discussion I found today:
>  https://lwn.net/Articles/469447/
>
> Personally, I feel that Guile had a good overall direction, but it was
> so bloated (as with any other GNU products) and due to the lack of
> proper marketing it missed a bunch of opportunities to spread out.
>
> Yusuke
>

John Cowan

unread,
Nov 30, 2011, 12:56:51 PM11/30/11
to Johann Hibschman, Yusuke Shinyama, LispNYC
Johann Hibschman scripsit:

> However, if you're already running in a weird situation (different
> thread system, under Windows, already embedded in something else,
> etc), then Lua won't make any extra demands.

That's true. The same can be said of Chibi Scheme, too, though it isn't
as mature as Guile by any means. In particular, Lua's coroutines are
an excellent way to package one-shot continuations. Lua and Chibi are
roughly equivalent in size and costs, though AFAIK Chibi is not yet
supported if you are using VC++.

Future versions of Chibi will support Lua syntax, as well as Go and bash.
Guile currently supports Elisp and JavaScript (yes, and Brainfuck too).

--
Using RELAX NG compact syntax to John Cowan <co...@ccil.org>
develop schemas is one of the simple http://www.ccil.org/~cowan
pleasures in life....
--Jeni Tennison <co...@ccil.org>

Geoffrey S. Knauth

unread,
Dec 4, 2011, 7:21:55 AM12/4/11
to LispNYC NYC
By the way, I just saw a news story about Kresten Thorup [creator of early GNU ObjC runtime 20 years ago], and I always wondered what he ended up doing. It turns out he's working in Erlang on the JVM:

http://channel9.msdn.com/Blogs/Charles/SPLASH-2011-Kresten-Thorup-Erlang-Erjang-and-Building-Reliable-Systems

which is coincidental for me since I was at Erlang DC 2011 yesterday, where I ran into some Lisp folks. Eric Merritt was close to releasing a Lisp that runs in an Erlang environment, a Lisp with real macros that can be used to make DSLs.

Geoff

On Nov 27, 2011, at 14:50 , Geoffrey S. Knauth wrote:

> On Nov 27, 2011, at 12:23 , Marc Spitzer wrote:
>
>> Sure they did, the objective-C gcc front end is the result of the
>> FSF/GNU lying about the terms and conditions of the GPL and Apple
>> engineers believing them.
>

> My recollection is now more than 20 years old. NeXT built an Objective-C front-end to GCC but did not share it back to the community. Kresten Krab Thorup, then a graduate student student from Denmark, wrote a GNU version, I provided him so financial support, and I worked on that runtime a little myself. Later it was all completely rewritten, but when and by whom I do not recall. GCC, once the GNU C compiler, itself migrated out of RMS' direct stewardship into the GNU Compiler Collection, shepherded by a group of devoted developers who saw it through the next 20 years. Meanwhile, the world has changed, Apple now favors LLVM/Clang, a fine new project.

John Cowan

unread,
Dec 4, 2011, 12:37:51 PM12/4/11
to Geoffrey S. Knauth, LispNYC NYC
Geoffrey S. Knauth scripsit:

> Eric Merritt was close to releasing
> a Lisp that runs in an Erlang environment, a Lisp with real macros
> that can be used to make DSLs.

Is this related at all to Lisp Flavored Erlang by Jack Moffitt, aka metajack?

I note that there is also the converse, erlang-in-lisp.

--
First known example of political correctness: John Cowan
After Nurhachi had united all the other http://www.ccil.org/~cowan
Jurchen tribes under the leadership of the co...@ccil.org
Manchus, his successor Abahai (1592-1643)
issued an order that the name Jurchen should --S. Robert Ramsey,
be banned, and from then on, they were all The Languages of China
to be called Manchus.

Geoffrey S. Knauth

unread,
Dec 4, 2011, 1:13:27 PM12/4/11
to John Cowan, LispNYC NYC
On Dec 4, 2011, at 12:37 , John Cowan wrote:

> Is this related at all to Lisp Flavored Erlang by Jack Moffitt, aka metajack?

I think so, but I was told this is supposed to be much better. The author of the new effort is Eric Merritt.

Reply all
Reply to author
Forward
0 new messages