Slashdot Mirror


LispM Source Released Under 'BSD Like' License

mschaef writes "Announced on Bill Clementson's Blog, Brad Parker has stated that he has 'permission from MIT to release all the LISPM source code with a "BSD like" source license.'" Zach Beane has also set up a torrent for easy download.

21 of 336 comments (clear)

  1. BSD like license? by Anonymous Coward · · Score: 5, Funny

    Is that anything like a death certificate?

  2. Lisp? by cdn2k1 · · Score: 5, Funny

    Does that mean we have to pronounce it as

    Bee - Ethh - Dee?

  3. Let's be orderly now by Minwee · · Score: 4, Funny
    Okay, you know the drill. A new story has been released and you're all aching to comment on it without reading the article, so let's get going.

    All "What is LISPM?" comments over on the right.

    "This proves BSD is dying" comments on the left.

    Wordplay that desperately wants to be clever, like "I guess that makes it a 'Bee Eth Dee Licenth'" comments go there by the door.

    If you have read the article, know the history of Brad Parker, LISPM and their involvement in the Church of the Flying Spaghetti Monster, and have something intelligent to say, then we don't want your kind around here. Slashdot has standards to maintain, you know.

  4. Re:This is News? by Gordonjcp · · Score: 5, Funny

    The permissioned release of 25 year old code is /. news now? This code is worthless IMO

    Just like your opinion. Now get back to work, those burgers won't flip themselves!

  5. Argh! by Brent+Spiner · · Score: 5, Funny

    I don't know, does anyone still program in LISP (I'm sure some people do (personally I could never get used to its syntax (although I never really tried that hard (I did use it with Autocad (one of the really old DOS versions) for a while))))?

    --
    Reality test... am I dreaming?
    1. Re:Argh! by DeafByBeheading · · Score: 5, Informative

      Does this count? Or this? Lisp is a very powerful language. Paren matching is rendered trivial with any decent editor. The syntax is actually quite nice and clean once you get used to it. I wouldn't use it for everything, and it does have some core ugliness (hey, so does C++), but it has an undeservedly bad reputation.

      --
      Telltale Games: Bone, Sam and Max
    2. Re:Argh! by sickofthisshit · · Score: 4, Informative

      However, [Python] does have a lot of the features that many of us liked about Lisp,

      The comparison is a bit complicated.

      From the starting point of, say, C++, Python has a lot of the same kind of appeal that Common Lisp does, and for many of the same reasons. In philosophy, however, the Pythonistas and the Lispniks seem to have much to disagree about.

      For instance, it seems (from the noises I hear over in Lisp forums), that Guido actively works to eliminate Lisp-isms in favor of his own "clearer" syntax. Whereas the Common Lisp folks tend to keep stuff around *forever*, and if someone invents a clearer replacement, they migrate to it, but nobody cares much that the old stuff is left behind. However, Schemers like the "one elegant way instead of three different ways". Whether you consider Scheme to be a Lisp or not is a great way to start a flame war.

      Where this matters most is in Lisp macros. (For the nth time, these have nothing to do with C preprocessor macros, rather, they let you implement language extensions using the full power of the language, and with seamless integration to the original language and other extensions). Lispniks would never give those up. Pythonistas seem to not understand what the big deal about macros is. Schemers don't like macros because it is possible to write buggy macros, and want their own elegant, bulletproof mechanisms to define language extensions. This is yet another great way to start flame wars.

    3. Re:Argh! by be-fan · · Score: 4, Insightful

      The whole point of macro is readability! Reading Lisp code with a well-chosen set of macros is like reading code written in a language precisely-designed for the problem you're trying to solve. It keeps the boiler-plate and the implementation details from interfering with the expression of the core algorithms.

      --
      A deep unwavering belief is a sure sign you're missing something...
  6. But I thought... by pmike_bauer · · Score: 5, Interesting
    • Tar file of the tape images, extracted files and extract software, 71Mbytes

    This software was written in the 80s. Back then, all the programmers were supposed to have supernatural abilities and could, like, fit an entire operating system in 640K! What is this??!!! A modern JVM download is only 15MB.
    --
    I read /. for the (Score:-1, Conservative) comments.
    1. Re:But I thought... by Anonymous Coward · · Score: 5, Funny

      This distro is JPEGs of the 80-column cards.

  7. Nice... by lpangelrob · · Score: 4, Interesting
    ...they found it on 9-track tapes in the basement. Excellent.

    Does that make this the oldest software to be released under an "open-sourceish" license?

    1. Re:Nice... by mccalli · · Score: 4, Funny
      ...they found it on 9-track tapes in the basement.

      ....with a sign on the door saying "Beware of the Leopard".

      Cheers,
      Ian

  8. Somebody had to say it... by Anonymous Coward · · Score: 4, Funny

    (This(truly(is(great news))))

  9. Re:cdr cdr car? by RAMMS+EIN · · Score: 4, Funny

    Yeah! This clearly shows that C is superior! At least in C you have superfluous parentheses, semicolons, commas, ...

    --
    Please correct me if I got my facts wrong.
  10. There's some duplication. by CyricZ · · Score: 4, Informative

    There are the original TPC tape images included, and then those same images in SIMH format. Then there's an archive of the extracted files, and the archive is also extracted.

    --
    Cyric Zndovzny at your service.
  11. Richard Stallman and the Lisp Machine by mschaef · · Score: 4, Interesting

    This was in the body of the story, but maybe it's more appropriate elsewhere. One of the more interesting links in the blog posts about this source code release was a transcript of a speech by RMS on how the Lisp Machine influenced his decision to start the free software movement. Interesting reading.

  12. Re:Great News! by Abcd1234 · · Score: 4, Interesting

    Sounds like Squeak to me.

  13. Re:cdr cdr car? by be-fan · · Score: 4, Informative

    Here here! I find it incredible to see that C/Java people bitch about "superflous" punctuation. Compare this:

    (defun square (x) (* x x))    ; 6 punctuation marks

    To C:

    double square(double x) {return x * x;}    // 5 punctuation marks

    To C++:

    template <typename T>
    T square(T x) {return x * x;}    // 7 punctuation marks

    To Java:

    public class Square
    {
        public double operate(double x) {return x * x;}
    };        // 7 punctuation marks

    Compare this:

    (if (something)           ; 8 punctuation marks
        (do-this)
        (do-that))

    To C/C++/Java:

    if(something())            // 10 punctuation marks (11 if you count the 'else')
        do_this();
    else
        do_that();

    Compare this:

    (do-something to-this with-that in-there)       ; 2 punctuation marks

    To C/C++/Java:

    do_something(to-this, with-that, in-there)      // 4 punctuation marks

    The only reason it seems like there are so many parentheses in Lisp is because of LET and because Lisp uses just a single type of punctuation while C/C++/Java use all sorts of different punctuation. With a good editor, the parentheses don't even matter, all you see is the indented structure!

    --
    A deep unwavering belief is a sure sign you're missing something...
  14. LispM had a superiour hardware model by Anonymous Coward · · Score: 4, Insightful
    The Lisp Machine, as well as Burroughs Algol hardware, embodies some computer engineering principles that address fundamental failures in the current computing environment:

    1. Memory bounds checking in hardware.

    2. Hardware typed memory.

    3. Hardware designed for specific language implementation.

    The current problems that plague the software industry are unreliable code, vulnerabilities to malicious software and poor programmer productivity. It's embarrassing that architectures that were abandoned 20 years ago had features that address these issues.

    Memory bound checking is a complete no-brainer. When you declare a data structure you know the size. If you try to go outside that size, then something is wrong. It might be a run time bug, it might be a malicious attack. Who cares? If an exception occurs, you're going to be safer.

    Hardware typing in memory is more of the same. If you add a floating point value to an address you are in trouble, and an exception should be the result. In the Lisp world, type bits support arithmetic between various numerical representations, so there is added value beyond error checking.

    Hardware/software co-design is not quite as obvious, but it can have big payoffs. Both the Lisp machines and the Burroughs machines were incredibly reliable. They also ran very fast, as least on the tasks that fit the architecture. (Although Symbolics had a great graphics setup, they were not the fastest rendering engines.) Some of this was due to memory bounds checking and some because of typed memory, but much was because the software was designed to match the hardware and hardware was targeted as software. There are currently many examples of hardware designers building computers that are no good for software and software systems that have to make up for gaps in the hardware. Can you say Itanium?

    I know I'm really going to get flamed for this, but I think it's true: RISC is to blame for a lot of these problems. RISC attempts to optimize one thing, the instruction execution pipeline. This was fine when speed was the bottleneck, but we are now at a point where the problems are not if we can run fast enough, but can we run reliably enough?

  15. Re:Why design a new language? by sickofthisshit · · Score: 4, Interesting

    I didn't miss your point.

    Passing around functions is something Lisp is perfectly capable of doing. (And without any performance hit, because our anonymous functions are compiled to machine code just like our named functions.) But--guess what?--we don't use it to implement control structures, even though we could. One quickly finds that the function-passing style is LESS readable and LESS convenient than real Lisp macros.

    You plainly misrepresent Lisp macros if you claim they are about moving basic operations to read-time instead of run-time. They implement program *transformations* that BY DEFINITION must occur at code-reading time (but before compile-time). By the time the program actually runs, it is too late to rewrite it, after all.

  16. Comment removed by account_deleted · · Score: 4, Interesting

    Comment removed based on user account deletion