Threads for Drakonis

  1. 3

    I guess I’m out of the loop. I thought R7RS has been around for a while now. What is the process discussion about?

    1. 5

      R7RS small was ratified in 2013, but work on R7RS large is ongoing. This work seems to largely involve adding SRFIs to the large language standard, which has evolved over a series of “editions”. https://github.com/johnwcowan/r7rs-work/blob/master/R7RSHomePage.md

      1. 5

        Ongoing discussion on R7RS-large is happening here nowadays: https://codeberg.org/scheme/r7rs/issues

      2. 3

        I recall that in the early days, the Scheme standard was controlled by a large group of notable researchers, and a unanimous vote was required to add a new feature. That process collapsed when R7RS-large was proposed. Now it looks like the work is being continued by John Cowan and 3 other people (looking at the codeberg link from @Drakonis), using the SRFI process to generate and test proposals (each SRFI is implemented by multiple Scheme implementations before it gets added to the standard).

      1. 3

        Very interesting, thanks for sharing! Really cool that you took the time to write a technical paper about it as well. For anyone interested in the subject of Lisp for game development I can highly recommend this article about Naughty Dog’s use of a proprietary Lisp for their games: http://www.codersnotes.com/notes/disassembling-jak/

        1. 2

          I’m not actually the author! that’d be Shinmera.

          1. 1

            Oops, my bad! Thanks for the clarification

          2. 1

            Here’s a link to Open GOAL, the ongoing attempt to reverse engineer this particular language.

            1. 1

              That’s really cool. TBH it feels like GOAL and its implications, ie the viability to use a “highly dynamic” language like Lisp for game development, has really flown under the radar. Hopefully this project can bring more attention to the fact that you don’t need to build your game in C++ 😉

          1. 1

            I see you haven’t brought up S-Expressions or lisps in general in the post, any reason why?

            1. 2

              Mostly because I haven’t seen any lisp-inspired configuration files apart from Emacs?

              I agree it can be powerful and pretty though. But there aren’t any widespread enough lisps to rely on (again, Elisp is probably the most likely one to be installed on user’s computer).

              1. 2

                Guix has done it with Guile.

            1. 4

              If you look at brand book, you’ll see the gopher there.

              1. 5

                I think there are a few different things at play:

                • Some people consider working on open source some kind of social happening, others work on technical stuff precisely because they are uninterested in it.
                • In many places, what you leave out matters much more than what you put in. Some people tend to take it personal if their feature gets rejected.
                • The amount of people who are capable and interested in ensuring that contributions live up to the requirements are far and few between, and it’s generally a thankless job.
                • It takes a lot of effort to get things right, but no effort to get things wrong.
                • More often than not the person who wants to add a feature is nowhere to be found when it comes to maintaining it.
                • Many maintainers who make contributors redo their patches over and over are not interested in wielding power, but believe that avoiding to inflict pain on actual users (if a feature is shipped in a broken state) is more important than the hurt feelings of a contributor (who felt that the proposed feature was good enough for his purposes).
                • While there are topics–like performance–where changes can easily measured and accepted/rejected based on that, there are equally important topics–like user experience–where it is hard to quantify the impact of a change. “This change makes the lives of every user worse”–even if perfectly accurate–tends to make the person who cares about user experience look bad, not the person proposing the change.

                That’s my experience from working more than half a decade on Scala. It might provide some insight why the project is hemorrhaging contributors who cared about quality and user experience (apart from the harassment issues).

                1. 2

                  It is unclear which project you refer to, when speaking about hemorrhaging contributors, is it Linux or Scala?

                  1. 1

                    Scala.

                1. 2

                  How would this work in practice? User 1 is invited to Lobsters and the account becomes available on the other instances but without posting permissions? would the postings of that account within the whole tank become visible?

                  1. 4

                    Personally, I would think just promoting each other in some header bar (but don’t make it a dickbar) to begin with.