Live data from Hacker News

Ooh Ooh My Turn Why Lisp? (2008)

smuglispweeny.blogspot.com

121–130 of 160 posts

Re: Ooh Ooh My Turn Why Lisp? (2008)

#121

I'm of the opinion that there is only one lisp right now with some serious potential to dominate in the future, and that is Racket. Why? For one very simple reason: unlike all other lisps, there is serious, ongoing, and lengthy research into correctly bringing a static type-checking process to the language. Clojure's core.typed doesn't count here, as it is full of significant holes that invalidate its entire point --…

It might be good to point out to you that the general industry cares very little about things like this. Racket could have literally the most advanced and robust type system out of all programming languages in existence, and still be used by the same amount of people as today and have a hard time convincing anyone else to use it. What makes a language popular from what I have seen are libraries, frameworks, and commu…

The general industry is in fact starting to care about static typing; I've seen it happening lately. The last batch of hot languages included a lot of untyped languages like Python, Ruby, and JS. But the latest batch of rising star languages are typed, eg Go, Rust, Scala. And C/C++, C#, and Java are still all going strong.

People are no longer buying the myth that the benefits of static typing can only be gained at the expense of heaps of boilerplate. The gospel is slowly spreading.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#122
post #62
post #18

"The question is where will we be in five years, the answer is using Common Lisp, because of language features" says the author in the comments. This was 8 years ago. Kind of rude of me to take that potshot, but it's there. I've been reading these "Why Lisp?" Arguments for years and yet it still remains pretty niche. The longer this goes on the more I am unable tell Lisp advocates apart from Perl advocates. They both…

Well, I'm still using Common Lisp. If there was anything better, I'd have probably switched.

Curious, what are you using it for? Would you say it is well suited for writing operating system helper tools (working with files, pipes, kernel api, calling other programs)? I like bash expressiveness a lot but sometimes I feel I could use a more powerful scripting language.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#123
post #85

Earlier quoted context omitted.

What makes the Racket model more correct than the system based in Sequent Calculus [1] provided by Shen? [1] - http://www.shenlanguage.org/learn-shen/types/types_sequent_c...

This is the first I've heard of Shen, so I can't say. However the Racket engineers, particularly Matthias Felleisen, are doing cutting-edge research into types. Typing is not a solved problem, because if it was, there wouldn't be a static vs dynamic type debate that lingers ad nauseum. Racket is in an interesting sweet spot for typing research because it is a traditional lisp with dynamic types, to which gradual typi…

"Typing is not a solved problem, because if it was, there wouldn't be a static vs dynamic type debate that lingers ad nauseum." Could you clarify? Surely even if typing was completely solved, we would still have debates of that kind, because there are benefits to both approaches and there will always be people preferring one or another.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#124
post #18

"The question is where will we be in five years, the answer is using Common Lisp, because of language features" says the author in the comments. This was 8 years ago. Kind of rude of me to take that potshot, but it's there. I've been reading these "Why Lisp?" Arguments for years and yet it still remains pretty niche. The longer this goes on the more I am unable tell Lisp advocates apart from Perl advocates. They both…

Clojure got reasonably popular around that time.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#125
post #91
post #77

Earlier quoted context omitted.

Emacs's been shipping for three decades. It's the eldest of the living open source software.

Compared to bsd userland?

Well if current BSDs are counted as direct continuations thereof (instead of descendants), maybe it's older. But Emacs directly continues since day one.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#126

For UI application programming You can do without FP language features. Hell, you can even do without smart pointers checked arrays or GC. But you cannot do without a decent desktop or web development experience. I got involved with pretty large desktop applications written in delphi. The design-time, the debugger, native compilation without having to install some msvc runtime, deriving and combining visual component…

Funny, the hottest new thing in UI (React/Redux) loves to be functional.

For what it's worth, nothing matches the Delphi experience, not even today so I don't imagine CL would be any better. I worked for the Delphi guys for a bit and their maniacal focus on the end user is something that few development environments can claim as a philosophy.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#127

For UI application programming You can do without FP language features. Hell, you can even do without smart pointers checked arrays or GC. But you cannot do without a decent desktop or web development experience. I got involved with pretty large desktop applications written in delphi. The design-time, the debugger, native compilation without having to install some msvc runtime, deriving and combining visual component…

> For UI application programming You can do without FP language features. Wow, do I ever disagree with you on this. The absolute best UI development process I've ever had -- super easy, fun, fast, painless -- was using Clojurescript's Om, which is functional to the core. Doing anything else, like going back to the polished UI API's of Apple still feels arcane by comparison.

You should never use CLJS because then you'll hate going back to JS.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#128
post #122
post #62

Earlier quoted context omitted.

Well, I'm still using Common Lisp. If there was anything better, I'd have probably switched.

Curious, what are you using it for? Would you say it is well suited for writing operating system helper tools (working with files, pipes, kernel api, calling other programs)? I like bash expressiveness a lot but sometimes I feel I could use a more powerful scripting language.

I just discovered Turtle yesterday, a library for Haskell. Obviously I haven't used it much in that time, but superficially it looks amazing.

See http://hackage.haskell.org/package/turtle-1.0.0/docs/Turtle-... and http://www.haskellforall.com/2015/01/use-haskell-for-shell-s...

Here's an example:

  #!/usr/bin/env runhaskell

  {-# LANGUAGE OverloadedStrings #-}

  import Turtle

  main = do
      cd "/tmp"
      mkdir "test"
      output "test/foo" "Hello, world!"  -- Write "Hello, world!" to "test/foo"
      stdout (input "test/foo")          -- Stream "test/foo" to stdout
      rm "test/foo"
      rmdir "test"
      sleep 1
      die "Urk!"

Haskell is strongly typed: the first argument of `output` is a `FilePath`; the second is a `Text`. In some respects, strongly typed is the opposite of power tho, because there's all these things you can do, like accidentally (or deliberately) pass a Text to a function expected a FilePath without translating it first.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#129
post #122

Earlier quoted context omitted.

Curious, what are you using it for? Would you say it is well suited for writing operating system helper tools (working with files, pipes, kernel api, calling other programs)? I like bash expressiveness a lot but sometimes I feel I could use a more powerful scripting language.

I just discovered Turtle yesterday, a library for Haskell. Obviously I haven't used it much in that time, but superficially it looks amazing. See http://hackage.haskell.org/package/turtle-1.0.0/docs/Turtle-... and http://www.haskellforall.com/2015/01/use-haskell-for-shell-s... Here's an example: #!/usr/bin/env runhaskell {-# LANGUAGE OverloadedStrings #-} import Turtle main = do cd "/tmp" mkdir "test" output "test/fo…

I think the real magic here is you can drop down (fly up?) to writing Haskell code alongside this bash like DSL and have sane flow control.

Re: Ooh Ooh My Turn Why Lisp? (2008)

#130
post #127

Earlier quoted context omitted.

> For UI application programming You can do without FP language features. Wow, do I ever disagree with you on this. The absolute best UI development process I've ever had -- super easy, fun, fast, painless -- was using Clojurescript's Om, which is functional to the core. Doing anything else, like going back to the polished UI API's of Apple still feels arcane by comparison.

You should never use CLJS because then you'll hate going back to JS.

Strange comment. That's like saying "never use C++ because then you'll hate going back to C" or "never use an automobile because then you'll hate riding horses."
Post reply on HN