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
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
On Sat, Nov 26, 2011 at 11:01 PM, Yusuke Shinyama <yus...@cs.nyu.edu> wrote:
Geoff Knauth
Geoff Knauth
marc
--
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/
> 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
That's BS anyway. When has the FSF ever made a land grab? They never
have ever behaved like MS or Apple.
Ruben
The funny part is that this paranoid delusion was written by someone
using gmail. The irony is very sweet.
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.
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.
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,
Surely they did not
A personal attack would be calling you a paranoid crackpot, which I
didn't do nor would I. Besides, why state the obvious.
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
> 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
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]
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.
An example of BS - the FSF took position of NOTHING
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?
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.
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.
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."
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
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 -
>> 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.
No Marc accused the FSF of a land grab. The FSF never took ANYTHING
from ANYONE.
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
No they didn't try. As a fact, Tivo is meaningless to the FSF.
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.
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.
> 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.
> 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
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.
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
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.
> 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
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
>
> 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
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.
> [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
...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.
> ...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
Well, now we're back to the realization that you *could* build a bridge with bailing wire.
sent from a mobile phone.
...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
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.
> 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
From: Jason Scherer <jason....@rga.com>I just talked to a younger programmer recently who said he feels more
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
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.
https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS
This list is probably even incomplete.
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
> 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 scripsit:
I was with you until this point. What's wrong with JavaScript as a
> Or the simple existence of server-side javascript.
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_.
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
>
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
> 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
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
(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
https://github.com/jes5199/brid.js
/brian
> 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
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
>
> 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>
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.
> 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.
> 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.