Slashdot Mirror


User: Mornelithe

Mornelithe's activity in the archive.

Stories
0
Comments
472
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 472

  1. Re:This is not a troll, but a query... on Practical Common Lisp · · Score: 1
    If you don't mind me replying to myself...

    Reading around on comp.lang.functional a little more, I noticed some other posts by him, and one mentioned (in response to a question much like mine), that a good example was typing prime versus composite numbers. So you could do something like this (in my own pseudo prolog notation that I just made up):
    seive(X, 1).
    seive(X, K) :- divides(X, K);
    seive(X, K-1).

    type(prime, X) :- seive(X, X-1).
    Which (barring any errors I made since my prolog is rusty), I believe says that a prime number is anything that isn't divisible by anything less than itself other than one (very inefficient, yes I know). It then says that prime is the type of numbers that pass the seive.

    So, the claim is that Qi's type system can accept something like this and generate meaningful type checking from it. I am uncertain whether Haskell's type system can do this (although I wouldn't necessarily rule it out, since someone has implemented type checking for properly balancing AVL trees in Haskell, which seems mind boggling to me :)).

    In other words, in Qi you seem to be able to specify types via rules, and have them apply to whatever is appropriate, whereas in Haskell you define type classes, and then specifically show how types fit into those classes (although Haskell allows you to define type classes polymorphically, which lets you apply classes to an infinite number of types). The main difference seems to be the ability to use normal functions in type declarations.
  2. Re:This is not a troll, but a query... on Practical Common Lisp · · Score: 1
    Right, I read that too. I don't agree that his claims were "demolished."

    Essentially, the fellow you mentioned said that his claims of the "most powerful type system" weren't much more than hype. I'm not enough of a guru to say whether or not that's the case. However, I haven't seen any examples put forth that his sequent calculus-based type system has more expressive power than Haskell's system (I don't know ML's type system, so I can't comment on that).

    As I said, the main difference I see between the type systems is the difference between logic and functional programming languages. For example, in a functional language like Haskell, you can define size of a list like so:
    size [] = 0
    size x:xs = 1 + size xs
    Which computes the size of a list. Whereas in Prolog you do the following:
    size([], 0).
    size([H|T], N) :- size(T, N1), N is N1 + 1.
    Now, you can use this to compute the size of a list (size([1, 2, 3], X)), or you can use it to compute all lists of size 3 (size(L, 3)), and so on. Unification in logic languages gives you the ability to use "functions" forwards and backwards, so to speak, which is significantly different than functional languages.

    Some of the Qi typing examples remind me of programming such logic style predicates (specifically, the binary number example, where he defines the left and right definitions of binary numbers). This is probably no accident, as he says that sequent calculus is a notation for first-order logic (I believe), while Haskell's type system is based on a derivative of Lambda calculus. However, Prolog is not more powerful than Haskell, and vice versa. They're both Turing complete, after all.

    I suspect that his claims of "the most powerful type system" really boil down to "the most convenient type system for defining some types," unless someone can provide evidence to the contrary (which I'll gladly read and probably not understand :)). That's nice, but I'm not sure "powerful" is the right word to describe it. When he says the "power" of a type system, I think about its ability to give actual types to functions (for example, I don't believe the Haskell 98 standard doesn't allow for rank-N polymorphic types, while most actual Haskell compilers do. So the type system of the actual compilers is more powerful than that of the standard, in that they can correctly represent the types of some functions that the standard cannot). As far as I can read, the inventor of Qi hasn't shown that there are types that can be represented in Qi that can't be represented in Haskell.

    Another useful feature of good type systems is type inference, which both Haskell and Qi have (I think). However, the author doesn't give any examples about Qi's type inference being more powerful than Haskell's either. For example, can Qi properly inference the type the Y combinator given as a lambda expression (\f -> (\g -> f $ g g) (\g -> f $ g g)) (I think it requires inferencing a rank 2 polymorphic expression, which may be undecidable, at least in Haskell's "less powerful" type system :))? As far as I can tell, the only reason that construct in Qi is that you can turn the typing system off. :)

    Anyhow, I don't agree that either side demolished the other. However, the creator of Qi says, "The type system is more powerful than Haskell!" without any examples or definitions of "powerful," and a random guy on comp.lang.functional says, "it's arrogant to make such an assertion without any proof." Frankly, I agree more with the latter. Show me something that can be done in Qi's type system that can't be done in Haskell's. I'm willing to learn.

    Sorry for the rambling post. Too many beers this afternoon. :)
  3. Re:This is not a troll, but a query... on Practical Common Lisp · · Score: 1

    And you think that the Qi inventor's argument is more convincing? I looked at his page (especially the typing section on Qi for ML programmers), and scanned through the typing sections of his book (Functional Programming in Qi), and I didn't see any specific example of: "These types can be expressed/decided in Qi, but not in Haskell."

    Do you know of any links about what makes Qi's type system "the most powerful"? Or what his definition of "powerful" is? It seems like it might be more convenient for expressing some types (I find it akin to the difference between logic languages and functional languages; in fact, I think that's the actual difference between the type systems. Logic languages give you some things for free, but they aren't universally "more powerful" than functional languages), but none of his examples immediately strike me as being impossible to do in Haskell; just different.

    "Sequent calculus is better than Haskell!" doesn't seem particularly compelling either.

  4. Re:Unbelievable on Microsoft's New Mantra - It Just Works · · Score: 1

    You don't read Slashdot enough.

    Here's the bottom line:

    1) When open source software copies features from existing stuff, people do complain about copying and not innovating.

    2) When open source software does things differently, or tries something new, people here complain that people will never be able to use it, because it's not similar enough to the major proprietary vendors.

    In other words, people complain about open source software no matter what (because, surprise, Slashdot is actually not a hive mind like you think it is).

    When MS or other companies do 1), yes, people complain. When companies do 2), especially Apple, people can't seem to help themselves from fucking inanimate objects around themselves because they're so excited about it.

    If there's any double standard, it's against open source software, which one group or another always has problems with.

  5. Re:lol @ #buttes, failures. on Tridgell Reveals Bitkeeper Secrets · · Score: 1

    How is clean-room reverse engineering more "moral" than a non-clean-room process?

  6. Re:LSB isn't the answer on Why Aren't More Distros Becoming LSB Certified? · · Score: 1

    Open source software is nice and all but it is severely lacking in usability and UI design. Developer do not usually make good UI designers.

    That's what projects like Open Usability are trying to address.

    Not to mention that there is plenty of corporate money going into projects like Gnome (take Sun's JDS, for example), and some of that money could easily go into interface design by professionals in the field (assuming, as you do, that developers are utterly incapable of learning to design usable interfaces themselves, which is debatable).

    Not to mention that there's plenty of closed-source products out there that have shitty, non-standard interfaces.

    Are you sure that the one thing plaguing the Linux desktop (which some report is too fragmented and has too much diversity to ever make it into the mainstream), is that it doesn't have a myriad of closed-source alternatives (each probably using their own non-standard interface) to match the myriad of open-source programs?

  7. Re:Okay now... on Michael Robertson Says Root is Safe · · Score: 1

    Well, I've never done LFS, myself, but...

    What does it take to install a piece of software? Compiling it? You can do that as a user, and then do 'sudo make install'? Editing configuration files? Even if you have to do many in a row, you can resort to 'sudo -s' and then edit in that root shell. It doesn't require being root for absolutely everything you do.

    I have to be root to install software on my machine (Gentoo), but with a proper sudoers file (letting me run 'emerge' as root without a password), and an alias (emerge='sudo emerge'), installing software as a user is as simple as installing it as root, and yet, it doesn't require me to run my web browser and everything else as root. I realize you can't alias things that easily for LFS, but then, that's a rather special case.

    In any case, a hobbyist argument still doesn't justify the opinion in this article, considering that Linspire is definitely not a hobbyist distro. Having an average user run as root just makes it that much easier to turn the machine into a zombie, and having to type in your password once a week isn't enough of a pain to justify that situation.

    I don't know what constitutes a "serious" use of Linux. Hell, what do I use it for? Browsing the web and homework? Is that significantly more serious than tooling around with it as a hobbyist?

    The only way your use would be less serious is if you can sincerely say: "I don't care if my machine becomes a spam zombie, or all my activities/keystrokes are logged by some unknown party." If you agree with that, then fine, run as root. If not, then running as a normal user and only switching to root when needed is just one additional line of defense that makes it less likely for your box to get totally owned.

  8. Re:Okay now... on Michael Robertson Says Root is Safe · · Score: 1

    How much time to you spend installing applications versus using them?

    How much time do you actually waste by typing in a password once in a while?

    I can type my password in 1 second. Do you install enough software that password typing actually uses up a significant portion of your week?

  9. Re:No it doesn't? on From Bash To Z Shell · · Score: 1
    Addendum:

    I figured out how to have the best of both worlds, so to speak. First of all, the effects of globcomplete can be had by adding the _match completion engine, so when I remove the globcomplete option, and set my completion engines thus:
    zstyle ':completion:*' completer _complete _match _prefix _list _history _expand _oldlist _ignored
    'ls *or*<TAB>'

    Expands to:

    'ls forwhomthebelltolls.mp3 homework'

    And:

    'ls *or<TAB>'

    Expands to:

    'ls forwhomthebelltolls.mp3'

    With a tab menu to select homework.

    The question is, how would you expect it to work out of the box? Granted, I do agree that doing nothing in the latter case is not correct.
  10. Re:No it doesn't? on From Bash To Z Shell · · Score: 1

    Actually, it does make some things different from how they were. For example:

    'ls *or*<TAB>'

    used to expand to the following in my home directory:

    'ls forwhomthebelltolls.mp3 homework'

    Now, it instead expands to

    'ls forwhomthebelltolls.mp3'

    And offers me a tab-list to switch between the two. So it completes globs now, but doesn't expand globs into multiple arguments (which I had gotten somewhat used to before). There's probably a way to set it up to do both, choosing as appropriate, but I'm not a guru.

  11. Re:User interfaces are important, though on Linux Can't Kill Windows · · Score: 1

    Then they can simply use whichever desktop system their Linux PC comes set up with.

    Choice eliminated.

  12. Re:No it doesn't? on From Bash To Z Shell · · Score: 1

    Try:

    setopt globcomplete

  13. Re:New ideas on From Bash To Z Shell · · Score: 1

    Hmm.. Yeah, I do believe zsh is largely sh/bash/ksh based, although it borrows from a lot of things (I'm by no means an expert in shell history, as I've only been using Linux/Unix seriously for... 3 years or so now).

    From what I've looked at of the documentation, it does have a lot of optional csh (that is what tcsh is ultimately based around, no?) derived semantics (many features have both bash and csh styled ways of accessing them). But I think it leans more heavily toward the bash/ksh end of things, so I imagine it'd be hard to adapt from tcsh, or other dissimilar shells.

    Then again, I wouldn't know, as I've never really used---let alone learned---shells other than bash and zsh. :)

  14. Re:New ideas on From Bash To Z Shell · · Score: 1

    zsh can tab-complete wildcards.

  15. Red Hat Clones Satan on Randomly Generated Paper Accepted to Conference · · Score: 1

    Posted by brian on Wed April 13, 10:34 PM
    from the have fun hitting reload page dept.


    Apparently one Satan wasn't enough for Red Hat. In an article published in this month's Cloning magazine. Red Hat was worried that KDE might clone Satan first and then patent the proces, so their researchers have been working around the clock to be first. Fortunately for the world, Red Hat has promised to release to the public the technology that they used. So if you think you're seeing Satan everywhere you probably are.

  16. Re:On a similar note... on Randomly Generated Paper Accepted to Conference · · Score: 1

    "Bruce Perens Denies Relationship With Crazy Squirrel"

    "Ask Slashdot: How Do I Reanimate Hitler?"

    "Books: Hypnotizing Squirrels And Java Programming: A Symbiosis"

  17. Re:My epiphany... on Intel Ships Dual-Core Chips · · Score: 1

    Nonsense. The way you take advantage of SMP/SMT is by splitting your task over multiple threads/processes. In some cases this makes the problem harder, and in some cases it makes it easier.

    Single CPU machines are perfectly capable of running multiple processes/threads. Even dual CPU systems will have far more processes/threads than it has processors, and it still has to allot time for each to 'fake' the concurrency.

    There's absolutely no reason that a program that 'embraces' SMP couldn't run on a single CPU machine.

  18. Re:Family Pack Still Exists on Apple Announces Tiger Release Date · · Score: 1
    The post you're replying to was commenting on the math used. The real money you save is:
    130x2 - 200 = $60 for two copies, not $70
    130x3 - 200 = $190 for three copies, not $200
    130x4 - 200 = $320 for four copies, not $330
    130x5 - 200 = $450 for five copies, not $500
    This has nothing to do with consumer honesty.
  19. Re:Why not OS X? on Free Software on a Cheap Computer · · Score: 1

    Are you speaking about the quality of Firefox on OS X? Does that translate directly to the quality of Firefox on Linux?

    Also, many people enjoy the many extensions that extend the functionality of Firefox. Does Safari have a comparable range of free extensions?

  20. Re:A question... on Shortcomings Revealed in nForce4 SLI Redux · · Score: 1, Funny

    Or is he just an Intel fanboy?

    Congratulations, you just earned your cookie for today. :)

  21. Re:Screw em shut it down. on UN Wants To Regulate Internet · · Score: 1

    No, no black helicopters.

    It's going to be Wesley Snipes.

  22. Re:GCJ- Linux app packaging on Java Fallout: OO.o 2.0 and the FOSS Community · · Score: 1

    This may be true on OS X, but it isn't the case on Linux. There are lots of packages installed on my system that contain nothing but libraries that are used by other packages. Many open source projects are nothing but libraries that several other applications build on. Statically linking against many of them could cause headaches later.

    For example, a month or two ago I seem to remember several exploits being discovered in xpdf. Instead of just reinstalling xpdf, I had to also reinstall kpdf (which is what I actually use), and any other pdf viewers I had installed, because xpdf cannot be dynamically linked into the other viewers.

    Open source software typically makes a lot of use of many small libraries across many applications. I suppose the viability of an OS X approach depends on how you define the "core" libraries, but how exactly do you do that on Linux? Is GTK a core library? What if I'm running a KDE based system?

    In other words, I have no doubt that the OS X packaging system works well on OS X, but I'm skeptical that it would be equally viable on Linux. I'm not sure that your average "Apple does this, so let's copycat it with Linux," advocate (I'm not saying you are one) has thought things through in that regard.

  23. Re:Gentoo users need to do more on Gentoo 2005.0 Released · · Score: 2, Funny

    Sorry. I didn't mean to interrupt your masturbation.

    Your joke was very funny. You should be a stand-up comedian.

  24. Re:fragmented fs on Gentoo 2005.0 Released · · Score: 3, Insightful

    1.) So, where's your Gnome 2.10 then? Before anybody mentions ~x86, that's no different from unstable on Debian or just installing the package yourself on any other distro.

    I doubt that it's easier to track down packages outside of a repository---in addition to any dependencies they may have---than it is to unmask the ~x86 Gnome builds in Gentoo and have dependencies resolved for you.

    I don't know anything about Debian, so I can't comment on it. Is it possible to install only Gnome 2.10 from unstable, and have everything else from stabe/testing (I assume it is, but I thought I'd ask)?

    2.) There are sometimes configuration issues with Gentoo; they are mentioned elsewhere in this discussion.

    There are sometimes configuration issues with Mac OS X, and every other large software system on earth.

    For instance, etc-update absolutely sucks and the Gentoo devs refuse to replace it with better solutions that have already been offered.

    Portage has come with dispatch-conf for a while now, although it requires some setting up, so it's probably less used/advertised than etc-update.

    3.) Gentoo's packaging system sometimes creates versioning conflicts. I've personally had to fix a broken system twice. Check the Gentoo forums for all the other issues users sometimes have.

    Yes, sometimes there are version conflicts in Portage, just as there in every operating system. Perhaps the grandparent was saying that in his experience, there are fewer version conflicts than with other systems he's used. Or that he hasn't encountered any, even though some obviously exist at times, since anything else is nearly impossible. Sometimes people use hyperbole in everyday situations, and not everything they say is meant to be taken exactly literally.

    compilation is so overrated

    This is true.

    and provides no benefits.

    This is untrue. I quite enjoy my ability to install mplayer without installing directfb, gtk 1.2, esound, JACK, and other things I'll never use, while other people have an easy way to install mplayer so that it can make use of all those things.

    Ubuntu is nice, and maybe when I buy my next computer, I'll use it (or, Kubuntu, rather) instead of Gentoo. However, Gentoo does have advantages over Ubuntu (and vice versa) depending on who you are.

  25. Re:Gentoo users need to do more on Gentoo 2005.0 Released · · Score: 1

    I have no fucking clue what you just meant.

    I'm not sure he does, either.

    And you wonder why people in Windows world stay happy with their lot!

    Because, clearly, Gentoo is the only Linux distribution and therefore the only alternative to Windows is a distribution largely oriented towards enthusiasts and tweakers. Brilliant logic.