my inkling is that the more special forms the more difficult it is to repl a language. if everything is an expression not only can you eval parts of it, but that is enough to support quite a bit of extensibility sans macro.
The thing that bugs me about the IDEs is how slow they are. I'm super productive in them, but I really don't feel like they need to be so slow. I'm not even talking about the indexing which I get.
In fact they weren't always unresponsive, seems Jetbrain's products have regressed in the last year, but mostly Webstorm. I use WS on OSX and Win10, and on both I get all kinds of slowdowns - different projects too. Tried disabling features, plugins, different GC, increased heaps. I may have to fire up J. Mission control at this point.
IDEA and Clion on Win10 are mostly fine.
It would just be cool to have all of these features, but the frontend be a responsive CLI.
> In emacs, for instance, you often use `eval-last-sexp`, by default bound to C-x C-e. This lets you move your cursor to a particular point in the file, often deep in a function, and get the results of just the form(s) you're pointing at.
but that depends on how the environment is looking at the time.
during development, in scheme, i just have a function (reset) that reloads all the files of an app. sometimes i create a thread and poll the filesystem and reload everything that changed in the last second. that way i never have to C-x anything. if i need to eval a subexp i just jump on the repl and do it.
Python can hot-reload an application from scratch, too. The idea here is to not reload everything from scratch, but to redefine functions incrementally/iteratively as you work.
if i change anything in filters.scm then i (load "filters.scm") instead of just sending a snippet to the interpreter to eval. i have this happen when i save the file. same thing, except i never have to worry about sending code or a mis-match between editor and repl. it also forces you to be more organized with code so that you don't override global state. i just code, save, code, save. you can have hooks run things after every save etc ...
The current source of Hacker News is proprietary, because this forum is attached to a billion-dollar startup incubator and there's apparently real money to be had for wantrepreneurs trying to game the algorithm, and plenty of "business logic" they would have to remove and whatnot.
The current source of Arc Lisp is at https://arclanguage.org. It isn't open source in that there is any way to contribute or make pull requests that I'm aware of (I may simply be too much of a pleb to know,) rather now and then new versions simply descend from the Lisp gods and are posted. So it's more 'source available.'
The current public fork of Arc Lisp is Anarki at https://github.com/arclanguage/anarki. It has deviated a great deal from Arc and its version of the forum is not in any way in feature parity with Hacker News. But anyone is welcome to make a PR and contribute.
Arc is most definitely "open source", not "proprietary, source available". It's provided under the Artistic License (https://en.wikipedia.org/wiki/Artistic_License). That license is GPL compatible, upholds the "spirit" of FOSS, and is OSI certified.
A bazaar development model is one that takes place in the open with contributions by strangers actively welcomed. A cathedral model involves development behind closed doors with periodic releases. (https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar)
I just work on the forum from time to time so I can't speak much on the language - others have made a lot of changes, the biggest I can think of being using curly braces to create tables. Arc is the first Lisp I've used, and it turns out I'm not a Lisp-1 person. I like proper namespaces and hygienic macros. If I could only change three things about Arc, it would be those and improving error messages.
As far as the forum is concerned - I moved it into a separate folder to create a distinction between "applications" and "library" code. That was controversial. Also related, there's the skeleton of an app manager in progress that will allow creating web app skeletons, and I'm trying to get a plugin manager to work through Arc's hook system.
The end goal (in my head, at least) is that one could install Arc and Arc library code (and possibly language extensions) separately from applications (like the forum, a blog, or whatever you've created for yourself) and from application specific plugins.
The forum page templates have been consolidated so now there's a single page layout with a common UI, which uses HTML lists rather than tables, making page rendering a lot faster. I suspect there's still a lot of work that could be done along those lines - there's just no rational reason why rendering HTML should be as slow as it seems to be sometimes.
And I added some of the user-side features people keep complaining about on HN such as a dark mode, archival links and adjustable font size.