00:02:58 -!- a1234a has joined.
00:04:26 -!- a1234a has quit (Client Quit).
00:09:43 -!- ItzzMe has quit (Ping timeout: 276 seconds).
00:27:23 -!- xkapastel has quit (Quit: Connection closed for inactivity).
00:43:08 <zzo38> Is there a way in C to count the number of arguments that a macro has been called with? There are variable argument macros, but I don't know if it has a command to tell you how many.
00:50:36 <esowiki> [[Special:Log/newusers]] create * Trump bot 2 * New user account
00:51:14 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=82601&oldid=82575 * Trump bot 2 * (+119) /* Introductions */
00:58:50 <fizzie> There isn't. You can write an argument-counting macro up to some small number of arguments in O(n) amount of code with relative ease, or one that works for pretty much arbitrary (though not quite) amount of arguments with a lot more work.
00:59:16 <zzo38> Note that I am using the GNU extensions (in case that helps at all).
01:01:18 <fizzie> https://ideone.com/rZZlLo is what the easy-but-not-really-feasible-for-that-many-arguments solution looks like.
01:03:54 <fizzie> As for a version that works for essentially any number of arguments, I've only done it on top of https://github.com/rofl0r/order-pp which is cheating.
01:11:16 -!- imode has joined.
01:20:20 -!- xkapastel has joined.
01:44:13 <esowiki> [[Special:Log/upload]] upload * Trump bot 2 * uploaded "[[File:Hello world QR code.png]]": Hello world QR code
01:49:31 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=82603&oldid=82369 * Trump bot 2 * (+51) /* QR code */
02:04:50 <esowiki> [[Special:Log/upload]] upload * Trump bot 2 * uploaded "[[File:Hello world bar code.png]]": Hello world bar code
02:06:00 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=82605&oldid=82603 * Trump bot 2 * (+52) /* Bar code */
02:11:39 -!- ItzzMe has joined.
02:29:36 -!- delta23 has quit (Quit: Leaving).
02:41:49 -!- ItzzMe has quit (Ping timeout: 276 seconds).
02:42:09 -!- ItzzMe has joined.
02:50:23 <ItzzMe> i have nothing interesting to say thus: a
02:50:27 <b_jonas> zzo38: let me look that up...
02:51:13 <b_jonas> zzo38: or better, just give you pointers. https://gustedt.gitlabpages.inria.fr/p99/ and https://www.boost.org/doc/libs/1_76_0/libs/preprocessor/doc/index.html are where you want to look for such tricks
02:52:16 <b_jonas> zzo38: https://gustedt.gitlabpages.inria.fr/p99/p99-html/group__basic__list__operations_ga36a4ab24ad412a94da4c5aad433d6cd3.html#ga36a4ab24ad412a94da4c5aad433d6cd3 says "Return the length of the variable length argument list […] This supposes that the length of the list is less than P99_MAX_NUMBER."
02:52:25 <b_jonas> so I think what fizzie says is right
02:52:57 -!- ItzzMe has set topic: Welcome to the multinational league for esoteric programming proliferation, protection, and protestation! | https://esolangs.org | logs: https://esolangs.org/log/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D https://github.com/kspalaiologos/esologs/.
02:55:32 -!- Itzzy has joined.
02:58:04 -!- ItzzMe has quit (Ping timeout: 276 seconds).
03:00:25 -!- Itzzy has quit (Ping timeout: 260 seconds).
04:37:23 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:18:30 <esowiki> [[User:Trump Bot/List of xkcd articles]] https://esolangs.org/w/index.php?diff=82606&oldid=81319 * Trump bot 2 * (+129)
06:29:27 <esowiki> [[SemicolonHash]] N https://esolangs.org/w/index.php?oldid=82607 * Palaiologos * (+1018) Created page with "''';#''' (SemicolonHash) is a programming language created by PPCG user ''caird coinheringaahing''. It has only two commands: <code>;</code> - add one to the accumulator, and..."
06:29:51 <esowiki> [[SemicolonHash]] https://esolangs.org/w/index.php?diff=82608&oldid=82607 * Palaiologos * (+2)
06:30:55 <esowiki> [[SemicolonHash]] https://esolangs.org/w/index.php?diff=82609&oldid=82608 * Palaiologos * (+1) reference => external resource
06:31:24 -!- kspalaiologos has joined.
06:38:43 -!- sprock has quit (Ping timeout: 252 seconds).
06:47:52 -!- imode has quit (Ping timeout: 240 seconds).
06:52:56 -!- LKoen has joined.
06:57:53 <kmc> i should finish my openscad quine
06:58:14 <kmc> what is the best presentation for a quine source code as a 3d object?
07:00:26 <kmc> zzo38: what do you think of openscad?
07:06:24 <b_jonas> kmc: yeah, you mentioned that last month and the month before
07:07:50 <kmc> hi b_jonas
07:07:52 <b_jonas> kmc: best representation is probably two stone tablets with the source code engraved onto them
07:08:04 <b_jonas> and then you later have to break them in anger
07:08:22 <b_jonas> alternately accidentally drop one, in the pastafarian tradition
07:10:18 <b_jonas> and add a carved wooden likeness of the master that you have accidentally killed in anger as a payload for repentence
07:10:37 <b_jonas> with comments suggesting that the city will not fall while the likeness is there
07:13:09 <kmc> i guess it would be nice, to give my heart to a god, but which one, which one do i choose
07:13:55 <b_jonas> kmc: the rest are just facets of the one so it doesn't really matter
07:14:01 <b_jonas> or misinterpretations of the one, possibly
07:14:07 <b_jonas> heretic misinterpretations
07:14:14 <b_jonas> but misinterpretations of the same god nonetheless
07:14:43 <kmc> why of course i know god... he's me
07:26:27 <kmc> I think you can argue (and I will argue, because I'm a contrarian SOB) that vacuum tubes were a more consequential invention than transistors. Vacuum tubes gave us practical radio, television, long-distance telephones, digital and analog computers, radar, and rock and roll. True, transistors and ICs made all of these things a lot cheaper, smaller, and better, which opened up new applications. Without
07:26:33 <kmc> transistors we wouldn't have the Internet. But we would still have consumer electronics, electronic mass media, electronic communications, electronic warfare, electronic music, and at least some level of computing.
07:29:36 <kmc> FOGBANK is aerogel! god is that obvious
07:32:18 <kmc> your tax dollars at work
07:32:36 <kmc> styrofoam should be just about as good
07:32:46 <kmc> foamed polystyrene.
07:36:15 <kmc> I can see through walls
07:36:20 <kmc> using linear algebra
07:38:22 <kmc> even without transistors I can imagine reaching by 2020 a roughly 1980s level of technology, tube based SAGE style consoles in your home, connected by modem to timesharing systems
07:38:53 <kmc> good enough to destroy the world ten times over and save it too, and what more do you want?
07:46:21 <kmc> do you think i can build a bell 103 modem with tubes
07:46:36 <kmc> be the freak you wanna see
07:46:42 -!- kspalaiologos has quit (Quit: Leaving).
07:47:33 -!- Sgeo has quit (Read error: Connection reset by peer).
07:49:16 <kmc> the charactron...
07:50:32 <esowiki> [[User:Trump Bot/List of xkcd articles]] https://esolangs.org/w/index.php?diff=82610&oldid=82606 * Trump bot 2 * (+226)
07:51:34 <les-citrons> I think it would be wholly impractical to have household products with 10s of thousands of vacuum tubes in them
07:55:22 -!- user2153[m] has joined.
07:55:30 <les-citrons> though, I suppose a modem might be simpler than that. however, I doubt that any vacuum tube computer could ever scale to simultaneously serve many concurrent users
07:58:08 <zzo38> kmc: I have not used openscad and have not looked at the instructions very much either
08:07:31 <kmc> reagan dons lithium packs bright mexico's saturday / sanda crew peers from beyond the berm
08:07:42 <kmc> no shield for the gipper as he melts foe red and blue
08:10:21 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:14:11 -!- hendursaga has joined.
08:27:03 <kmc> swept by heavy metal, swine's song overhead
08:27:05 <kmc> brrrrrrrrrt
08:29:28 -!- user2153[m] has left ("User left").
10:35:04 -!- LKoen has quit (Read error: Connection reset by peer).
10:36:52 -!- LKoen has joined.
11:19:15 -!- atehwa_ has quit (Ping timeout: 248 seconds).
11:26:39 -!- atehwa has joined.
12:42:54 -!- arseniiv has joined.
13:13:54 <b_jonas> kmc: as for vacuum tubes, I recently learned from a video game that "thermionic tube" is an alternate name for vacuum tubes, or at least some types of them. that name sounds quite sci-fi style and so fits the genre, but I was confused about the actual flavor for the mechanics until I realized what it meant
13:15:21 <esowiki> [[Symbols]] M https://esolangs.org/w/index.php?diff=82611&oldid=82593 * SunnyMoon * (+21) Finally, some non BF-like loops
13:18:51 <esowiki> [[Symbols]] M https://esolangs.org/w/index.php?diff=82612&oldid=82611 * PythonshellDebugwindow * (+26) /* Instruction Set */ Good thing there's an interpreter...
13:20:56 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=82613&oldid=82605 * SunnyMoon * (+1552) Probably should add these too
13:21:31 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=82614&oldid=82613 * SunnyMoon * (+8) Oh no
13:22:51 <esowiki> [[Newton]] M https://esolangs.org/w/index.php?diff=82615&oldid=42777 * PythonshellDebugwindow * (+99) Fix apparent typo, cats
14:27:29 -!- Sgeo has joined.
14:30:39 -!- LKoen has quit (Remote host closed the connection).
14:30:48 -!- xkapastel has joined.
14:48:49 -!- delta23 has joined.
15:00:31 -!- LKoen has joined.
15:30:20 -!- imode has joined.
15:49:12 <esowiki> [[Circuitrite]] M https://esolangs.org/w/index.php?diff=82616&oldid=46985 * PythonshellDebugwindow * (+2128) Move data here, as Moon allowed
16:35:20 -!- delta23 has quit (Quit: Leaving).
16:45:53 <b_jonas> les-citrons: no, it's called "Thermionic tube" in game
17:44:10 -!- ItzzMe has joined.
17:53:43 -!- ItzzMe has quit (Read error: Connection reset by peer).
17:54:04 -!- ItzzMe has joined.
17:59:11 <esowiki> [[Special:Log/newusers]] create * Sanscicondos * New user account
17:59:57 -!- pikhq has quit (Ping timeout: 246 seconds).
18:01:54 -!- pikhq has joined.
18:09:38 -!- Wezl has joined.
18:12:59 -!- ItzzMe has quit (Ping timeout: 250 seconds).
18:14:43 <Wezl> I made a 2D sandbox game, but it needs to be turing complete like minecraft. Any suggestions for a very small language I could put into it?
18:14:49 <Wezl> it's tile-based
18:15:49 <Wezl> there can't be global state or things like that, and it's on a fantasy console so there is a limited amount of state I can store on one tile
18:16:26 <Wezl> so I'm considering something like wireworld (cellular automaton)
18:17:08 -!- ItzzMe has joined.
18:17:50 <imode> wireworld would be best.
18:18:03 <imode> interesting that you refer to it as a language instead of a cellular automaton.
18:18:07 <Wezl> source and videos available if it helps (you to answer my question for free :P)
18:18:20 <imode> it's on a fantasy console?
18:18:46 <Wezl> referred to it as a language because I haven't decided on a cellular automata yet
18:18:58 <Wezl> tic-80 github.com/nesbox/tic-80
18:20:10 <Wezl> one problem I can see for wireworld is that useful things take lots of space :/
18:21:22 <b_jonas> Wezl: does it really have to be Turing-complete, or just make practical computations possible? are you severely limited in the ROM, or only the RAM and CPU power?
18:21:51 <b_jonas> if you're not limited much in the ROM, then I recommend you add a large language, with lots of different primitives that you can build, though each should be easy to compute
18:21:58 <b_jonas> rather than a very small language
18:22:32 <b_jonas> however, consoles are typically heavily limited in CPU power, so global state and global instruction pointer might work better than a cellular automaton
18:22:50 <Wezl> limited to 256x256 tiles and 256 possible states for each tile (preferably using only a few of thos)
18:22:54 <b_jonas> with a cellular automaton you may have to update a significant portions of cells all over the map
18:23:13 <b_jonas> you might instead want to do something where only some sprites (not necessarily displayed sprites, but something limited in numbers) can update stuff around them
18:23:40 <b_jonas> these can be stationary buildings of course
18:23:49 <b_jonas> but the point is, you shouldn't allow to have too many of them active
18:23:58 <b_jonas> I don't think you want to iterate through all 256x256 tiles every frame
18:24:41 <b_jonas> they might also be marked on the map of course, but the point is that you shouldn't want to iterate over a map
18:24:44 * Wezl finally begins to see clearly
18:24:54 <b_jonas> but I don't know this particular console that you refer to, so it might differ
18:26:33 <b_jonas> I also recomment lots of builtins, because ROM is often cheap and dispatching on a jump table in ROM is also cheap
18:28:02 <Wezl> https://codeberg.org/Wezl/games/src/branch/main/sandpile0.1-demo.webm
18:28:11 <Wezl> this is what the gameplay looks like
18:28:58 <Wezl> it can't be really like a normal programming language because commands should be able to be placed like blocks
18:32:52 <b_jonas> Wezl: one thing you could do is allow a limited amount of buildings that are updated every frame, so you store extra information to them outside the map too, have directional wires between them, and for every building, precompute what it's connected to by the wires after the user builds wires, so you don't have to scan the whole map each frame. it's not perfect because it can cause slow updates when the
18:32:58 <b_jonas> user builds stuff, but in practice it tends to work.
18:33:07 <b_jonas> that also lets you keep more state for these buildings than typical map cells have
18:34:03 <Wezl> There are no monsters or anything moving except the player so I think I'll only update things when the player moves
18:34:48 <b_jonas> you said "Turing-complete" earlier though
18:34:52 -!- gurmble has joined.
18:35:05 -!- grumble has changed nick to Guest31287.
18:35:05 -!- Guest31287 has quit (Killed (card.freenode.net (Nickname regained by services))).
18:35:05 -!- gurmble has changed nick to grumble.
18:35:09 <Wezl> turing complete if the player keeps moving :P
18:35:46 <Wezl> I don't want the player to accidentally freeze everything (although running every frame would also fix that)
18:35:49 <b_jonas> so you want a grindy game where the player needs a turbo controller to win?
18:36:25 <b_jonas> I don't see the point of only computing something when the player moves
18:37:04 -!- xelxebar_ has quit (Remote host closed the connection).
18:37:07 <Wezl> well no, they can already win without computing anything :)
18:37:23 -!- xelxebar has joined.
18:38:55 <b_jonas> ah, you're compromising for the sake or marketing and making the game accessible to non-programmers. I hate how everyone does that. tons of videos that try to explain programming stuff as if the viewers were absolute dummies, not enoguh material that explain stuff assuming you do understand some programming but are interested about a particular topics.
18:39:00 <b_jonas> there was an article complaining about that.
18:39:30 <Wezl> I'm compromising for the sake of easy-to-make
18:41:24 <b_jonas> you can also make some buildings larger than one tile, to ensure there's a place to store more state directly in the map for buildings of which you want to allow a large number
18:41:38 <b_jonas> that doesn't solve the CPU problem really, only the RAM problem
18:42:00 <b_jonas> so, sadly, it's mostly useful for things like wires that you don't want to recompute per frame, but it's inconvenient to make wires large
18:42:13 <Wezl> (Which is a really bad motivation and what's the point really and no I don't actually need to make my game programmable and no I didn't plan ahead but ... handwave)
18:43:14 <b_jonas> that's fine, in the worst case your next game will be better
18:43:19 <b_jonas> that's how everyone learns
18:47:28 <b_jonas> I don't really know a good system for how wires should work anyway
18:47:47 <b_jonas> perhaps no wires might work better
18:50:01 <Wezl> <b_jonas> ... do something where only some sprites (not necessarily displayed sprites, but something limited in numbers) can update stuff around them
18:50:09 <Wezl> that's a good idea
18:50:44 <Wezl> I figured out a way that could work with the in-game system
18:52:04 <Wezl> so far, a tile has a height and a type (water, sand, snow)
18:54:00 <Wezl> with an item or button, a tile can be transformed from a material to a corresponding machine. When you bump against this (or use a machine that powers all the machines around it?), it takes its input as the height of the tile to one side and outputs on the other side
18:56:28 * Wezl pretends it's still related to esolangs
18:57:35 -!- dingwat has quit (Quit: Connection closed for inactivity).
18:57:52 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
19:01:14 -!- sprock has joined.
19:01:19 -!- Lord_of_Life has joined.
19:16:39 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=82617&oldid=82614 * SunnyMoon * (+508) This too
19:49:07 -!- TheLie has joined.
19:54:23 -!- delta23 has joined.
20:01:11 -!- user3456 has quit (Ping timeout: 245 seconds).
20:02:47 -!- user3456 has joined.
20:34:19 -!- ItzzMe has quit (Ping timeout: 276 seconds).
21:06:18 -!- TheLie has quit (Remote host closed the connection).
21:15:16 <esowiki> [[User:Zero player rodent]] M https://esolangs.org/w/index.php?diff=82618&oldid=82355 * Zero player rodent * (-1)
21:45:47 -!- arseniiv has quit (Ping timeout: 265 seconds).
21:47:42 <zzo38> Today is first time since I got a computer with Linux (which was many years ago) that I made a new Hero Hearts level, and this time, I am no longer limited to 256 classes, 512 images, 609 grid cells, etc.
21:56:16 <esowiki> [[Skinny pig]] N https://esolangs.org/w/index.php?oldid=82619 * Zero player rodent * (+2616) Created page with "Skinny pig is an [[esoteric programming language]] specifically designed to be used by skinny pigs or guinea pigs. The guinea pig will "write" the program by doing the things..."
21:56:48 <esowiki> [[User:Zero player rodent]] https://esolangs.org/w/index.php?diff=82620&oldid=82618 * Zero player rodent * (+18)
23:14:53 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:30:56 -!- harha_ has quit (Quit: ZNC - https://znc.in).
23:31:35 -!- iovoid has quit (Quit: iovoid has quit!).
23:34:46 -!- iovoid has joined.
23:35:05 -!- harha_ has joined.
23:39:44 <esowiki> [[Language list]] M https://esolangs.org/w/index.php?diff=82621&oldid=82571 * PythonshellDebugwindow * (+17) /* S */ Skinny pig
23:45:41 -!- imode has quit (Ping timeout: 240 seconds).