Ivan Reese
Ivan Reese
shalabh
02/16/2021, 10:46 PMIvan Reese
In Factorio, the nesting of functors is drastically limited. It’s possible to produce belts, and you can put them on belts, so you can have a beltful of belts,... is something you can do in Hest. And it's bonkers. And it's weird. And I don't like it. It hurts to think about. And thanks to this article, I now know why.. Similarly you can store chests inside chests. But you can’t have belts of loaded belts. You can’t pick a belt filled with copper plates and put it on another belt. In other words, you cannot transport beltfuls of stuff.Belt Belt
Realistically, that wouldn’t make much sense in real world, but in Functorio, this is exactly what we need to implement monads.Ah. Monads. Didn't see you come in. There's beer in the fridge. I'm going out. I'll be back.. later.
Ivan Reese
shalabh
02/16/2021, 10:51 PMKartik Agaram
Ivan Reese
Ivan Reese
Kartik Agaram
Ivan Reese
Ivan Reese
I knew where he was going after the first paragraph. And yet I never thought of it.@Kartik Agaram — Have you played Factorio? Or any of the other process-oriented programming games? (SpaceChem being my favourite, though it's very imperative.)
Kartik Agaram
Andrew F
02/17/2021, 12:23 AMNick Smith
02/17/2021, 1:18 AMAndrew F
02/17/2021, 1:41 AMNick Smith
02/17/2021, 3:54 AMNick Smith
02/17/2021, 3:56 AMIvan Reese
a lot of the fun in video games is making incremental, measurable progress towards goals. [lots of good thoughts excised for brevity] There's no analogue of these things for writing codeI don't believe that that's true. I can't prove it, but it doesn't feel right. But I would totally agree with There's no known analogue of these things for writing code. I have it as one of my ambient background shower-thought processing tasks to figure out how to design game dynamics (to borrow the sorta dated "mechanics / dynamics / aesthetics" framework) that encode programming-related tasks, such that you can enjoy playing with these dynamics in a game-y system while still accomplishing actual creative / expressive work (loathe to say productive work, but sub that in if that thought doesn't irritate you the way it does me). It's easy to imagine a ton of kinda-bad "gamification"-y visions. The most well-known bad example is probably Github's contribution tracking. It incentivizes opening and closing a lot of low-value issues, and making a lot of tiny low-value commits. But Github also fosters the social motivation to write good docs, which is very good (and very conventional) dynamics design. I think once we're playing in the "Factorio is my IDE" space, there's plenty of unexplored possibility and very little should be taken as a given.
Nick Smith
02/17/2021, 4:53 AMAndrew F
02/17/2021, 7:01 AMJack Rusher
02/17/2021, 1:42 PMIsn't it folklore that programming can never be "fun" all the time, because by definition, if you can keep your mental taxation low, then it's because you're doing rote work, and rote work can (and should) be automated/abstracted?I don't think fun comes from low mental taxation, but rather operating at the edge of one's capabilities. (See: Flow, &c). Tooling drives me crazy primarily when it breaks my flow states and makes me deal with nonsense rather than focusing my attention on the problem I'm trying to solve.
Garth Goldwater
02/20/2021, 2:39 AMGarth Goldwater
02/20/2021, 2:44 AMogadaki
02/22/2021, 7:26 AM[...] except perhaps performance optimization, which is rarely "fun"I usually have lots of fun doing this kind of task.
Nick Smith
02/22/2021, 8:42 AMogadaki
02/22/2021, 9:19 AM