• joseph8th 33 days ago

    Cool project for sure, but it does provoke the obligatory Emacs org-mode as a spreadsheet plug. [1]

    I use it often, mostly for my D&D character sheet, but occasionally for work.

    Works the same in terminal or GUI, with elisp formula evaluation (including Emacs calc functions), column types, table relationships, and, with org-babel, access to other languages and their libraries (for plotting, etc.) Can even read from DB into an org table and then manipulate data and write back.

    [1] https://orgmode.org/worg/org-tutorials/org-spreadsheet-intro...

  • smabie 34 days ago

    At first glance, it seems like Lisp is inappropriate for spreadsheets: the syntax is simply too verbose and heavy. But cool project, I've always wanted to make a terminal spreadsheet app. Maybe with some custom APL-like language. Now that would be cool!

    • ectoplasmaboiii 33 days ago

      You might be interested in mesh [1], which is sort of what you're angling at. The creator did a video explaining it [2].

        [1] https://github.com/chrispsn/mesh
        [2] https://www.youtube.com/watch?v=CEG9pFNYBCI&t=499s
      • chrispsn 33 days ago

        Yep. JavaScript can also work as a formula language (per the Mesh JS prototype), but APL family languages such as k are much more ergonomic - and 'punchy' - in a spreadsheet context.

      • artsyca 33 days ago

        I may disagree with what you have to say, but I shall defend, to the death, your right to say it.


        Ok all drama aside I can't help feeling like LISP is the best language you could have in this context because it's verbose, unambiguous, highly encapsulated and old school not to mention hardcore.

        Anyone using a spreadsheet in emacs would be well versed in this sort of paradigm and I personally love lisp because it's how we cut our teeth in functional programming in university.

        Not to mention it's perfectly suited to list processing..

        • clauderoux 33 days ago

          I fully agree with you. When you see how cumbersome Excel formulas can be when you want to mix different operators together, with their "(",";" and so on and so forth. I wonder how you can say that Lisp is too verbose for this task.

          • clauderoux 33 days ago

            Furthermore, this spreadsheet is fully "libre", you can modify it and transform it according to your needs. There is also the possibility to write "regular formulas", which are more similar to what people are used to.

          • the-dude 33 days ago

            The 'first' spreadsheet was a terminal app, and also the 'killer app' for the PC : Lotus 1-2-3.


            • mayoff 33 days ago

              The first spreadsheet app was VisiCalc.

              • cardiffspaceman 33 days ago

                Ironically the second, and quite visible paragraph of the 1-2-3 article mentions VisiCalc as first.

          • ComputerGuru 34 days ago

            Seems interesting. I was curious about how mouse support was retrofitted into the app but discovered that the commit messages are unfortunately absolutely useless for seeing recent changes. They’re all “update xxx.cpp” or just “bug” [sic].

            • clauderoux 33 days ago

              please accept my apologies, I should be more verbose in my comments. The whole implementation is in tamgusys.cxx. See inmouse and outmouse for more details. Basically, inmouse activates the mouse catching events, which are sent through getchar. Once, the mouse has been activated, you can use some primitives mouedown1 our mouseup, which takes as input the string returned by getchar and returns the x,y coordinates

              • ComputerGuru 33 days ago

                No worries, thanks for taking the time to explain! I find commit messages help “future me” more than anyone else, I never regret the time it takes to flesh them out (and tend to regret when I don’t).

                • clauderoux 33 days ago

                  Actually, I have another private GitHub, where I do most of my experiments and which is bit more informative. When my code executes, I then push it on the official one, hence the lack of comments.

                  • clauderoux 31 days ago

                    By the way, I have updated tamgusys.h to integrate mouse support in Windows consoles...

            • e12e 33 days ago

              Interesting. On a somewhat related note, I wonder how much work it would be to port scheme in a grid to racket, or somehow get it working on modern distros/os' (it's been abandoned for a while, and uses a ui toolkit that's been abandoned too):