4 comments

  • joseph8th 1362 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 1362 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 1362 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 1362 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 1362 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 1362 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 1362 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 1362 days ago
      The 'first' spreadsheet was a terminal app, and also the 'killer app' for the PC : Lotus 1-2-3.

      https://en.wikipedia.org/wiki/Lotus_1-2-3

      • mayoff 1362 days ago
        The first spreadsheet app was VisiCalc.
        • cardiffspaceman 1362 days ago
          Ironically the second, and quite visible paragraph of the 1-2-3 article mentions VisiCalc as first.
  • ComputerGuru 1363 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 1362 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 1362 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 1362 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 1360 days ago
            By the way, I have updated tamgusys.h to integrate mouse support in Windows consoles...
  • e12e 1362 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):

    http://siag.nu/siag/