Live data from Hacker News

Perchance to Scheme (2016)

hardmath123.github.io

61–70 of 82 posts

Re: Perchance to Scheme (2016)

#61

Alternatively - you can choose to program in Common Lisp - an industrial strength language that has been demonstrated in large projects like the QPX flight search engine (Google Flights). For anyone who doesn't know - a big difference that Common Lisp brings to the table is that it has separate namespaces for variables and functions. This may not sound like much but it makes it much easier to write macros (code that…

The best CL implementations unfortunately are not opensource. There is still a large use of Lispworks by many heavy CL developers. And anyone who has used it knows what they have to offer over the opensource equivalents. Support is something well worth its cost. Plus in production things tend to just work on Allegro and Lispworks. They tend to bench well for the things we need. http://ftp.linux.org.uk/~ober/report.html

Re: Perchance to Scheme (2016)

#62
post #18
post #16

Earlier quoted context omitted.

Clojure(Script) is neither a Scheme nor an implementation of Common Lisp but is a LISP dialect. LISP dialect languages are simply a group of lisp-like language not just implementations of Common Lisp. https://en.m.wikipedia.org/wiki/List_of_Lisp-family_programm...

Scheme is generally also a LISP Dialect, more so like Clojure, since it inherits many of the LISP features directly. Generally Clojure has very little in common with LISP dialects, besides some concepts. It has no linked lists, almost no functions are the same, almost no macros are the same, no special forms are the same, similar named operators often do something different, ... Think ATOM, CONS, CAR, CDR, APPEND, SE…

[deleted]

Re: Perchance to Scheme (2016)

#63
post #23

There's this new implementation called "gerbil"[1] which runs on top of gambit, is still very young but looks very promising. It's opinionated in a good way (IMHO). [1]. https://cons.io/

Looking at it, I'd call it a new language, not a Scheme implementation. Its semantics are much different from Scheme's.

Umm superficially you could say it is anything. The reality is it IS Scheme. (define (foo bar) (format "hi ~a" bar)) works just fine. As will any of the Scheme code, as it's merely syntactic sugar, (import :std/sugar) that you are confusing with a whole new language.

Re: Perchance to Scheme (2016)

#65
post #58
post #46

Earlier quoted context omitted.

> Racket equals programming fun and really is a joy to use. Academic seems to not convey the feeling one gets when using Racket. As an academic, it makes me very sad to hear these qualities, that I feel describe my work, used as the opposite of 'academic'.

I was faculty at a University and I still find the word Academic to be negative connotation and was an inaccurate statement on Racket Define - Academic 1. c: very learned but inexperienced in practical matters 1. d: based on formal study especially at an institution of higher learning 3. a: theoretical, speculative 3. b: having no practical or useful significance https://www.merriam-webster.com/dictionary/academic Co…

Academic as in, there are many places where the person[s] working on the code or feature abruptly stopped. As if they graduated and were no longer working on it.

Re: Perchance to Scheme (2016)

#66

Alternatively - you can choose to program in Common Lisp - an industrial strength language that has been demonstrated in large projects like the QPX flight search engine (Google Flights). For anyone who doesn't know - a big difference that Common Lisp brings to the table is that it has separate namespaces for variables and functions. This may not sound like much but it makes it much easier to write macros (code that…

CL success stories are growing a bit long in the tooth. Sort through the links yourself to get an idea. http://www.lispworks.com/success-stories/index.html

Re: Perchance to Scheme (2016)

#67

One important thing the author failed to mention (probably due to the publication date) is that Guile also has compiler front ends for ECMAScript and Emacs lisp (and there's a lua front end in the works). So far, Guile is my go-to scheme. https://www.gnu.org/software/guile/

And Gambit has backends for JS, Java, Ruby, Php, C and no doubt some others.

Re: Perchance to Scheme (2016)

#68
post #58

Earlier quoted context omitted.

I was faculty at a University and I still find the word Academic to be negative connotation and was an inaccurate statement on Racket Define - Academic 1. c: very learned but inexperienced in practical matters 1. d: based on formal study especially at an institution of higher learning 3. a: theoretical, speculative 3. b: having no practical or useful significance https://www.merriam-webster.com/dictionary/academic Co…

Academic as in, there are many places where the person[s] working on the code or feature abruptly stopped. As if they graduated and were no longer working on it.

That certainly isn't the case with Racket either :)

Re: Perchance to Scheme (2016)

#69

Earlier quoted context omitted.

Looking at it, I'd call it a new language, not a Scheme implementation. Its semantics are much different from Scheme's.

Umm superficially you could say it is anything. The reality is it IS Scheme. (define (foo bar) (format "hi ~a" bar)) works just fine. As will any of the Scheme code, as it's merely syntactic sugar, (import :std/sugar) that you are confusing with a whole new language.

Look at things like:

    (define lst '(4 5 6))
    (set! (car lst) 3)
    (display (car lst))

    ;; 3
That's a pretty serious semantic departure. It's at least as different from RnRS as Racket, which insists it is not Scheme.

Re: Perchance to Scheme (2016)

#70

Earlier quoted context omitted.

Umm superficially you could say it is anything. The reality is it IS Scheme. (define (foo bar) (format "hi ~a" bar)) works just fine. As will any of the Scheme code, as it's merely syntactic sugar, (import :std/sugar) that you are confusing with a whole new language.

Look at things like: (define lst '(4 5 6)) (set! (car lst) 3) (display (car lst)) ;; 3 That's a pretty serious semantic departure. It's at least as different from RnRS as Racket, which insists it is not Scheme.

There's an SRFI for generalised set! that lots of implementations (Racket, Guile, Chicken, etc) support: https://srfi.schemers.org/srfi-17/srfi-17.html
Post reply on HN