home.social

#concatenativeprogramming — Public Fediverse posts

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

fetched live
    • Physics based game play? Check
    • Stack programming based magic system? Check
    • Ink plugged in for narrative? Check
    • ...
    • Profit? Probably not. Fun though!

    #GameDev #godot #inkle #ConcatenativeProgramming

  1. I wonder if pipeline based shell scripting can be called a #concatenativeprogramming practice?
    Definitely spending some time with Forth made me use them more.

  2. "Assembly Nights Season 2" is done! I present the conclusion of Meow5, my "thought experiment taken too far". 🐱🐱🐱🐱🐱

    ratfactor.com/meow5/done

    #concatenativeProgramming #forth #assemblyLanguage

  3. Sorry for the code, but I'm pretty jazzed that I managed to get both comments and loops working in Meow5 tonight:

    def meow
    "Meow!\n" print

    # decrement the stack each time or
    # we'll end up with an infinite loop!
    dec
    ;

    # Another def that loops!
    def five-meows-loop
    5 loop? meow
    exit
    ;

    # Write executable
    elf five-meows-loop

    (Writes a 160 byte executable that prints "Meow!" five times.)

    #concatenativeProgramming

  4. Major progress on Meow5, my concatenative, inlining, stack-based programming language!

    You can now write any "def" (kind of like a function) out as a stand-alone ELF executable for Linux... Including programs that print "Meow" a lot.

    Next up: branching and loops!

    ratfactor.com/repos/meow5/

    #concatenativeProgramming #assemblyLanguage

  5. #Haskell #CategoryTheory
    #Lawvere — A categorical #ProgrammingLanguage with effects

    Very work-in-progress

    - Compile to any category that has structures corresponding to the programming features you use (cartesian closed, distributive, etc.).
    - Comes with is an evaluator in #Haskell, a compiler to #JavaScript, and a "bytecode" compiler to a #CategoricalAbstractMachine.
    - Effect system based on free effect categories.
    - Point-free #FunctionalProgramming (no lambdas); a categorical take on #ConcatenativeProgramming.

    The #Lawvere language (and the executable bill) is named after #WilliamLawvere.
    https://github.com/jameshaydon/lawvere
  6. Kotlin implementation of rainbow is going well. I've decided to try to build as much in rainbow as possible so I've even managed to make the reduce using a rainbow substitution. map and filter will be defined in terms of reduce as well. The only built in words used here are: — (stack remapper), count, decapitate (splits a list into tail:head), eval, =, if-else, and the square brackets for quoting. That's 50% of the current 15 built-ins.
    #forth #ConcatenativeProgramming #functionalprogramming

  7. And yet… a shiny new thing appeared in the form of the latest #factor release. Definitely going to play with that as well in the future. #concatenativeprogramming

  8. Rainbow (as a terminal app) is starting to come together. The image shows part of a fully functional program that is also the instruction manual. Each section has its own execution context so it is easy to write self documenting code because the code can be executed exactly where it is defined as an example.
    #forth #programming #programminglanguages #ConcatenativeProgramming #functional

  9. More Rainbow code showing the Literate programming style it is designed to support. I usually don't do comments in Swift but Rainbow makes comments joyful and intrinsically part of the code page. Black denotes a comment word. More traditional languages make it very hard to add comments in-place like this so I tend to use intermediate variable names and small functions to explain my code in as declarative a way as possible.
    #Rainbow #FORTH #LiterateProgramming #ConcatenativeProgramming