4 ms·
No, not especially. I think terminology matters, but not that much, and not compared to the more interesting aspects of NewLisp. That's why I didn't upvote Kaz.
by qwertyuiop924 10y ago
No, not especially. I think terminology matters, but not that much, and not compared to the more interesting aspects of NewLisp. That's why I didn't upvote Kaz. I'd down him, but I'm OP, so I can't.
- kazinator 10y agoNaming a project in such a way as to troll people is not a matter of "terminology". Terminology issues consist of inter-language conflicts among definitions of technical terms like "list", "scope", "variable" or "macro" and such. The proper noun that Lutz Mueller chooses to call his project is not a definition of a technical term. To me, NewLisp is uninteresting. I already know how to avoid sharing issues in memory management in C programs by mallocing a copy of everything and duplicating it; that bores me. Lots of programs in POSIX environments do that with strings: strdup everything you receive, and cheerfully free it knowing that nobody else has that pointer. NewLisp is just doing "strdup for lists". It might as well work using strings, just like the "Lisp in sed" implementation: https://github.com/shinh/sedlisp https://github.com/shinh/sedlisp . Why use objects, when pictures of objects provide a reasonable facsimile? I know how fexprs work, and they bore me also. Once you allow them, you can kiss goodbye the future prospect of having a compiler. As an implementor, if I want to introduce a new special operator in an interpreter (a decision not to take lightly), I can write it in the hosting language (such as C), and not as a fexpr. By writing such an operator, I get essentially the same development experience as if I wrote a fexpr, without inflicting harm on the language. If interpretation is a wart, then interpreted code being dispatched to interpret code is a tuft of hair growing out of wart.
- qwertyuiop924 10y ago...That depends on whether you think interpretation is a wart: if you don't need the perf, a lot of us don't. And you have no evidence that that was Lutz's intent.
- imagist 10y ago> Naming a project in such a way as to troll people is not a matter of "terminology". 1. I see no reason to NewLisp was named to troll people. It only has the effect of trolling you because you have created a subset of the English language in your head which you view as "correct" without any basis in reality. 2. In the English language, "terminology" can be applied to the names of programming languages and people will know what you're talking about. It can also be applied to things like "list", "scope", etc.; generally people use context clues to figure out what you're talking about. > To me, NewLisp is uninteresting. I already know how to avoid sharing issues in memory management in C programs by mallocing a copy of everything and duplicating it; that bores me. Thank you for sharing. I'm sure you're very knowledgeable and smart and whatnot, have a cookie. Now can we who are interested and curious about this have a conversation without you butting in, please? I'd like to know: What are the performance implications of doing ORO universally? The tradeoff seems to be that copying takes time, but it also allows you to treat everything as stack-allocated, so it saves time on heap management. What's the average case performance like? In what cases is this a good tradeoff? In which cases is this a bad tradeoff?
- qwertyuiop924 10y agoSomewhere down the original thread, somebody posted some benchmarks, IIRC. Not as helpful as I'd like, but hope it helps nonetheless.
- deleted 10y ago[deleted]
- kazinator 10y ago> Now can we who are interested and curious about this have a conversation without you butting in, please? Judging by the root post, it appears I started this thread on the subject of the trollish behavior of the NewLisp project. You can collapse it and use another one. > I see no reason to NewLisp was named to troll people. I have visited the NewLisp website a couple of times in the last 15 years or so and found trollish content. Example: https://web.archive.org/web/20041010181233/http://newlisp.org/index.cgi?page=FAQ https://web.archive.org/web/20041010181233/http://newlisp.or... Quote: "Don't read books about LISP, if you want to learn newLISP, most deal with Common LISP or Scheme, two different older standards of LISP. These books teach you many concepts unnecessary to learn newLISP, which does some things in a very different way than the older standards. Try to understand newLISP on it's own terms." There you go! * Don't read books about Lisp. * Lisp and Scheme are older standards (NewLisp is the new standard, hence the "New"). Newer version of last sentence: https://web.archive.org/web/20080726054533/http://www.newlisp.org/index.cgi?FAQ https://web.archive.org/web/20080726054533/http://www.newlis... "newLISP does things much differently from the older standards, in ways that are more applicable to today's programming tasks." Thus, pre-existing Lisps are not applicable to today's programming very well; here is a new standard to fix it. We're bringing back dynamic-scope-only and frexps because today's programming once again requires a Lisp from 1960. "More applicable" isn't trollish enough, so the webmaster added the text "and on a higher level closer to the problem at hand" sometime by 2012, which stands today. (The "old standards" are low-level languages, incapable of the same level of abstraction offered by NewLisp). At least the "don't read books" remark was removed, though.