Hacker News new | past | comments | ask | show | jobs | submit login

> just like there are evangelists for Lisp ... or Perl 6

Please note that Perl 6 has been renamed to Raku (https://raku.org using the #rakulang tag on social media).


It looks like your account is using HN only for one thing. We don't really allow single-purpose accounts here, because that conflicts with the site value of intellectual curiosity: https://news.ycombinator.com/newsguidelines.html. We want people to submit stories and post comments on topics that they ran across and personally found intellectually interesting, not because they have something to promote. When an account is only submitting and commenting promotionally, the community really doesn't like it and we usually end up banning it.

On the other hand, it's ok to post your own stuff as part of a diverse mix of stories and comments that are about nothing in particular but just gratify intellectual curiosity. Then you'll be participating in HN as a community member and the community will see your account that way. It's particularly good if you submit stories on weird or out-of-the-way topics that rarely or never get attention. Those are the best!

My apologies for reacting this late: the holidays had me not looking as precisely at my feeds as normal.

Sorry if I seem to be just doing PR. I'm doing a lot more than that. I'm one of the core developers of Raku (née Perl 6). And I publish the Rakudo Weekly blog (https://rakudoweekly.blog )

FWIW, I do think I'm adding material to HN that is interesting to at least some visitors of HN, especially the ones interested in programming, with an emphasis on Raku. The reason I'm triggered by "Perl 6" is that I think it is important that visitors of HN know that it is no longer called that. Once everybody is using Raku instead of Perl 6, there won't be any of these comments.

Whenever there's a new issue of the Rakudo Weekly, I post this on HN. Are you saying that that is not of interest of HN visitors?

I'd therefore like to know what point of the guidelines I'm exactly in violation of.

I'm also curious about the "no single-purpose accounts" guideline because I can't find that in the guidelines you have linked to. Have I overlooked something? I sounds like you might be referring to this:

> Don't solicit upvotes, comments, or submissions. Users should do those things when they run across something they personally find interesting, not because someone has content to promote.

But there was no submission solicitation here. If that's what you're referring to, perhaps this could be reworded to clarify?

While I see your point, I'll add that there is no language called "Lisp", or rather, that language stopped in the 1960s while other Lisp dialects developed. "Lisp evangelist" is instead applied to the wider set of Lisp-like languages.

As a point of pedantry, should Perl 6 (the programming language of 4 months ago) be considered a Raku dialect?

Or vice versa?

I would argue that Rakudo used to implement a Perl 6 dialect, and that it now implements a Raku dialect. Perl 6 and Raku share just about everything, except the name :-)

C, Objective C, C++, Java, and C# are part of a family of related languages. These may be referred to as "C-like" languages.

The C-like languages, plus Pascal, Ada, and others, are part of the Algol superfamily of languages.

"Family" and "superfamily" aren't well defined, in the way that it is for biological taxonomy, but I think it's intuitively clear enough for this discussion.

The Python family includes the various CPython language implementations, plus JPython/Jython, Iron Python, and PyPy, as well as wider-away dialects like Cython. At some point it's part of the Python superfamily.

What's the name for the family of languages which includes Perl 6 and Raku?

I think "Perl-like" includes Perl 4, 5, and 6, Raku, as well as (further away), Ruby.

I think Perl 6 and Raku are parts of the Perl 6 family, following the usual tradition of naming language families after the first instance in that family. (It isn't always that, see https://wiki.c2.com/?WirthLanguages ).

What would you suggest as the family name for Raku and Perl 6 which excludes the more distant members of the family, like Perl 5?

Delphi is an Object Pascal, for example.

Wall-inspired Languages?

> that language stopped in the 1960s while other Lisp dialects

Lisp has seen direct lineage from the 60s until today with lots of backwards compatibility.

Sure, but name one widely-used one since the 1960s where the implementation is referred to, simply, "Lisp".

"Lisp" refers to a family of languages, not a specific implementation.

Similarly, the term "Lisp evangelist" probably does not mean someone who only promotes Scheme, or only Clojure, or some other specific Lisp dialect.

Someone who promotes Scheme or Clojure is not a Lisp evangelist, since these aren't Lisps.

Among other things, they don't have syntax made of mutable cons cells, terminated by the symbol nil, which is also self-evaluating and serves as (the only) Boolean false.

I defer to your deeper knowledge and experience.

Most users of Emacs Lisp, and similar languages talk of just "Lisp". Implementations tend of have Lisp in their name. Books, too. If the language/implementation does not have Lisp in their name, it usually signals that this language is not (or no longer) backwards compatible and a new derived dialect: Logo, ML, Scheme, Dylan, ...

There are basically almost no languages with single implementations. C has many. Python has many. Ruby has several, Scheme has dozens, Logo has probably a hundred, Clojure has several, ...

We have a clear view of what C means: the language even has standards. C then has a lot of derived languages: Objective C, C++, and a bunch of others. Still I would think that there are many implementations/languages which are very near to C, but don't implement the full ISO C standard or can differ from it in various ways (-> Dialects).

Similar for Lisp. There are basically two standards for Lisp: ANSI Common Lisp (with >30 implementations - full or subsets) and ISO Lisp (called ISLisp). There are also a few (often) historical variants of Lisp: Emacs Lisp, AutoLisp / Visual Lisp, Standard Lisp, Interlisp, LeLisp, ZetaLisp, ... These languages have a core, which is more or less compatible to / derived from Lisp I.

See for example the Lisp dialects mentioned in 'History of Lisp': http://www.softwarepreservation.org/projects/LISP/ These are the historic core of Lisp.

There is a tendency to speak of a wider 'Family of Lisp' - but if you look closely, then languages like JavaScript/ECMAScript tend to be a part of that 'Family' - which makes it more or less meaningless. I tend to avoid that, because it does not set the expectations for practical usage right: JavaScript is practically not compatible, though it shares some features with Lisp: functions, anonymous functions, symbols, garbage collection, data syntax, evaluation, interactive use, ...

Similar: Scheme is now its own language family with its own standards: RNRS Scheme, IEEE Scheme, ... and many more or less conforming implementations.

Remember, I was asking this as a lead-up to:

> As a point of pedantry, should Perl 6 (the programming language of 4 months ago) be considered a Raku dialect? Or vice versa?

My point was that "Lisp", the original implementation line, died in the 1960s. We have a bunch of implementations now in the greater Lisp family. And we call them "Lisp"s.

So, what is the greater family name which includes Perl 6 and Raku? Is it "a Perl 6"?

The "Family of Lisp" definition in the broad sense you refer to has also been used to include Python, so I know what you mean. However, I think that's excessively broad.

In https://news.ycombinator.com/item?id=21873228 I wrote '"Family" and "superfamily" aren't well defined'. I cannot offer a better definition. However, given my description that the "Perl" family may extend to include Ruby, I think my further request for a "family name for Raku and Perl 6 which excludes the more distant members of the family, like Perl 5" is understandable.

> My point was that "Lisp", the original implementation line, died in the 1960s

You said 'language'. It did not die at all. The original Lisp and the code written in it was moved through the decades. There is even Lisp code from the 60s which was moved through all the implementations / Lisp evolutions over time:

Lisp I -> a bunch of Lisp 1.5 implementations -> Lisp 1.6 / PDP-6 Lisp -> Maclisp -> Zetalisp, ...

Example: Macsyma was based on code coming from Lisp 1.5 and moved through several generations of Lisp.

I said "that language stopped in the 1960s while other Lisp dialects".

I thought it was clear that I was referring to the specific implementation which died with Lisp 1.5.

Because "Raku" refers to a specific implementation name in the Raku-like languages, of which Perl 6 is one. And the Raku evangelist seems to argue that it was incorrect to describe a Raku evangelist as "a Perl 6" evangelist.

I was drawing a parallel. If a modern Lisp system can be referred to as a Lisp, then why can't Raku be referred to as a Perl 6?

Now, I'm perfectly fine with saying this is a sociological question, and that the members of the group get to decide their name. I also think there are limits to that framework. For one, it leads to gatekeeping. If a Scheme or Clojure users says they are using a language in the Lisp family .... I think you see the issue.

There are languages that have standards and many independent implementations, and then there are languages that that have a master implementation and others that are understood to strive for compatibility with the master implementation. This is a big difference and the latter model (followed by Python, Ruby, Clojure, C#, Java, Haskell and many others) leads to much less fragmentation.

The "implementation democracy" model has benefits, but the cost seems to be high, hurting availability of libraries. The network effect is dampened.

> strive for compatibility with the master implementation

Usually the compatibility is not great and thus the lead implementation is mostly used.

> Java, Haskell

Both have standards. Java has extensive standardization.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact