Re: Character Properties
-- On Mon, 21 Oct 2002 16:49:57 Dan Sugalski wrote: Almost. At least perl 5's macros look like C. Emacs' macro horrors make C look like Lisp... This is because C is _clearly_ a dialect of Lisp . . . -Erik -- Dan --it's like this--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk Get 25MB of email storage with Lycos Mail Plus! Sign up today -- http://www.mail.lycos.com/brandPage.shtml?pageId=plus
Re: Character Properties
On Tue, 22 Oct 2002, Erik Steven Harrison wrote: : On Mon, 21 Oct 2002 16:49:57 : Dan Sugalski wrote: : : Almost. At least perl 5's macros look like C. Emacs' macro horrors : make C look like Lisp... : : This is because C is _clearly_ a dialect of Lisp . . . Yeah, look at all the extra parentheses around things like conditionals and argument lists... Larry
Re: Character Properties
Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm X-Sender: [EMAIL PROTECTED] (Unverified) Date: Mon, 21 Oct 2002 11:37:51 -0400 From: Dan Sugalski [EMAIL PROTECTED] X-SMTPD: qpsmtpd/0.12-dev, http://develooper.com/code/qpsmtpd/ At 11:09 PM -0600 10/20/02, Luke Palmer wrote: What's the plan on having properties, or attributes (depending on how far we're taking it), on individual characters in a string? I think it's an essential feature, as Lisp has shown us. If there's an argument otherwise, I'm all ears. While they're certainly useful, I think essential's an awfully strong word there. You'll note that, just off the top of my head, C, BASIC, Fortran, Perl, Python, Java, Ruby, Pascal, Oberon, Modula (2 and 3), Forth, Eiffel, Haskell, BLISS, C++, C#, COBOL, PL/I, APL, B, and BCPL all don't do character properties/attributes. -- Dan Fair enough. Then tell me how you solve this problem: You have a text file in a string, that the user has marked several places in. He's referring to words for which he wants to keep bookmarks in. Now, he deletes text (using substr), and we want to keep the marks relative to the words, not their positions. This seems easy, yet there's not necessarily an easy way to do it. Uh oh, violating perl philosophy :) Ok, how about this: Is there a reason Inot to? Or should I not go there? Luke
Re: Character Properties
Dan Sugalski wrote : And, FWIW, emacs is written in C. Granted a much macro-mutated version of C, but C nonetheless. Just like Perl 5 ;-)
RE: Character Properties
Jonathan Scott Duff wrote: Ok, how about this: Is there a reason Inot to? Or should I not go there? Off hand, it sounds expensive. I don't see a way to only let the people who use it incur the penalty, but my vision isn't the best in the world. It should be possible to define the bookmark methods on the basic string class to rebless the object onto a more powerful subclass. This way, there is no overhead until the extra information is actually attached. (bless, not copy, because there may be other references to the string). Dave.
Re: Character Properties
[EMAIL PROTECTED] (David Whipp) writes: It should be possible to define the bookmark methods on the basic string class to rebless the object onto a more powerful subclass. That makes it a doubly good candidate for modulehood. -- It's 106 miles from Birmingham, we've got an eighth of a tank of gas, half a pack of Dorritos, it's dusk, and we're wearing contacts. - Malcolm Ray
Re: Character Properties
At 10:53 AM -0700 10/21/02, Austin Hastings wrote: Yeah, but emacs isn't written in any of those languages. What, you're using emacs as an argument *for* something? :-P And, FWIW, emacs is written in C. Granted a much macro-mutated version of C, but C nonetheless. --- Dan Sugalski [EMAIL PROTECTED] wrote: At 11:09 PM -0600 10/20/02, Luke Palmer wrote: What's the plan on having properties, or attributes (depending on how far we're taking it), on individual characters in a string? I think it's an essential feature, as Lisp has shown us. If there's an argument otherwise, I'm all ears. While they're certainly useful, I think essential's an awfully strong word there. You'll note that, just off the top of my head, C, BASIC, Fortran, Perl, Python, Java, Ruby, Pascal, Oberon, Modula (2 and 3), Forth, Eiffel, Haskell, BLISS, C++, C#, COBOL, PL/I, APL, B, and BCPL all don't do character properties/attributes. -- Dan --it's like this--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: Character Properties
At 2:20 PM -0600 10/21/02, Luke Palmer wrote: Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm X-Sender: [EMAIL PROTECTED] (Unverified) Date: Mon, 21 Oct 2002 11:37:51 -0400 From: Dan Sugalski [EMAIL PROTECTED] X-SMTPD: qpsmtpd/0.12-dev, http://develooper.com/code/qpsmtpd/ At 11:09 PM -0600 10/20/02, Luke Palmer wrote: What's the plan on having properties, or attributes (depending on how far we're taking it), on individual characters in a string? I think it's an essential feature, as Lisp has shown us. If there's an argument otherwise, I'm all ears. While they're certainly useful, I think essential's an awfully strong word there. You'll note that, just off the top of my head, C, BASIC, Fortran, Perl, Python, Java, Ruby, Pascal, Oberon, Modula (2 and 3), Forth, Eiffel, Haskell, BLISS, C++, C#, COBOL, PL/I, APL, B, and BCPL all don't do character properties/attributes. Fair enough. Then tell me how you solve this problem: You have a text file in a string, that the user has marked several places in. He's referring to words for which he wants to keep bookmarks in. Now, he deletes text (using substr), and we want to keep the marks relative to the words, not their positions. This seems easy, yet there's not necessarily an easy way to do it. Uh oh, violating perl philosophy :) I didn't call the problem unreasonable, I was objecting to its characterization as an essential feature. It isn't. A useful thing, definitely, but there are a lot of those. It's hardly essential any more than, say, a hash that automagically maps to the current directory's files (iteratively, of course, catching all the subdirectories) is essential While perl is a language that makes it easy to do useful things, it doesn't mean that all useful things should be easy to do in perl. Given how large the set of Useful Things is, that's not unreasonable. -- Dan --it's like this--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: Character Properties
At 7:22 PM + 10/21/02, Rafael Garcia-Suarez wrote: Dan Sugalski wrote : And, FWIW, emacs is written in C. Granted a much macro-mutated version of C, but C nonetheless. Just like Perl 5 ;-) Almost. At least perl 5's macros look like C. Emacs' macro horrors make C look like Lisp... -- Dan --it's like this--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: Character Properties
On Mon, Oct 21, 2002 at 02:20:56PM -0600, Luke Palmer wrote: Fair enough. Then tell me how you solve this problem: You have a text file in a string, that the user has marked several places in. He's referring to words for which he wants to keep bookmarks in. Now, he deletes text (using substr), and we want to keep the marks relative to the words, not their positions. This seems easy, yet there's not necessarily an easy way to do it. Uh oh, violating perl philosophy :) Sounds like a good candidate for modulehood. Ok, how about this: Is there a reason Inot to? Or should I not go there? Off hand, it sounds expensive. I don't see a way to only let the people who use it incur the penalty, but my vision isn't the best in the world. -Scott -- Jonathan Scott Duff [EMAIL PROTECTED]
Re: Character Properties
I didn't call the problem unreasonable, I was objecting to its characterization as an essential feature. It isn't. A useful thing, definitely, but there are a lot of those. It's hardly essential any more than, say, a hash that automagically maps to the current directory's files (iteratively, of course, catching all the subdirectories) is essential I see what you mean now. I had A Momentary Lapse of Reason, in which I forgot modules could do such things. It's very suited to a module---not very common, but very important to certain problems. Luke