Earlier quoted context omitted.
The Racket-Lang site almost had it perfect: http://racket-lang.org/ The stuff above the language description should be shoved to the bottom (excluding obviously the top menu) and it would be perfect. I miss their old site because it was obvious and to the point and had examples right away.
Huh? If I exclude completely uninteresting "Racket School 2018" announcement, I have 18 words (plus some pointless images) on the first screen. Oh, apparently I'm supposed to hover over the images to see more text. Why?!
Common Lisp homepage
171–180 of 313 posts
Re: Common Lisp homepage
#172(mapcar #'string-downcase (list "Hello" "world!")) This is a great example of why I don't want to use Common Lisp. Compare with Python: [word.lower() for word in ("Hello", "world!")] Beating Node and Ruby in terms of speed is also a big non-argument, with so many attractive programming languages to choose from that are both fast and good looking.
Re: Common Lisp homepage
#173(mapcar #'string-downcase (list "Hello" "world!")) This is a great example of why I don't want to use Common Lisp. Compare with Python: [word.lower() for word in ("Hello", "world!")] Beating Node and Ruby in terms of speed is also a big non-argument, with so many attractive programming languages to choose from that are both fast and good looking.
It beats the majority of programming languages for speed, except for languages known for ultimate speed like C, C++, Rust, Forth, Chapel, and Ada.
This is because Lisp is both high-level and low-level at the same time. This sorcery is possible because of homoiconicity and metaprogramming.
Re: Common Lisp homepage
#174I know the article is about Common Lisp, but I have a question about Racket, Typed Racket specifically. Can anyone say if types and Lisp play well together? Are there any success stories?
You might like to look at Shen: http://www.shenlanguage.org/
Re: Common Lisp homepage
#175Earlier quoted context omitted.
I'd say several reasons: 1.) a lot of folks have trouble with the abstactness 2.) a lot of folks think C syntax is how all languages should be 3.) the lisp ecosystem is fractured into too many lisps like SBCL, Clojure, Racket, Allegro, Franz, Picolisp, ABCL, Shen...etc, so some confusion amongst those that are new 4.) poor windows support for SBCL...it literally tells you it is experimental if I recall correctly. Set…
>3.) the lisp ecosystem is fractured into too many lisps like SBCL, Clojure, Racket, Allegro, Franz, Picolisp, ABCL, Shen...etc, so some confusion amongst those that are new You are mixing things into that list. Common Lisp, Racket, Clojure, and Shen are different languages, serving different purposes, etc. "Franz", "Allegro", "ABCL", "SBCL" are implementations of Common Lisp, exactly the same language. ALGOL-family…
ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money.
Practical Common Lisp isn't very good in my opinion, that was the example i actually used. SICP is great for a mind-opening experience, but not super useful on how to write modern software and is why the creators dropped it at MIT.
For multi-core I'd rather it be core than a library, but perhaps that is petty of me.
I think Lisp is great, but why it isn't popular shouldn't be a mystery to anyone.
Re: Common Lisp homepage
#176Earlier quoted context omitted.
Yeah, when I wrote the comment, I kinda guessed that people would point out the zombie-like state of living for these languages. That's only barely being alive, though, and very much faded. (I did have C in there but edited it out. I don't think that's a dead language yet.)
But isn't Lisp almost as zombie-like as Perl or COBOL? (4GL I'll probably give you...)
Re: Common Lisp homepage
#177Earlier quoted context omitted.
Your guess was wrong; there is no such hard time. There is no difficulty in precisely mapping data from the "real world" onto Lisp data structures, in both directions. If it doesn't have nil that is also false and the empty list, it is not a Lisp. The conflation is a stroke of genius. I was immediately attracted to Lisp because of its clever handling of lists and booleans. Also how nil is a symbol, but () means the s…
> If it doesn't have nil that is also false and the empty list, it is not a Lisp. Scheme is generally considered a Lisp.
Not by me. I'm a skilled Lisp programmer, yet Scheme isn't usable to me a the rudimentary coding level using the core language. There are stumbling blocks at every turn against straightforward Lisp coding. How can it be a Lisp?
I can't even rely on Scheme to evaluate the function arguments left to right. Many forms have an "undefined" return value; in Lisp, everything returns a defined value, as a fundamental tenet! Remember Alan Perlis: "Lisp programmers know the value of everything, but the cost of nothing." Well, Scheme programmers do not in fact know the value of everything; it is often undefined! Might Scheme not be a dialect of C, in fact? The expression f(i++, i++) is directly translatable from C to Scheme, undefinedness of behavior intact!
"Lisp" has to do with the little design details, not superficial resemblance.
Calling every language with parentheses a Lisp is like calling every web browser "Netscape". Chrome is Google Netscape, Firefox is Mozilla Netscape; Explorer is Microsoft Netscape. How can they all not be "Netscape"? They run Javascript, process HTML and CSS, fetch URLs and render content.
Also, MS-DOS and Windows are Unix! Proof: their filesystem design has a directory structure in which "." means this directory and ".." means parent. There is a "cd" command in the command interpreter, and slash is accepted as a path separator such that the leading slash indicates an absolute path. Piping between processes is done with |. Gee, how can DOS and Windows not be Unix?
Superficial resemblances mean that we can dilute any name we want, as thinly as we want, to the point that it means nothing.
Re: Common Lisp homepage
#178Earlier quoted context omitted.
>3.) the lisp ecosystem is fractured into too many lisps like SBCL, Clojure, Racket, Allegro, Franz, Picolisp, ABCL, Shen...etc, so some confusion amongst those that are new You are mixing things into that list. Common Lisp, Racket, Clojure, and Shen are different languages, serving different purposes, etc. "Franz", "Allegro", "ABCL", "SBCL" are implementations of Common Lisp, exactly the same language. ALGOL-family…
You quoted two companies using Lisp when there are millions of Java devs. That's like a boxer with a record of 1-500. I love Lisp, but c'mon...I guarantee it has far more hobby users than professional users. ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money. Practical Common Lis…
So what? I was a Java dev myself. What does this mean?
There are even more millions of Javascript users. What does this mean, really?
>ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money.
Fear, Uncertainty and Doubt.
They all implement ANSI Common Lisp.
Right now i'm doing a project (not personal, it is for a company) and it runs on SBCL and CCL without any change. It would probably also run on ABCL straight away. It uses software transactional memory, bridges to C libraries and other stuff that isn't on the ANSI standard, yet it can also be written, very easily, in a portable way.
So, what you write is FUD.
>and several cost money.
More FUD. From your list, only Allegro CL (= Franz) costs money.
>Practical Common Lisp isn't very good in my opinion, that was the example i actually used. SICP is great for a mind-opening experience, but not super useful on how to write modern software and is why the creators dropped it at MIT.
SICP is not for writing modern software, is for understanding fundamentals. If you develop without having a solid grasp of the fundamentals, you become a "CODE MONKEY" (caps intentional), and this is what MIT is in danger of producing now (i'm not the only one to criticize the MIT for dropping SICP...)
Re: Common Lisp homepage
#179Earlier quoted context omitted.
I'd say several reasons: 1.) a lot of folks have trouble with the abstactness 2.) a lot of folks think C syntax is how all languages should be 3.) the lisp ecosystem is fractured into too many lisps like SBCL, Clojure, Racket, Allegro, Franz, Picolisp, ABCL, Shen...etc, so some confusion amongst those that are new 4.) poor windows support for SBCL...it literally tells you it is experimental if I recall correctly. Set…
> building an mp3 database would be one line of code or two in python You mean because of the availability of libraries, so that the code would be something like import some_database_library print("Look, I have a database:", some_database_library.connect()) ? Otherwise, how do you build a database (or anything involving MP3 files) in a few lines of Python, and how is it so much worse in Lisp?
Re: Common Lisp homepage
#180Earlier quoted context omitted.
Pascal, perl, ASP, every ML, Fortran, Cobol, Eiffel, Modula, all "4GL" languages.
Fortran is still going strong with Fortran 2008. And even better, it’s backwards compatible still with Fortran 77.
Fortran 2008 is VERY different from FORTRAN 77.