* Fernando D. Mato Mira | Now, how do you know I haven't actually spent 1 hour on the phone | constructively talking with the people at X in another continent at our | own expense?
geez. just tell me what you did, and I might approve, but this is just getting silly. if you think you can argue based on keeping stuff secret until you think you can win an argument by disclosing it in a way that implies that somebody ought to have known what you kept secret, you're sadly mistaken and less constructive that I suspected to begin with.
| I wouldn't have to take this out in public if others weren't hinting | people to make their own decisions based on a single criterion.
as far as I can see, nobody is doing that, and anyone who bases their decisions on a single criterion aren't worth spending time on, anyway, since you are _very_ unlikely to be the next single criterion and are probably not going to multiply the criteria, either.
| A final note: immediately after their Lucid acquisition, Harlequin had | maybe even more Top Gun talent than Franz.
which might imply that Franz Inc is the "underdog" in some people's view, and that it is just as silly to base your decisions on which product to buy on a single criterion as to choose which is the "underdog" on a single criterion. (it seems to me as if "underdog" is your criterion of choice.)
| Your comments may sometimes give someone the impression that their | technology is not good, and unless you've also seen their source code (I | know you've seen Franz's), I believe a bit more of tact is in order.
I fail to see how you could possibly conclude that I think or imply or even want to communicate that their TECHNOLOGY is not good. Harlequin has made some technical decisions that I don't approve of, and Franz Inc has made some of their own, which should come as no surprise to anyone -- neither I nor any company can be expected never to make mistakes or even dumb decisions for which "do not approve" is the only viable sentiment either way -- but these are usually _survivable_ differences, especially in a language as good as Common Lisp. that I don't like IDEs has been a motivation for me to urge Franz Inc to keep Emacs for the Windows port of Allegro CL (I was worried they would scuttle it from all the hype about the IDE for Windows), but I'm open to learning what IDEs can offer and I try them out every once in a while to see whether they suffer from the typical GUI illness: anti-scalability of functionality.
however, Harlequin has made several _political_ and _financial_ decisions that I don't like at all, and Franz Inc hasn't made any such decisions. on the contrary, both their free and commercial Linux (and FreeBSD) ports were decisions I approved of very strongly, and they do other stuff that is concurs with my sentiments. I have also been worried at times, such as when 5.0 took a _long_ time to come out, and I'm always afraid that people who flirt with the Evil Empire and begin to depend on their APIs will wind up killed in the insane rush to keep up with whatever the Evil Empire decides to break between releases and fixes. however, they have _not_ wasted enormous amounts of energy on failing endeavors that nearly killed them, and that, to me, is quite important. fiscal responsibility is important. that Harlequin laid off a bunch of excellent people in a pretty rash move and nearly croaked soon thereafter is _not_ something I consider beneficial when deciding whether to trust somebody, and I'm not going to pity them with an "underdog" label, either. trust in companies is a really big deal to me -- it's why I don't ever want to use anything that comes out of Microsoft, for instance.
your "underdog" may be in a position right now to make a lot of easy money from products whose costs are no longer a part of the company budgeting because of the acquisition. I'm very critical of the process wherein a company badly run ends up having their creditors (not their investors and customers) pay for development projects that can then be priced way below any competitor's ability to compete without going through a reorganization of their own to scuttle their debts. I am not privy to the exact process that Harlequin went through, but I have seen companies that sell stuff too cheaply cut their costs through deliberate reorganization sufficiently often and the attendant ramifications for their competitors are so grim that I'm not at all pleased with the point of view that such people are also worthy "underdogs" because they got their creditors to bail them out. I am very happy that they survived this ordeal intact, but they should be prepared to prove that they did learn from the experience and are now fiscally responsible and ensure that they get enough income from their sales so as not to have to repeat the same stunt later. going for too low prices is not reassuring to me.
I'd be much happier with a more level playing field than this talk about "underdogs" and the negative attitudes towards policies that _haven't_ caused anybody financial problems.
also, as I have said before and might as well repeat: I don't think Lisp can win by competing with unprofessional languages. Common Lisp is a language you mature into, after you've fought a bunch of other languages and come to understand something much more complex and lasting than how to make individual functions run fast with machine integers and addresses (which is a valuable thing, of course, but like potty training, you don't stop there). as a "graduate" language, I don't want it to be something you choose out of low entry costs. students of the language should be able to pick it up for free, essentially, but should also realize what they have got their hands on and be willing to share their productivity gains and the values they create because of this superior tool with the tool-maker. it's when the tool is essentially a commodity on its own that it makes sense to demand no royalties or cooperation with the tool vendor, and Lisp doesn't stand a chance of becoming a commodity language, so it's counter-productive in the extreme to attempt to jump-start the process by removing the means of ensuring cooperative success between system and application vendor.
this obviously doesn't mean that I think people shouldn't make small Lisp applications and find ways to sell them at a rewarding profit -- after all, I have grown up in a country with >50% tax on reasonable incomes, 28% corporate tax, and a 23% sales tax, so I'm not going to suggest that any companies adopt similar measure to kill their future -- but it is entirely appropriate to set the expectations at sharing, since small Lisp applications haven't been the norm so far, and that's _not_ because of the royalties policies, like some would have you believe.
On 06 Nov 1999 03:56:35 +0000, Erik Naggum <e...@naggum.no> wrote:
> vendor, and Lisp doesn't stand a chance of becoming a commodity language,
It's slowly becoming a commodity language, as is Smalltalk. Corman Lisp is probably the best example of a Lisp with a commodity attitude. Dolphin Smalltalk has the same attitude, and is slowly taking over the Smalltalk market.
The essence of a commodity language is that it works with a commodity operating system and has similar pricing and support. Corman Lisp is too new to know how it's going to do, but I would not be surprised to see it skyrocket to become the leader in a few years.
Lisp and Smalltalk are likely to become more and more popular as the hardware they work best with becomes less and less costly. Dolphin Smalltalk and Corman Lisp might become the two most popular development environments, even more popular than Java, some number of years in the future.
Harley Davis wrote: > As a Lisp guy now working in Java, I find it interesting that the Java folks > bought into this myth with HotSpot, even though nobody has ever succeeded in > producing this legendary beast despite numerous attempts, and especially in > the particular case of HotSpot, despite the evident deficiencies of Self and > HotSpot's own immediate predecessor wrt overall performance.
> It should be a lesson in hubris for all of us, but it probably won't be.
Self aka "A programming language for crashing computers."
On Fri, 05 Nov 1999 21:39:15 +0100, jos...@lavielle.com (Rainer Joswig) wrote: > In article <x2puxooohz.fsf...@todday.aiai.ed.ac.uk>, Jeff Dalton <j...@todday.aiai.ed.ac.uk> wrote:
> > I've always been disappointed, back when we were hearing so much about > > how Dylan would be able to outperform Common Lisp,
> It never did...
Ahem. I think the jury is still out. Performance is comparable after significantly less investment in Dylan compilers compared to CL compilers. And you get the power of a CLOS-like object-system throughout the language.
You also get automatic separation of environment and application, like a conventional language: so delivery of applications is straightforward. But at the same time you still get a listener and interactive development.
I'm not saying Dylan is better than Common Lisp: I'm simply pointing out that issue of raw performance isn't over and it wasn't the only reason for doing Dylan.
This newsgroup isn't the intended constituency for Dylan anyway. In a sense, Dylan is like CL boiled down and given a sugar frosting to make it more palatable to the masses. It's hardly likely to appeal to people who like organic food and more fibre in their diet. Ironically, however, (ex-)Lispers are some of the people best placed to appreciate Dylan's flavour.
On Fri, 05 Nov 1999 21:36:41 -0500, Robert Monfera <monf...@fisec.com> wrote: > Jason Trenouth wrote to Jeff:
> > > So the Lucid one is still alive? Cool.
> > Yup and you can use our cool IDE, Common LispWorks, to develop on it.
> Jason,
> Could you tell me why there are two concurrent CL implementations from > Harlequin?
LispWorks is our original product line, and Liquid Common Lisp is the product line acquired from Lucid when they went under.
> What are their strengths compared to one another? Are there > plans to merge code? How should a customer choose between these two?
These are things you should discuss with Harlequin directly as it depends on your needs, but in general existing Liquid customers are happy to continue using it, while new customers generally choose LispWorks. In part the latter is often because LispWorks supports the currently popular platforms (Windows and Linux) while Liquid does not.
In article <IZ8mOAGvzdgE96p9aEen0Vrau...@4ax.com>, Jason Trenouth <ja...@harlequin.com> wrote: > On Fri, 05 Nov 1999 21:39:15 +0100, jos...@lavielle.com (Rainer Joswig) wrote:
> > In article <x2puxooohz.fsf...@todday.aiai.ed.ac.uk>, Jeff Dalton <j...@todday.aiai.ed.ac.uk> wrote:
> > > I've always been disappointed, back when we were hearing so much about > > > how Dylan would be able to outperform Common Lisp,
> > It never did...
> Ahem.
I was a bit trying to provoke a response. ;-)
> I think the jury is still out. Performance is comparable after > significantly less investment in Dylan compilers compared to CL compilers.
Hmm, are there comparisons available? The one I saw was indicating very good Common Lisp performance...
> And you get the power of a CLOS-like object-system throughout the language.
It is a lot less powerful - though I'd like to see a Lisp system that consequently uses CLOS for "everything".
> You also get automatic separation of environment and application, like a > conventional language:
This depends on the development environment and is not inherent in CL or Dylan as a language?
> I'm not saying Dylan is better than Common Lisp: I'm simply pointing out that > issue of raw performance isn't over and it wasn't the only reason for doing > Dylan.
On Mon, 08 Nov 1999 12:32:31 +0100, rainer.jos...@ision.de (Rainer Joswig) wrote:
> > I think the jury is still out. Performance is comparable after > > significantly less investment in Dylan compilers compared to CL compilers.
> Hmm, are there comparisons available? The one I saw was indicating > very good Common Lisp performance...
I don't think there are any very good ones at the moment.
> > And you get the power of a CLOS-like object-system throughout the language.
> It is a lot less powerful - though I'd like to see a Lisp system > that consequently uses CLOS for "everything".
Indeed. But Dylan ditched those parts of CLOS the designers thought were unnecessary or fringe stuff: e.g. user-definable method combination.
> > You also get automatic separation of environment and application, like a > > conventional language:
> This depends on the development environment and is not inherent > in CL or Dylan as a language?
In a theoretical sense yes, but in a practical sense no. With Common Lisp (and Smalltalk) development environments and the applications traditionally coexist. With Dylan, development environments and applications are traditionally tethered. This was a deliberate change of tradition to aid delivery and the Dylan language was kept simpler and less reflective with that in mind.
In article <xsgmOBTi1cKScu9v8BQht1mYF...@4ax.com>, Jason Trenouth <ja...@harlequin.com> wrote: > Indeed. But Dylan ditched those parts of CLOS the designers thought were > unnecessary or fringe stuff: e.g. user-definable method combination.
On Mon, 08 Nov 1999 14:22:57 +0100, rainer.jos...@ision.de (Rainer Joswig) wrote:
> In article <xsgmOBTi1cKScu9v8BQht1mYF...@4ax.com>, Jason Trenouth <ja...@harlequin.com> wrote:
> > Indeed. But Dylan ditched those parts of CLOS the designers thought were > > unnecessary or fringe stuff: e.g. user-definable method combination.
> Even the standard method combination, IIRC.
That's right. There are no before, after, or around methods in Dylan. However you do have the equivalent of call-next-method and you have to code protocols yourself as required. It is less flexible, but personally I've debugged a horrendous asynchronous bug as a result of different packages getting into a muddle about doing some work "at the end" using :after and :around methods. The fix was to introduce a separate function. I'm not saying I don't sometimes miss the flexibility in Dylan, but rope is notoriously flexible too... :-j
rainer.jos...@ision.de (Rainer Joswig) writes: > It is a lot less powerful - though I'd like to see a Lisp system > that consequently uses CLOS for "everything".
What would be easier to accomplish with such a system? What benefits do you have in mind?
> > It is a lot less powerful - though I'd like to see a Lisp system > > that consequently uses CLOS for "everything".
> What would be easier to accomplish with such a system? What > benefits do you have in mind?
Experience shows that many large commercial Lisp applications are written in an OO-style. Additionally many newer (stuff that's not in the standard) facilities in Common Lisp are done using CLOS. Many existing facilities in Common Lisp are often implemented in CLOS (even though the standard does not demand that: streams, conditions, ...). The old Zeta Lisp was in many respects a superset of Common Lisp and had more facilities implemented using OO-facilites (-> Flavors).
Samir Barjoud <sa...@mindspring.com> writes: > What would be easier to accomplish with such a system? What > benefits do you have in mind?
I got a related question. Does CL have "primitive types"? I mean, can or can't you write a method for, e.g., numbers that get dynamically dispatched? What's the deal with the typecase macro?
> > What would be easier to accomplish with such a system? What > > benefits do you have in mind?
> I got a related question. Does CL have "primitive types"? I mean, can > or can't you write a method for, e.g., numbers that get dynamically > dispatched? What's the deal with the typecase macro?
While you can only dispatch on classes with CLOS methods, there exist a number of built-in classes that correspond to what you might call primitive types.
So while you can't dispatch on (integer 0 7), which is a type-spec (as is (satisfies evenp), or (member 0.0 7 a)), you can dispatch on integer, ratio, rational, float, real, complex, number, character, sequence, vector, array, string, etc.
typecase is a macro that let's you dispatch on types (described via type-specs), but that is orthogonal to CLOS' ability to dispatch on classes.
Here are the definitions of types and classes from the HyperSpec:
type n. 1. a set of objects, usually with common structure, behavior, or purpose. (Note that the expression ``X is of type Sa'' naturally implies that ``X is of type Sb'' if Sa is a subtype of Sb.) 2. (immediately following the name of a type) a subtype of that type. ``The type vector is an array type.''
type specifier n. an expression that denotes a type. ``The symbol random-state, the list (integer 3 5), the list (and list (not null)), and the class named standard-class are type specifiers.''
class n. 1. an object that uniquely determines the structure and behavior of a set of other objects called its direct instances, that contributes structure and behavior to a set of other objects called its indirect instances, and that acts as a type specifier for a set of objects called its generalized instances. ``The class integer is a subclass of the class number.'' (Note that the phrase ``the class foo'' is often substituted for the more precise phrase ``the class named foo''---in both cases, a class object (not a symbol) is denoted.) 2. (of an object) the uniquely determined class of which the object is a direct instance. See the function class-of. ``The class of the object returned by gensym is symbol.'' (Note that with this usage a phrase such as ``its class is foo'' is often substituted for the more precise phrase ``its class is the class named foo''---in both cases, a class object (not a symbol) is denoted.)
class designator n. a designator for a class; that is, an object that denotes a class and that is one of: a symbol (denoting the class named by that symbol; see the function find-class) or a class (denoting itself).
Regs, Pierre.
-- Pierre Mai <p...@acm.org> PGP and GPG keys at your nearest Keyserver "One smaller motivation which, in part, stems from altruism is Microsoft- bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
* Jochen Schneider <jo...@isg.cs.uni-magdeburg.de> | I got a related question. Does CL have "primitive types"?
yes, but we name them accurately "system classes". a _type_ is a set of values of a given class. some languages don't have any means to express this, so conflate "type" with "class". some languages don't have type hierarchies and think "primitive type" is a good idea to make different from all other types. this is an issue of forcing the user to be acutely aware of implementational considerations on the hardware, so the types should be more accurately be called "hardware types" and "software types" in such languages.
| I mean, can or can't you write a method for, e.g., numbers that get | dynamically dispatched?
yes, NUMBER is a system class. so are its two disjoint subtypes REAL and COMPLEX, the two disjoint subtypes RATIONAL and FLOAT of REAL, and the two disjoint subtypes INTEGER and RATIO of RATIONAL, but the subtypes FIXNUM and BIGNUM of INTEGER and {SHORT,SINGLE,DOUBLE,LONG}-FLOAT are not system classes. you can still dynamically dispatch on them in most CLOS implementations, however, because they form implementation classes.
| What's the deal with the typecase macro?
it is to TYPEP what EQL is to CASE. (I don't think this answered your question, but it is not a very answerable question -- it seems to say, because of the preceding tone, that you disapprove of it because it isn't OO, which is a silly reason. I can't make you approve of something you don't yet understand, and won't waste my time to help you understand when approval precedes understanding. back up a bit and desire to understand before you want to approve or disapprove, and this might change.)
#:Erik -- Attention Microsoft Shoppers! MS Monopoly Money 6.0 are now worthless.
In article <3827397e.504376...@nntp.best.com>, ro...@xippix.com (Roger Corman) wrote:
> On 07 Nov 1999 00:42:59 +0000, Erik Naggum <e...@naggum.no> wrote:
> >* not.for.em...@not.for.spam (someone from Earthlink Network, Inc)
> > please identify yourself and then re-post your opinion. thank you.
> >#:Erik > >-- > > Attention Microsoft Shoppers! MS Monopoly Money 6.0 are now worthless.
> Yes, I think maybe I should hire this person. :-)
> Roger Corman
I thought this guy must be Mr. Corman, himself, using an alias. I guess not. From his posting history he has consistently said nice things about Lisp and Smalltalk. A year ago he was 45 years old and was to marry a 22 year old woman. Wonder how it turned out. :-) -- John Watton Alcoa Inc.
> > It is a lot less powerful - though I'd like to see a Lisp system > > that consequently uses CLOS for "everything".
> What would be easier to accomplish with such a system? What > benefits do you have in mind?
You could do more smalltalkish-things. For example, if array access was implemented via some CLOS AT method, the mapping functions could use it. Than means your own containers could implement AT and could be the sources for MAP commands. ( in actuality, being able to get iterators from everything is probably better ).
Perodically, I wish object-orientation was shot a bit more into the core
of lisp. Of course, there are speed issues, so it'd want it to be optional.
> > > Business-wise Harlequin can make more sense (royalty avoidance).
> > [Various apologia for license fees (which are essentially true) snipped]
> One other disadvantage to license fees is that it essentially requires a > fair amount of extra book-keeping and legal expense to make sure that the > vendor is getting its payments on time. There could also be legal issues > about distributing trial or evaluation versions of the software (Does this > count as a licensed version? How are you sure the user has gotten it off > their system?) if the licensor is a stickler.
In my experience this extra aggravation is often countered by a one-time (or yearly) buyout for a certain number of licenses based on sales estimates for the end product. In exchange for the up-front money rather than exact accounting, the library/language vendor gives the customer a substantial discount.
This is convenient for high-volume products with fairly predictable high demand. For low-volume products, the accounting is not much of an issue.
In all cases, customers balk (understandably) at royalties and will only pay them if they feel the technology they are acquiring is indispensable and cannot be gotten elsewhere or written by the customer. It always creates some amount of hard feeling by the customer.
This is unfortunate to some degree. When you think about it, if you embed lots of complicated code in your application that was written by somebody else, it's reasonable to pay a per-piece fee as you would pay a supplier of hardware components. On the other hand, the marginal cost of software copying is so low that it's easy to see why one would feel ripped off for having to pay royalties that end up being more-or-less pure profit for the vendor.
In the end, it's all a question of supply and demand. If a vendor can get away with charging a large annuity stream rather than a one time payment, they will. If they can't, they won't.
John Watton wrote: >In article <3827397e.504376...@nntp.best.com>, > ro...@xippix.com (Roger Corman) wrote: >> Yes, I think maybe I should hire this person. :-) >> Roger Corman >I thought this guy must be Mr. Corman, himself, using an alias. I guess >not. From his posting history he has consistently said nice things about >Lisp and Smalltalk.
Not very likely. Roger uses only this posting host: nntp1.ba.best.com and has a different posting history than this guy. Anonymus used earthlink.net and has an account there.
A quick small survey over previous posters came up with this solution:
- e...@nospam.net from <3817c18b.1435913...@news.earthlink.net> and also <3815fe44.1385922...@news.earthlink.net> has the same posting host and software as <3825c1e6.854123...@news.earthlink.net>. he never showed up again in all three threads.
The other suspects have a very low probability: - Andy freeman <ana...@earthlink.net> but he usually posts via deja. - Michael Koch <mk...@earthlink.net> uses a different software. - Erann Gat or any jpl colleague (Matt Wette) because jpl.nasa.gov is a customer of earthlink. (but this very unlikely) -- Reini