Will Hartung wrote: > "Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> > wrote in message news:bus3ld$lse54$1@ID-207230.news.uni-berlin.de... >> Frank A. Adrian wrote: >>> If it doesn't, you also get the source code for the core system. >>> The assembler portion is simple enough that it can be easily >>> extended to support new instructions (and I'm sure that Roger would >>> be grateful for the contribution).
>> Hrm... a strange mentality, is this common among Lisp folk? Why >> would I want to use a tool to do something rather basic that isn't >> already complete? To me that's a Complete Waste Of Time. Let alone >> pay for it, as Corman Lisp is not free for commerical use. This is >> for a game I intend to make money off of someday.
> Yeah, nothing like tossing the baby out with the bathwater.
Where's the baby?
> Simply put, here is a system that just happens to meet all 3 of your > criteria:
>> 1) runs on Windows >> 2) has support for lists in the language syntax itself, not just as >> a standard library >> 3) supports Intel SSE instructions in some manner
It has not been verified that Corman Lisp actually fulfils (3). In fact, one person says it doesn't.
> That simple fact, that the system with all of this capability,
"All of this capability" doesn't appear to be including the capability I want. MS Word has a lot of capabilities. You don't see me asking for it as high performance programming language, do you?
> Oh, and of course, lest we forget, that sending the CRIPPLING, MIND > NUMBING, and 3rd World Debt overburdening license fee of $250 that > will allow you to do ANYTHING YOU WANT (with one minor, irrelevant > caveat), without ever sending Roger another NICKLE, FOREVER, that > cast it out as well.
I don't hand over $250 for products that don't meet my criteria.
Even if Corman Lisp were free for commercial use, I don't look for opportunities to gratuitously implement stuff. "It'll take 10 minutes" is bullshit. By the time you actually get through understanding, designing, coding, testing, redesigning, and real world shaking out of bugs, it'll take weeks or months. And if you don't understand that, then you don't code commercially. Or else you are completely insulated from any financial impacts, i.e. you're someone's employee, and you sit around wasting a lot of your employer's time and money implementing stupid stuff like that. Those of us bearing our own development costs, want things off-the-shelf that save us labor.
Pascal Costanza wrote: > Brandon J. Van Every wrote:
>> Why would I >> want to use a tool to do something rather basic that isn't already >> complete?
> Because you don't want to wait for some vendor to add full support for > the things you actually need right now?
I can be using C++ and foregoing nice list syntax, or writing SSE code in a C function. Both of these are better options than finishing incomplete compilers for people.
> Because these things are generally almost trivial to do in Lisp?
I'll believe it when I see it. From someone else. Let them suffer the pain.
> Because there is no real > distinction between core language and APIs in Lisp?
Maybe that's a basic problem behind Lisp's lack of industrial adoption. Maybe it's not really about the funky parentheses after all.
>> To me that's a Complete Waste Of Time.
> What you probably want is a high-level language that ultimately emits > proprietary instructions. This is almost trivial to do with Lisp-style > macros. If you don't get a complete solution that is optimal for your > task right out of the box in another language, it's very likely that > Lisp will get you to a workable and seamless solution in a very short > amount of time.
I'm also a bit suspicious of a language community who's mentality is "everyone roll their own" for very basic capabilities that should be standardized by now. Intel SSE has been out for a long time, it's a Pentium III capability. Really, how seriously can I take some compiler writer's performance knowhow if they don't support basic ASM instructions?
The fact that nobody in these newsgroups is popping up with a list of ready answers, tells me that functional programmers do not, in general, deal with things like ASM and Intel SSE. Ergo, their tools can be expected to be inadequate in this regard.
>> Let alone pay for it, as Corman Lisp >> is not free for commerical use. This is for a game I intend to make >> money off of someday.
> Then it should be an advantage that you have based your software on a > proprietary solution that your competitors will have trouble to catch > up with.
The use of SSE is not a competitive advantage. Any C++ programmer can do it. I am not sure if using a nice clean list syntax is a competitive advantage or not. Haven't gotten deep enough into the problems I think it'll be useful for.
"Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> wrote
> Hrm... a strange mentality, is this common among Lisp folk? Why would I > want to use a tool to do something rather basic that isn't already complete? > To me that's a Complete Waste Of Time. Let alone pay for it, as Corman Lisp > is not free for commerical use. This is for a game I intend to make money > off of someday.
The Complete Waste Of Time is trying to help somebody who can't afford to pay for his own developing tools for a commercial application and want to have people write free code so that he can code his application faster.
BTW Edi is right, we use assembly language almost exclusively. But when we want real speed, we use VHDL.
> that's the exact opposite of what I want. I've put a lot of trouble into > figuring out how much storage I want everything to use, and what the layout > is... why would I want to wreck that by adding dynamic typing?
That doesn't have much to do with dynamic typing; You're working below that level it seems.
> The fact that nobody in these newsgroups is popping up with a list of > ready answers, tells me that functional programmers do not, in general, > deal with things like ASM and Intel SSE. Ergo, their tools can be > expected to be inadequate in this regard.
Yes, I think so, too :) Maybe there are other goals in functional programming than writing asm snippets... however maybe you can express you asm code with a monad in haskell - which does the job of dynamically compiling it. This would be research however, not production.
Marc Battyani wrote: > "Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> wrote
>> Hrm... a strange mentality, is this common among Lisp folk? Why >> would I want to use a tool to do something rather basic that isn't >> already complete? To me that's a Complete Waste Of Time. Let alone >> pay for it, as Corman Lisp is not free for commerical use. This is >> for a game I intend to make money off of someday.
> The Complete Waste Of Time is trying to help somebody who can't > afford to pay for his own developing tools for a commercial > application and want to have people write free code so that he can > code his application faster.
I don't think you get it. I'd pay for a *solution*. I'm not paying for a non-solution. Generally speaking, people don't.
I'm also not interested in spending my time finishing incomplete compilers, even if they are free. I have all sorts of other incomplete things to finish that are far more important, and a far better use of my time.
This conversation is increasingly taking a turn devoid of commercial production reality. I feel like I'm talking to a few people who think that the goal of Life is to sit around writing Lisp programs because they can. That's not my goal. My goal is to identify tools that will save me labor, not create it.
I don't think Lisp is "neat." I don't think programming is "neat." I think programming is In The Way [TM]. A language or tool either removes barriers for certain problems, or it creates them.
> The fact that nobody in these newsgroups is popping up with a list of ready > answers, tells me that functional programmers do not, in general, deal with > things like ASM and Intel SSE. Ergo, their tools can be expected to be > inadequate in this regard.
> Will Hartung wrote: > > "Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> > >> Hrm... a strange mentality, is this common among Lisp folk? Why > >> would I want to use a tool to do something rather basic that isn't > >> already complete? To me that's a Complete Waste Of Time. Let alone > >> pay for it, as Corman Lisp is not free for commerical use. This is > >> for a game I intend to make money off of someday.
> > Yeah, nothing like tossing the baby out with the bathwater.
> From: "Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> > Sent: Thursday, January 22, 2004 2:51 PM
> Can anyone tell me of a language + compiler that
> 1) runs on Windows > 2) has support for lists in the language syntax itself, not just as a > standard library > 3) supports Intel SSE instructions in some manner
> Regarding (3), it could be inline ASM, builtin compiler functions, or some > other form of tedious manual labor. I'm not expecting automagical Intel SSE > compiler support, although indeed that would be nice if it existed. > It has not been verified that Corman Lisp actually fulfils (3). In fact, > one person says it doesn't.
Hmm. "Some other form of tedious manual labor", but, of course, not, for example, making one set of "tedious manual" changes to the built-in, extensible assembler. I've looked at the assembler, it pretty darn straightforward. Given the Intel manual and perhaps a nice email to Roger, SSE support would quickly appear.
> I don't hand over $250 for products that don't meet my criteria.
No, certainly not. Not even for systems that even come close to your criteria.
> Even if Corman Lisp were free for commercial use, I don't look for > opportunities to gratuitously implement stuff.
Oh, then I assume that you're licensing all of your other infrastructure? (3-D engine, animations, modeling, sound, etc) That's all been done over and over to death. But, no doubt they don't quite meet your exacting specifications, so best to dig out the Foley, van Dam book and start fresh.
> "It'll take 10 minutes" is bullshit. By the time you actually get through > understanding, designing, coding, testing, redesigning, and real world > shaking out of bugs, it'll take weeks or months.
Whatever you say, you're the expert.
> And if you don't understand that, then you don't code commercially. > Or else you are completely insulated from any financial impacts, > i.e. you're someone's employee, and you sit around wasting a lot of > your employer's time and money implementing stupid stuff like that. > Those of us bearing our own development costs, want things off-the-shelf > that save us labor.
I'm reknowned for living in my own little Ivory Tower. Infamous even. Ask anyone. (I'd be happier in a Mac Ivory Tower, but, alas...)
The crux is that because you're not willing to invest ANY time in the tool (after all, it's supposed to save labor), and since this tool happens to meet 90+ % of your criteria (as stated, whether you believe it or not), and the other 10% is less than a days work away (because assemblers are really pretty simple, and this one is already written, but that's not important right now, you don't have time to look at it anyway), you're willing to toss ALL of it away and crawl back to an environment that offers nothing that you asked for (save the Windows part).
Yup. You're right.
It's much better to stick with the system that doesn't meet your criteria at all. Best to dig your trench with the spoon you have than with a shovel who's handle is a wee bit short. Why take three steps forward if you have to take a step back? You're much better off using a system you can not change, and fighting its limitations repeatedly, over and over again rather than eliminate them completely once. The best part is that you can better plan your time, because you know how long your tasks will take. With an extensible system you may foolishly waste time adding something to actually improve your productivity, and you don't want that to happen. Throws the schedules in to a tail spin.
Just use this as an object lesson. Next time you feel that your system is letting you down, that you think that there HAS to be something better, don't waste your valuable time looking. Best to flog through the devil you know than poke your head out of your cave. It's dangerous world of imperfection out here. Nobody wants to see you get hurt.
> Hmm. "Some other form of tedious manual labor", but, of course, not, > for example, making one set of "tedious manual" changes to the > built-in, extensible assembler. I've looked at the assembler, it > pretty darn straightforward.
I'm definitely running into a serious clash of programmer culture here. I cannot abide a Lisp culture of "everyone rolls their own," instead of expecting certain basic things to be standard and off-the-shelf.
> Given the Intel manual and perhaps a > nice email to Roger, SSE support would quickly appear.
From an industrial provenness, production schedule dependency standpoint, that's the most ridiculous crock of shit I've ever heard. When you figure out how to plan your business based on factors within your control, get back to me. And if you think the answer is, "I'm sure Roger will do lotsa things for you, for an hourly fee," yes I'm sure he will. But I'm not interested in a $5000 compiler with no field testing.
>> Even if Corman Lisp were free for commercial use, I don't look for >> opportunities to gratuitously implement stuff.
> Oh, then I assume that you're licensing all of your other > infrastructure? (3-D engine, animations, modeling, sound, etc) That's > all been done over and over to death. But, no doubt they don't quite > meet your exacting specifications, so best to dig out the Foley, van > Dam book and start fresh.
I have my own legacy 3D code, and http://nebuladevice.sourceforge.net is the 3D engine off-the-shelf I'm considering. I will probably buy a Maya seat someday, because the game industry has proven that it's "worth it." There's also http://www.blender3d.org for $0, but when I tried it 2 years ago I didn't like it. I don't know / care about sound at this point, it's the least of my concerns.
Why am I sitting around arguing about my production concerns with you? What you're spouting is baloney, and this is a waste of time. I really can't stand people who don't understand what commercial production is, and I'm tired of arguing with academic / hobbyist pigs about this sort of thing.
Time to unsubscribe. If anyone knows of a Lisp with Intel SSE in it, I'd be much obliged with an e-mail. A serious community of Lisp SSE users definitely does not exist here. I've found a few possibile compilers on Google, but the listings are scant, and do not necessarily fulfil "runs on Windows."
> The crux is that because you're not willing to invest ANY time in the > tool (after all, it's supposed to save labor), and since this tool > happens to meet 90+ % of your criteria (as stated, whether you > believe it or not), and the other 10% is less than a days work away > (because assemblers are really pretty simple, and this one is already > written, but that's not important right now, you don't have time to > look at it anyway), you're willing to toss ALL of it away and crawl > back to an environment that offers nothing that you asked for (save > the Windows part).
*You* cough out the tool in 1 day then. And e-mail me about your results.
>> The fact that nobody in these newsgroups is popping up with a list >> of ready answers, tells me that functional programmers do not, in >> general, deal with things like ASM and Intel SSE. Ergo, their tools >> can be expected to be inadequate in this regard.
Taking these points in tandem, I am not certain enough of my problem domain to know that "writing a program to write a program" is a good idea. For my 3D planet topology, maybe it is, maybe it isn't. I won't know until I get deeper into development.
Strategically, I'm afraid there's a lot of business determinants in computer games that have nothing to do with choice of technology. I think Eye Candy and Marketing are the prime determinants. I'm hoping Game Design can be a determinant, but I'm undertaking substantial risk in thinking so. The business model of "add more programmatic features rapidly" does not strike me as compelling for games, not without a subscription model or other way to pay for ongoing feature development. "Add art assets rapidly" would be a far more important business model, for instance. And I think it would be better to spend time on better marketing of a smaller number of features, rather than giving gamers a kitchen sink / smorgasbord for their measly $30.
If I had confidence in why a particular functional language would enable me to develop anything and everything faster, or even some specific, important problem domain faster, I'd use it. But I don't have that confidence. Call that chicken-and-egg, or call that too much staring at Microsoft SDKs to think that anything can be a magic bullet for API interfacing problems.
In the case of Intel SSE support, "programs writing programs" definitely strikes me as a bad idea. SSE is a straightforward standard that should simply be supported in a compiler as a matter of boring gruntwork. It can hardly represent a competitive advantage compared to, say, inline ASM used by a C++ programmer.
Now, if somoene has a treatise / testimonial about how they used Lisp macros or some other functional language's features to roll a bunch of SSE code together, I'd be interested to hear about it. But I don't regard the SSE instruction set very highly for 3D graphics problems anyways. I've done a good number of 'em by hand, my brain is better than any compiler for that kind of small problem, and SSE instrucitons are just slow and don't fit. There's only so much to think about because there's only so much you can get done with them.
Consequently, as a matter of taking business risk, I'm not willing to walk down the primrose path of rolling my own SSE assembler just to see if I "get something" for the trouble. I suspect that compared to inline ASM in C++, I won't.
On Fri, 23 Jan 2004 17:30:29 -0800, Brandon J. Van Every wrote:
> I don't think programming is "neat." I think > programming is In The Way [TM]. A language or tool either removes barriers > for certain problems, or it creates them.
Then why do you choose a path that seems to irritate you so much? It's not that I don't agree that sometimes using current tools is hard, but you should either (a) understand the limitations of current tools and not be so unhappy with them that it turns you into a big whiner or (b) find something else to do that will make you happier. In either case, don't expect your crybaby attitude to go over particularly well. Mature people either pull up their socks and improve the situation (which you could do by either coding the stuff yourself or by paying someone to do it for you) or go on without complaining. Either way, this is about as good as it's going to get as far as commercial tools go, so accept it or go away.
"Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> writes:
> I don't hand over $250 for products that don't meet my criteria.
> Even if Corman Lisp were free for commercial use, I don't look for > opportunities to gratuitously implement stuff. "It'll take 10 minutes" is > bullshit. By the time you actually get through understanding, designing, > coding, testing, redesigning, and real world shaking out of bugs, it'll take > weeks or months. And if you don't understand that, then you don't code > commercially.
Have you never worked with a well factored system? Have you never seen an assembler? It's not rocket science. Get your free trial of Corman Lisp, tell them that you need SSE instruction support in the assembler to use it commercially, and I'm sure you'll have either the support itself, or an ABC123 set of instructions on how to type in your definitions.
-- /|_ .-----------------------. ,' .\ / | No to Imperialist war | ,--' _,' | Wage class war! | / / `-----------------------' ( -. | | ) | (`-. '--.) `. )----'
* Brandon J. Van Every | "It'll take 10 minutes" is bullshit. By the time you actually get | through understanding, designing, coding, testing, redesigning, and | real world shaking out of bugs, it'll take weeks or months. And if | you don't understand that, then you don't code commercially.
Then why do you ask people to help you for free?
| Or else you are completely insulated from any financial impacts, | i.e. you're someone's employee, and you sit around wasting a lot of | your employer's time and money implementing stupid stuff like that. | Those of us bearing our own development costs, want things | off-the-shelf that save us labor.
If any of this pontification was honest, you would already have been able to recognize that you ask people to help you as favor. What kind of person is so much in tune with the «financial impacts» and still goes out in the world and /demands/ that people help him and complain when the help is not to his liking, without offering compensation to those who are willing to help?
Your concept of the value of the information you seek is faulty, and the most likely cause is that your concept of the value of the labor you want to be saved from doing is /missing/.
If you valued both your own time and that of others, you would step down from the soapbox and find ways to entice people to help you, but now you have angered many of those who could have helped you. You come off not as someone who is financially responsible, but as someone who is strapped for financial resources and therefore turns to other with demands to ease your unfair suffering instead of with offers of remuneration for what you value properly. Trust me, USENET is full of people who are poor and demanding, but fora like this exists because people are willing to share of their tremendous surplus. Those who approach such fora with demands, bring an imbalance to the table that annoys people, because instead of two people sharing of their surplus, the one who has something to share feels taken advantage of when the person he shares with only offers arguments from poverty.
If my predictions about you hold true, you will now attack me because you believe you were attacked and will focus your energy on exacting revenge on me for having exposed something uncomfortable about you, and you will focus your energy into feeling insulted and mistreated, instead of understanding that you have been asked politely not to be so demanding of those you ask for help. If my predictions about you are false, you will surprise everybody with an apology for your aggressive and insulting behavior and offer us a better understanding of your actual problem in such a way that people who can think of better ways to solve them than you can, will feel free to either help you or offer you their solutions in exchange for real, hard cash.
Which path do you want to follow? Both are equally open to you now.
-- Erik Naggum | Oslo, Norway
Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.
I publish my actual mailbox and I read mail that arrives in it because I appreciate the private aside that is often so crucial to effective communication between two people. However, I do not appreciate it when people use private e-mail to attack me. Attacks should be out in the open so everybody can see. Personal mail exchanges are there for the benefit of people who would like to /think/ and would like to do so privately before publishing their unfinished thoughts. In keeping with this spirit, I share his inappropriate private communication.
--------------------------------------------------------------------------- From: "Brandon J. Van Every" <vanev...@indiegamedesign.com> To: <e...@naggum.no> Subject: Re: builtin lists and Intel SSE support? Date: 2004-024F09:25:27Z Message-ID: <OOEALCJCKEBJBIJHCNJDEEDLGOAB.vanevery@indiegamedesign.com>
> * Brandon J. Van Every > | "It'll take 10 minutes" is bullshit. By the time you actually get > | through understanding, designing, coding, testing, redesigning, and > | real world shaking out of bugs, it'll take weeks or months. And if > | you don't understand that, then you don't code commercially.
> Then why do you ask people to help you for free?
I didn't. If something is free and doesn't do the job, I just decline. If something costs money and doesn't do the job, I look for a product that does.
> If any of this pontification was honest, you would already have been > able to recognize that you ask people to help you as favor. What kind > of person is so much in tune with the «financial impacts» and still > goes out in the world and /demands/ that people help him and complain > when the help is not to his liking, without offering compensation to > those who are willing to help?
I think you have a listening / reading comprehension problem. And your ideologies are both pretentious and stupid.
20% of the world is real. 80% is gobbledygook we make up inside our own heads.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.561 / Virus Database: 353 - Release Date: 1/13/2004 ---------------------------------------------------------------------------
The astute reader will have noticed that I gave this crippled mind the option of a graceful recovery, but he chose to attack and is obviously the kind of person who has yet to understand the purpose of publishing the means of private communication.
I strongly urge people to make note of this person's name and company and to share it with as many people as possible to prevent him from having any business success at the expense of the friendly, helpful USENET community whom he abuses for no discernible reason.
-- Erik Naggum | Oslo, Norway
Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.
> Even if Corman Lisp were free for commercial use, I don't look for > opportunities to gratuitously implement stuff. "It'll take 10 minutes" is > bullshit. By the time you actually get through understanding, designing, > coding, testing, redesigning, and real world shaking out of bugs, it'll take > weeks or months. And if you don't understand that, then you don't code > commercially.
I agree. I'm sure that any of the commercial Lisp vendors would be quite happy to discuss doing this kind of extension for you for a fee. Like you I'm fed up with the stupid `oh you can just implement it yourself because you have *source*, which solves everything' mantra that the open source cultists repeat endlessly when they're not burning each other or stealing music from people. Like I want to spend hundreds of hours wading through megabytes of crappily-written code to try and implement some feature.
* Tim Bradshaw | I'm sure that any of the commercial Lisp vendors would be quite happy | to discuss doing this kind of extension for you for a fee. Like you | I'm fed up with the stupid `oh you can just implement it yourself | because you have *source*, which solves everything' mantra that the | open source cultists repeat endlessly when they're not burning each | other or stealing music from people. Like I want to spend hundreds of | hours wading through megabytes of crappily-written code to try and | implement some feature.
At issue here is whether the Open Source community effective prevents the commercial Common Lisp vendors from offering to implement this kind of extension for a fee. We witness a change in the response to a request for a feature from either «NO» or «YES, for $$$» to «NO, build it yourself», but it appears to me that the «YES, for $$$» option may have drowned in the noise because some believe the response was really «YES, build it yourself» and thereby killed off the commercial option.
Ideally, the availability of an option you do not want to invoke would not have affected any other options and the likelihood that would want to invoke any of them, but a curious artifact of human psychology is that we /are/ influenced by what we do not want, in that the things we want to do must have a sufficient /distance/ to the things we do not want to do. If someone argues that you could do it yourself, but you do not want that, someone else who asks for money to do it, will of necessity ask for money for something that you could do yourself, and most people's willingness to pay for something is proportional to how much they are saved from doing. It is therefore a major disservice to the commercial developers to tell requestors of features that they are within reach, however hypothetical this really is.
Those who would be willing to rush to the aid of requestors with $$$ to pay for a feature are also quite reserved when the difficulty of implementing the feature is implicitly reduced to only having source code access. The cost of actually doing it is further reduced by the hypothetical willingness of other people to do it for free, so the most pronounced consequence of saying «you have the source, enjoy!», is to remove the commercial viability of the undertaking from both sides: The customer's willingness to pay for it, and the vendors' willingness to risk anything to do it in return for future profits. This sort of pre-emptive competition is extremely unhealthy.
Those of us who have worked on Open Source and Free Software projects, and who have had source access to large systems, know that the worst and most expensive downside of obtaining access to source code that has evolved under the pressure and competition of a different group of people, is not that it takes a lot of time to understand the source, but that it takes a lot more time to be satisfied with understanding the evolutionary pressures that formed it. Having source code access is more often than not a strong disincentive to working on it, because the choices other people have made will always include a number that are /objectively/ braindamaged and/or literally insane. The absence of understanding of the evolutionary pressure of anything that has evolved over a long time, tends to make people want to invent all sorts of idiotic explanations for how things became what they are, and Common Lisp itself is no exception to this rule: Many people come to Common Lisp with barely understood evolutionary pressures of their own and refuse to do the mental work that understanding how Common Lisp grew into what it is requires, and are doomed to a life of stupid objections to decisions that cannot be undone, and some of them run off to create their own pet languages, decrying the «braindamage» of Common Lisp and virtually shouting that they are /not/ going to make the same kind of mistakes that other people did. (I know just how this feels, by the way -- I could never learn to use C++, because of the completely overwhelming desire to redesign the language every time I tried to use it, but this is the normal, healthy reaction to C++.)
-- Erik Naggum | Oslo, Norway
Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.
Tim Bradshaw wrote: > the open source cultists repeat endlessly when they're not > burning each other or stealing music from people.
Yeah, now open source cultist steal music from people :) This is going to be my next .signature, you know. Can I do this without a fee or did you put a copyright on your post? Did you mean also the freebsd people, stealing music, or only those crappy Stallmaninists? Oh yes, I will also mention the Nazists, 1. for par conditio, 2. to end this thread according to the old tradition :)
>>>3) supports Intel SSE instructions in some manner
>>>Regarding (3), it could be inline ASM, builtin compiler functions, or >>>some other form of tedious manual labor.
>>Would a C interface qualify? You could do the SSE stuff in C with >>inline assembly, or in assembly with C linkage.
> It's a valid point, and one I realized belatedly. But for purposes of this > question, I think having a C interface doesn't count. C interfaces are > common. There are tons of languages that run on Windows, have builtin > lists, and have a C interface, so not really any need to ask the question.
Hmm... in general, I think that question is better answered by asking about performance in general. Direct SSE support is just one aspect of many. From a language designer's point of view, it's relatively uninteresting - it's a feature that's available only for a specific architecture, and useful only for a limited set of programs. Implementing smarter code transformation and optimization algorithms would be a real contender for SSE work.
> I'd really like to find out if anything has first-class SSE support, such as > via compiler intrinsics or at least inline ASM. I also think such support > indicates a general concern with performance, instead of the "well, if you > need performance you can just do it in C" mentality.
Well, for that, I think a more interesting criterion would be whether the compiler generates machine code directly. If it goes through C, performance is obviously not first on the minds of the compiler writers.
I think you're doing at least marginal injustice to high-level people though. I believe that the general thinking is more like "if you need *small-scale* performance, you can do it in C". Functional people tend to be quite performance-minded, since naive implementations tend to be really, really slow. It's just that the techniques that have proven to be effective to get today's level of speed are about improving things on the grand scale. Inter-module analysis is important (just as with OO languages, where automatic detection of inlining opportunities requires whole-system analysis). Small-scale optimizations like SSE tend to get lost from view in such a context.
In general, I'd take a look at what OCaml does and how it performs. I don't think it emits SSE instructions, but it will give you a feel for what's considered fast in the FPL arena.
"Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> writes:
> Frank A. Adrian wrote: >> On Fri, 23 Jan 2004 09:20:19 -0800, Brandon J. Van Every wrote:
>>> Thanks! Since the devil is in the details, I wonder if their inline >>> ASM supports the full IA-32 instruction set? In Visual Studio, back >>> in the bad old days, when some newfangled instruction came out you >>> had to EMIT it until real support was available. Not really >>> practical for more than trivial usage.
>> If it doesn't, you also get the source code for the core system. The >> assembler portion is simple enough that it can be easily extended to >> support new instructions (and I'm sure that Roger would be grateful >> for the contribution).
> Hrm... a strange mentality, is this common among Lisp folk?
I like to believe so. I'd be a bit disillusioned to learn that someone sharp enough to use Common Lisp decided to abandon the entire language over something as trivial as a new opcode in the assembler; especially when the source is available and adding it would take all of ten minutes of thought.
> Why would I want to use a tool to do something rather basic that > isn't already complete?
Why would you want to use a tool at all? The answer to your question follows directly from the answer to this.
> To me that's a Complete Waste Of Time.
You have the time to complain.
> Let alone pay for it, as Corman Lisp is not free for commerical use.
Corman Lisp is exceptionally reasonable in this regard: $250 will get you the license you need to distribute products made with CCL. This is an order of magnitude less than Lispworks or Franz Allegro.
> This is for a game I intend to make money off of someday.
"Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> writes:
> Frank A. Adrian wrote: >> On Fri, 23 Jan 2004 09:20:19 -0800, Brandon J. Van Every wrote:
>>> Thanks! Since the devil is in the details, I wonder if their inline >>> ASM supports the full IA-32 instruction set? In Visual Studio, back >>> in the bad old days, when some newfangled instruction came out you >>> had to EMIT it until real support was available. Not really >>> practical for more than trivial usage.
>> If it doesn't, you also get the source code for the core system. The >> assembler portion is simple enough that it can be easily extended to >> support new instructions (and I'm sure that Roger would be grateful >> for the contribution).
> Hrm... a strange mentality, is this common among Lisp folk?
I like to believe so. I'd be a bit disillusioned to learn that someone sharp enough to use Common Lisp decided to abandon the entire language over something as trivial as a new opcode in the assembler; especially when the source is available and adding it would take all of ten minutes of thought.
> Why would I want to use a tool to do something rather basic that > isn't already complete?
Why would you want to use a tool at all? The answer to your question follows directly from the answer to this.
> To me that's a Complete Waste Of Time.
You have the time to complain.
> Let alone pay for it, as Corman Lisp is not free for commerical use.
Corman Lisp is exceptionally reasonable in this regard: $250 will get you the license you need to distribute products made with CCL. This is an order of magnitude less than Lispworks or Franz Allegro.
> This is for a game I intend to make money off of someday.
"Brandon J. Van Every" <try_vanevery_at_mycompanyn...@yahoo.com> writes:
> I can be using C++ and foregoing nice list syntax, or writing SSE code in a > C function. Both of these are better options than finishing incomplete > compilers for people.
Erik Naggum wrote: > In keeping with this spirit, I share his inappropriate private
communication.
Ok, if you insist (not like I could stop you). But I take issue with my private communication to you being inappropriate.
Brandon said to Erik in private:
>> I think you have a listening / reading comprehension problem.
Totally fair comment, since you said I asked for work for free when I hadn't, and this was the very basis of your umbrage.
>> And your ideologies are both pretentious and stupid.
> The astute reader will have noticed that I gave this crippled mind > the option of a graceful recovery,
Finding you pretentious does not make my mind crippled. You most certainly are.
Finding your ideologies stupid is a matter of opinion. I've given you mine. Personally, I think your whole "Usenet is for caring and sharing" ideology is stupid, as well as your psychobabble analysis of how I was going to react to your post, and the whole "paths laid before you" thing. Who are you, the King Of Norway, and I your loyal subject? Usenet is an anarchy. People are here for many reasons, and they don't have to be your reasons.
> but he chose to attack
Ah, I see. You attack me publically. I have the good graces to respond briefly in private, with not particularly the worst words I could think of, to spare all parties the waste of time. You figure that's your cue to air some dirty laundry and paint it as my character flaw. I'll decline further fulfilments of your prophecies.
> I strongly urge people to make note of this person's name and > company and to share it with as many people as possible to prevent > him from having any business success at the expense of the > friendly, helpful USENET community whom he abuses for no > discernible reason.
Wow, you certainly are full of yourself. But I already knew you were pretentious.
Tim Bradshaw wrote: > * Brandon J Van Every wrote:
>> Even if Corman Lisp were free for commercial use, I don't look for >> opportunities to gratuitously implement stuff. "It'll take 10 >> minutes" is bullshit. By the time you actually get through >> understanding, designing, coding, testing, redesigning, and real >> world shaking out of bugs, it'll take weeks or months. And if you >> don't understand that, then you don't code commercially.
> I agree. I'm sure that any of the commercial Lisp vendors would be > quite happy to discuss doing this kind of extension for you for a fee. > Like you I'm fed up with the stupid `oh you can just implement it > yourself because you have *source*, which solves everything' mantra > that the open source cultists repeat endlessly when they're not > burning each other or stealing music from people. Like I want to > spend hundreds of hours wading through megabytes of crappily-written > code to try and implement some feature.
Amen, brother! In fairness, I've seen aspects of both Xconq and Freeciv that were implemented well. The Windows builds weren't among those aspects, hence my frustration with Linuxers. So my point is, the open source guys actually do some things well, but they tend to oversell the real world value of their open source code. When features are missing and labor hasn't been done, other people end up having to do a lotta work.
> Hmm... in general, I think that question is better answered by asking > about performance in general. > Direct SSE support is just one aspect of many. From a language > designer's point of view, it's relatively uninteresting - it's a > feature that's available only for a specific architecture, and useful > only for a limited set of programs.
Actually, current PowerPC CPUs have similar instructions... and last I looked, similar flaws in the lack of a "sum of scalar fields" instruction. Bastards! Why don't these people get it??!? Anyways, "scalar register" and "4-field vector" programming models definitely don't play well together, so I understand the reluctance of compiler writers to embrace the latter. It's really not a very good model, it's just what the CPU vendors have handed us in industrial practice. I would have strongly preferred that we keep going in a proper RISC direction, like the DEC Alpha CPU was doing. If it were still extant, and running at current clock speeds, it would be blowing the doors off of everything. As it is, I've contemplated switching to PowerPC solely to get away from fucking Intel, but I don't yet have the budget or business model to be that idealistic.
> Implementing smarter code > transformation and optimization algorithms would be a real contender > for SSE work.
But having done a fair number of 3D graphics problems by hand in SSE, the reality is there's only so much you can do. They're slow instructions, and often in 3D graphics you don't have a whole lot of things you want to be working on at once. Rather, you want a dot product test and you want it over quickly, so you can get on with the next serially dependent computational step. Parallelism is grossly overrated, there are all kinds of problems that aren't parallel.
> Well, for that, I think a more interesting criterion would be whether > the compiler generates machine code directly. If it goes through C, > performance is obviously not first on the minds of the compiler > writers.
Good point. Maybe I'll ask that question at some point.
> I think you're doing at least marginal injustice to high-level people > though. I believe that the general thinking is more like "if you need > *small-scale* performance, you can do it in C". Functional people tend > to be quite performance-minded, since naive implementations tend to be > really, really slow. It's just that the techniques that have proven to > be effective to get today's level of speed are about improving things > on > the grand scale. Inter-module analysis is important (just as with OO > languages, where automatic detection of inlining opportunities > requires whole-system analysis). Small-scale optimizations like SSE > tend to get lost from view in such a context.
Well, computers aren't really any good. They have bad memory controllers, meaning you can't really control them. If you could control memory like a laser, then you could blend all kinds of computations together and get maximum execution out of CPUs. But memory controllers can't synchronize anything that well. They're fundamentally sloppy. Really our computers are built for MS Word.
Even the DEC Alpha had a shitty memory controller. There was this one budget series that was particularly shitty, I forget the name. It was so bad that 533 MHz machines would run slower than 333 MHz machines with better memory controllers. We Christened one of these junkers as the Yugo and put an appropriate desktop picture on them in our lab. Ours was a DEC lab, BTW. :-)
> In general, I'd take a look at what OCaml does and how it performs. I > don't think it emits SSE instructions, but it will give you a feel for > what's considered fast in the FPL arena.
OCaml does seem to be the performance contender. But it's hard to tell for sure with just synthetic benchmarks like http://dada.perl.it/shootout/ . The broad pattern that emerges from the synthetics is "compiled functional languages have comparable ballparks of performance." But what of application peformance, like heavy duty pathfinding problems? I feel another question coming on...
> Your concept of the value of the information you seek is faulty, and > the most likely cause is that your concept of the value of the labor > you want to be saved from doing is /missing/.
(Just so I can agree with it, I'll leave that in place.)
> If you valued both your own time and that of others, you would step > down from the soapbox and find ways to entice people to help you, but > now you have angered many of those who could have helped you.
To be fair, it doesn't help that c.l.l is also overpopulated with people with high verbosity:tolerance:helpfulness ratios. IME these are best identified and their attitudes ignored. Take the helpfulness where it's given, stick around and be helpful to restore karma to the 'Net or something, maybe do some of your *own* damn' research, but neither whinging, nor spewing apologetics, are profitable to anyone.
[snip]
~Tim -- Can you tell me how to get, |pig...@stirfried.vegetable.org.uk How to get to Sesame Street? |http://spodzone.org.uk/