home.social

#schemebites — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #schemebites, aggregated by home.social.

  1. for the first time in my life (and hopefully last) I had to use "eval" inside of a syntax-case guard (and I'm so sorry)

    #scheme #GRASP #schemebites

  2. @fogus for example, this is how I understand "times" in Lisp:

    #SchemeBites

  3. For some reason I felt the urge to implement my own variant of the "recursive-dimensional clustering" collision detection algorithm that I read about in the Game Programming Gems many years ago.

    Of course, I generalized it to an arbitrary (positive, natural) number of dimensions, and made some small improvements to the grouping method.

    #SchemeBites #Scheme #Kawa #GameProgramming

  4. CW: GRASP development in August 2024

    I don't feel as if August has been a particularly good month for #GRASP

    My main focus was on the improvement of usability regarding file management. I wanted to implement workspace persistence, and while I made some steps towards that goal, there's still so much more to be done.

    So what I actually did:
    - extracted the content of the "welcome screen" from a string inside 'assets/init.scm' (which is evaluated upon startup) into a separate file, called "assets/intro.scm".

    - splitted one big module (consisting of over 2000 lines of code) into a few smaller modules (the biggest one is around 900 lines, which could be better, but is kinda OK)

    - hooked a callback which is meant to be called "near exit" (which is a bit tricky on Android) so that it could be used to persist the workspace

    - wrote a little function to persist hash tables (which can be found here on mastodon under the #SchemeBites hash-tag - I thought it's a neat idea to share some nice snippets of Scheme that fit on one screen of code)

    I also handled my Scheme Workshop submission, and I'm really so happy to be going there (especially after seeing the program).

    For the last week, I've mainly been trying to GRASP the A* search algorithm. I'm not hoping to make it for the Workshop, but I made the visual evaluator in a window of enlightenment that started almost exactly a year ago, and I was hoping that maybe this year a similar thing could happen. (It probably won't, because I've been super-tired with my day job lately, and I had almost no vacation this year.)

    Anyway, working on A* is nice, because I mainly do it in my (paper) notebook, so I don't have to be glaring at the screen and twisting my thumbs.

    I don't have any specific plans for September. My key highlight is of course the Workshop, so I might try to pimp up the visual stepper a bit. I think it would be awesome if I managed to fix support for lists, but it is more likely that I will focus on some random and tiny usability issues.

    I plan to continue working on A*, because it excites me.

    I have a few more exciting things on my list of things to do, including:
    - the ability to scale (and perhaps rotate?) particular expressions
    - search facility
    - collapsing/expanding boxes
    - module viewer

    But I would also like to publish GRASP, which requires bug fixing (which is no fun).

    I'm probably going to focus more on the fun things, but I'll try not to forget usability.

  5. @awkravchuk I also wrote an implementation of A* in #Scheme a few years ago, and it turns out that it fits on one screen with usage example. And I also named a variable 'cost-so-far' ;]

    #SchemeBites

  6. Interfacing with UNIX command line is never pleasant, but in case of #Scheme it's at least managable

    #SchemeBites

  7. So, today on my train to work I wrote a piece of code for storing and retrieving mappings to/from a text file.

    #Lisp / #Scheme is a truly amazing language!

    #SchemeBites