News for hackers. Stuff that matters.
Re:If I were to invent a programming language for the 21st c... by jorams on Saturday November 17, 2018 @04:34PM (#18477509)
> The INCITS 226–1994 standard consists of 1153 pages. This was only beaten by C++ ISO/IEC 14882:2011 standard with 1338 pages some 17 years after. C++ has to drag a bag of heritage though, it was not always that big. Common Lisp was created huge from the scratch.

This is a surprisingly incorrect remark, given that the author is apparently fairly well aware of programming language history. Common Lisp is a relatively successful attempt to standardize and bring together a lot of different Lisp varieties that evolved over decades.

Re:If I were to invent a programming language for the 21st c... by tonic-music on Saturday November 17, 2018 @05:25PM (#18477677)
Indeed. The original description of Lisp included something like 10 primitives. That's it. Numerous examples of full-blown Lisps have been built from just those few primitives. One article I read even showed how arithmetic can be built from car and cdr.
Re:If I were to invent a programming language for the 21st c... by kazinator on Sunday November 18, 2018 @03:37AM (#18479407)
But those full-blown Lisps have to have that full-blowness documented. It can't just be "here is the documentation for the ten primitives we used; to understand everything else, read the source".

It would be a bad doc if for every feature, it rambled on the details about how that feature is constructed out of the ten primitives, rather that specifying the relevant requirements for that feature.

Re:If I were to invent a programming language for the 21st c... by colejohnson66 on Saturday November 17, 2018 @10:36PM (#18478747)
Source? I’d love to read more about this
Re:If I were to invent a programming language for the 21st c... by kungtotte on Sunday November 18, 2018 @08:13AM (#18480202)
http://languagelog.ldc.upenn.edu/myl/llog/jmc.pdf The Roots of Lisp by Paul Graham.
Re:If I were to invent a programming language for the 21st c... by AnaniasAnanas on Saturday November 17, 2018 @11:21PM (#18478866)
Not car and cdr but close enough https://en.wikipedia.org/wiki/Church_encoding
Re:If I were to invent a programming language for the 21st c... by Someone on Sunday November 18, 2018 @02:44AM (#18479306)
Also, cons, car, and cdr need not be primitives. They can be built out of lambdas. In Scheme:

  (define (cons x y)
    (lambda (m) (m x y)))

  (define (car z)
    (z (lambda (p q) p)))

  (define (cdr z)
    (z (lambda (p q) q)))
(From https://mitpress.mit.edu/sites/default/files/sicp/full-text/..., exercise 2.4)
Re:If I were to invent a programming language for the 21st c... by kazinator on Sunday November 18, 2018 @03:41AM (#18479419)
Sure. Now to implement consp, all you need is a global list which tracks all lambdas that came from the cons function; if the argument object is eq to anything on that list, then it is a cons! We also now need another primitive: weak pointers. We don't want our global list to prevent otherwise unreferenced cells from being reclaimed.

typecase is going to be fun to develop and optimize, with everything being a lambda.

Re:If I were to invent a programming language for the 21st c... by kazinator on Sunday November 18, 2018 @03:36AM (#18479406)
Over less than a decade, I, one person, made a smallish Lisp dialect and documented it with a terse reference manual that doesn't repeat itself or pontificate all that much. It's formatted as one giant man page. If we render it to PDF, it's around 650 pages, with no table of contents or index. I am not a committee; I have no historic baggage from multiple base dialects. Shit that just popped into my head over a small span of time adds up to 650 pages already.
Re:If I were to invent a programming language for the 21st c... by mattnewport on Sunday November 18, 2018 @08:08AM (#18480185)
It's also surprisingly incorrect about C++ given that he goes on to say "A programming language should not be that huge. Not at all. It’s just that it should have a decent standard library filled with all the goodies so people wouldn't have to reinvent them."

The 1338 pages of the C++11 standard is more than 2/3rds about the standard library. Only around the first 400 are about the core language.