00:37:29 <esolangs> [[Gur yvsr]] https://esolangs.org/w/index.php?diff=166713&oldid=163731 * Placeholding * (+12804)
01:44:17 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
03:05:02 -!- op_4 has quit (Remote host closed the connection).
03:05:37 -!- op_4 has joined.
03:31:31 <zzo38> Is deliberately attacking your own pokemon in the Pokemon game (in a double battle) more common or less common than underpromotion in chess?
03:45:27 <ais523> much more common, I think
03:45:54 <ais523> there have been tournaments where it was part of the most common strategy (e.g. using Beat Up on a Pokémon who has Justified)
03:47:06 <ais523> usually the teams are designed to do it, using attacks that have very powerful side effects and do hardly any damage
03:51:15 <zzo38> OK, it makes sense (I have not seen many tournaments). However, there are also cases where it was not the intention when making up the team (or if it is a random battle).
03:51:19 <ais523> one game I played (against an opponent who I think was probably a streamer based on the number of spectators who joined) went like this: on turn 1, my Smeargle used Ally Switch, my opponent's Bisharp used Sucker Punch (failing because I hadn't selected attacking moves), my opponent's Kangaskhan attacked the slot Smeargle swapped into with a normal-type move (failing because I had swapped a Ghost-type there), then my Jellicent used Trick Room; on turn 2, my
03:51:20 <ais523> Smeargle used Volt Switch on Jellicent activating its Weakness Policy and switching in Pelipper who started rain, then Jellicent used Water Spout and OHKOed both opposing Pokémon, on turn 3 Jellicent used Water Spout again and OHKOed both of the opponent's replacement Pokémon
03:51:43 <ais523> smeargle was level 1 and had low special attack, so the Volt Switch on the Jellicent only did marginal damage
03:52:36 <ais523> although, this was mostly a case of almost all my opponent using the same team and picking the same moves in the same contexts, so I had built specifically to counter it
03:54:13 <ais523> attacking a team-mate in a case where you hadn't planned the interaction when designing the team is rare, I don't know how that corresponds to underpromotion in frequency
03:55:03 <ais523> (actually necessary underpromotions in chess are rare, but it's not so rare to underpromote to a rook if that gives a trivially winning endgame, because it reduces the chance of accidentally stalemating the opponent compared to promoting to a queen)
03:58:30 <zzo38> I think I once heard of a situation where someone underpromoted to rook because they did not have a extra queen available near the board and did not want to stop the game to request it.
04:10:15 <ais523> the normal solution to that problem is to use an upside-down rook
04:12:34 <zzo38> I read that it is allowed in USCF but not allowed in FIDE.
04:17:31 <ais523> I imagine it isn't normally a problem at grandmaster level because there are very few positions likely to arise in a grandmaster game where one player has two queens, but neither player thinks they're losing badly enough to resign
04:17:49 <ais523> (it has happened, I think – usually involving multiple queens for both players – but is very rare)
04:18:03 <esolangs> [[User:H33T33]] M https://esolangs.org/w/index.php?diff=166714&oldid=165933 * H33T33 * (+4)
04:19:20 <esolangs> [[WTF]] M https://esolangs.org/w/index.php?diff=166715&oldid=159223 * H33T33 * (-88)
04:28:40 <zzo38> In shogi there is no underpromotion but you can (usually) choose to not promote. Some pieces are strictly a superset of the moves that would be possible when not promoted; is it ever deliberately not promoting in such a case?
04:29:04 <zzo38> (The reason that I can think for doing this would be to avoid the rule prohibiting checkmate by dropping a pawn; maybe there is tsume shogi which involves it, possibly with discovered check by capturing opponent's pawn)
04:46:57 -!- Yayimhere has joined.
04:52:00 <zzo38> Do you have the full copy of the Pokemon team that you had for that game?
04:54:10 <ais523> zzo38: oh, I searched through my old backups and think I was mentally conflating two different games
04:54:18 <ais523> the Ally Switch trick was from a different game
04:54:51 <ais523> in the actual game, Smeargle used Spiky Shield instead
04:56:19 <ais523> here's a version of the team from around that time (I don't know whether it's specific the team I actually used): http://nethack4.org/pastebin/27.txt
04:56:53 <ais523> a later version of the same team had Ally Switch, but wasn't using Volt Switch by then
04:57:16 <Yayimhere> why are you talking about Pokemon? (not to shoo you away just wondering lol)
04:57:53 <ais523> Yayimhere: zzo38 does that sometimes
04:58:10 <ais523> it's probably offtopic but I'm not sure where the appropriate place would be
04:58:36 <ais523> there have been some attempts to make competitive Pokémon into an esolang but I don't think they worked very well
04:59:22 <ais523> come to think of it, I'm actually not sure what complexity class solving Pokémon is in
04:59:47 <ais523> especially given that the attempts by the game developers to prevent endless battles didn't quite work properly
05:00:20 <Yayimhere> I wouldnt be surprised if Pokemon is as powerfull as uknow good ol' magic the gathering
05:00:42 <ais523> well, some Turing-complete languages struggle to be Turing-complete, some achieve it trivially
05:01:05 <ais523> M:tG is well into the "achieve it trivially" zone by now, it can do it lots of different ways and with some very simple constructions
05:01:15 <ais523> other Turing-complete games, like Netrunner, it's much harder
05:01:39 <korvo> I'd suggest Pokémon is bounded by PP count, but I wouldn't be surprised to learn that I'm old-fashioned and stuck with an old generation.
05:02:07 <Yayimhere> Tbh, I dont know, I dont play much Pokemon anymore, and barely remember how it works
05:02:19 <ais523> korvo: Recycle + Leppa Berry + Heal Pulse is the best-known combination to intentionally create an infinitely long battle
05:02:32 <ais523> which is somewhat infamous because, in some cases, you can do it despite attempts by your opponent to stop you
05:02:47 <esolangs> [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=166716&oldid=166041 * Yayimhere2(school) * (+307)
05:02:54 <ais523> that combination wasn't possible until generation V, there are some combinations that were possible earlier though
05:03:13 <esolangs> [[2I1IF]] https://esolangs.org/w/index.php?diff=166717&oldid=166621 * Yayimhere2(school) * (+22)
05:03:50 <Yayimhere> im just throwing things out here, but could missingno not be useful... somehow?
05:03:54 <zzo38> What I thought should be made up a rule change in Pokemon would be that some items and some movse are "unrecoverable". If a item is unrecoverable then it cannot be recovered during the same battle if it is consumed, and if a move is unrecoverable then that move's PP cannot be recovered during the battle.
05:03:59 <ais523> (there's also the infamous "two Wobbuffets who both have Leftovers" infinite loop in generation III, which was plausibly possible to trigger by accident because Leftovers is a good item to use on Wobbuffet and that was the only requirement for triggering it – it got patched out two different ways in Generation IV)
05:04:30 <ais523> zzo38: there was a very complicated rule change at Smogon intended to try to prevent infinite battles without affecting any legitimate strategy
05:06:13 <ais523> oh, apparently in the end they just gave up trying to find all the possibilities and just banned Leppa Berry + Harvest and Leppa Berry + Recycle
05:06:56 <ais523> …which wouldn't be enough unless you ban them both existing anywhere in the team, because you can give an opponent the Leppa Berry with one Pokémon and then steal it back with another (who has Harvest or Recycle)
05:07:38 <Yayimhere> why doesnt Nintendo just give up lol
05:08:49 <ais523> some of the previous versions of the rule looked like this: https://www.smogon.com/forums/threads/banning-leppa-berry.3544604/page-2#post-6335822
05:09:41 <ais523> Yayimhere: oh, Game Freak (who actually make the Pokémon games, even though Nintendo own them) apparently gave up on this sort of stuff years ago (probably decades by this point)
05:10:20 <Yayimhere> ais523: great, I would guess there propably is more looping in the newer versions then lol
05:10:35 <ais523> singles hasn't been reasonably balanced since Generation IV (and even that required a lot of bans), doubles is more balanced but has also been struggling somewhat
05:10:49 <esolangs> [[Category:C++]] N https://esolangs.org/w/index.php?oldid=166718 * SuperSMG5 * (+186) Created page with "Imagine all of the C++, C, and C# Esolangs were all put in one list ''thats what this is for'' well thats what I was going for. If you know how to do this, please let me know"
05:11:36 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=166719&oldid=166620 * Yayimhere2(school) * (+10) /* esolangs */
05:12:25 <esolangs> [[GRG]] https://esolangs.org/w/index.php?diff=166720&oldid=166689 * Yayimhere2(school) * (-9) /* How it functions */
05:13:37 <esolangs> [[GRG]] https://esolangs.org/w/index.php?diff=166721&oldid=166720 * Yayimhere2(school) * (+30) /* How it functions */
05:13:58 <zzo38> It is why I thought that making some moves/items unrecoverable might help, and adding something like the fifty move rule of chess might also help.
05:15:47 <ais523> hmm this Smogon forums thread is actually amazing
05:15:58 <ais523> the previous version I linked was really simple compared to some of the later ones
05:17:28 <esolangs> [[Pass a symbol]] https://esolangs.org/w/index.php?diff=166722&oldid=136619 * Yayimhere2(school) * (+2) /* NOR */
05:20:41 <Yayimhere> ais523: could I mayhaps ask a question about 90?
05:22:07 <Yayimhere> thanks! I was just wondering if it was possible to have two(or three ect) 90 programs destroying each other? and also is it possible to have it destroy itself?
05:22:51 <Yayimhere> (sorry if this is answered on the page)
05:23:16 <ais523> destroying each other is definitely possible, if the timing is right
05:23:21 <ais523> destroying itself, I'm not sure about
05:23:42 <Yayimhere> maybe the latter question technically more is a computer question
05:23:51 <Yayimhere> (can a program have access to itself)
05:24:10 <ais523> I think the spec doesn't prevent the program destroying itself, but the usual implementation would involve attaching a debugger and a program can't attach a debugger to itself, so maybe it would be simpler to disallow that
05:24:28 <ais523> (a program can totally have access to its own memory, it just has to do it a different way from accessing a different program's memory)
05:26:18 <Yayimhere> also, for the issue of having enough software running, could you not in principle just have a bunch of slightly differently set up instances of the same program?
05:27:02 <ais523> sort-of – the problem is that 90 programs run as quickly as possible and don't have any way to delay or the like
05:27:10 <ais523> so there's a risk that the first program would just exist before you tried to run the second one
05:27:37 <ais523> as such it's going to be unreliable to have a 90 program affecting a second copy of the 90 interpreter because you can't guarantee it's still running at the time
05:27:57 <Yayimhere> oh, i wanst talking about 90 programs specifically
05:28:04 <ais523> (affecting the program itself, while technically possible, wouldn't help at all because that just changes what the program says and you could have written it like that in the first place)
05:29:04 <Yayimhere> for the issue of 90 programs just running as fast as they can, isnt there a way to force a program to run at a certain rate?
05:29:25 <ais523> you'd have to use a separate program to do it
05:29:53 <ais523> (or edit a separate program into doing that, which would be harder than just editing it to do what you wanted it to do in the first place)
05:31:20 <zzo38> If the 90 program affects itself, if it is process by an interpreter then the interpreter could be damaged, or it damages the 90 program in a way which depends on the representation it has after it has been read from disk, possibly it has pointers, etc
05:31:26 <Yayimhere> but is there a way to do that on a computer?
05:31:50 <ais523> you could run the program in an emulator and tell the emulator to run slowly
05:31:55 <ais523> or you could single-step it in a debugger
05:32:17 <ais523> or you could tell the kernel to give it only small timeslices (but that makes it run at full speed for a bit, stop for a while, at full speed for a bit, etc.)
05:32:50 <Yayimhere> yea something like that I was thinking
05:32:55 <ais523> I guess you could also underclock the computer, which would slow down everything
05:33:09 <ais523> but I'm not sure how much underclocking modern computers can cope with
05:33:23 <ais523> (there have been historical computers that could be underclocked all the way to 0 but I think that doesn't work nowadays)
05:33:37 <Yayimhere> 90 is very dependent on the system it is on
05:34:44 <ais523> this would be a major flaw in most practical languages, but is interesting to experiment with with esolangs
05:35:03 <Yayimhere> you kinda have to think of the computer as part of a specific programs function, because that(in principle) can change
05:35:13 <Yayimhere> one mans flaw is another mans experiment
05:37:36 <Yayimhere> i will definetily be experimenting a lot with (theoretical) programming technique's of 90
05:47:43 <zzo38> I have a article in my user page on esolang wiki about some games; it mentions that Magic: the Gathering is Turing-complete but possibly someone should add details about this. (Also, can subgames and infinite loops make it uncomputable?)
05:48:05 <zzo38> (And, can a generalized variant of mahjong somehow be Turing-complete?)
05:51:01 <ais523> zzo38: https://esolangs.org/wiki/Flooding_Waterfall_Model
05:51:23 <ais523> contains a simple proof of M:tG Turing-completeness (simple in terms of the M:tG setup, less simple in terms of proving the resulting language TC)
05:51:36 <ais523> you might want to link it from your userpage
05:52:49 <zzo38> OK, I will link it from the user page.
05:54:22 <esolangs> [[User:Zzo38/Game rules]] https://esolangs.org/w/index.php?diff=166723&oldid=162310 * Zzo38 * (+59) Link to [[Flooding Waterfall Model]]
06:01:27 <zzo38> Why do you have two pokemons with mega evolution stones? (I can think of a few reasons why someone might do that, but I don't know which one(s) are applicable here)
06:01:52 <ais523> zzo38: it's designed for a format where you can only use four Pokémon from your team
06:02:09 <ais523> even though you have six on your team
06:04:10 <zzo38> O, OK. (I should have thought of that, considering that they are level 50, but somehow I did not)
06:07:34 -!- Yayimhere7 has joined.
06:09:10 <Yayimhere7> so, i was thinking if there was an interesting way to make the main form of data in an esolang threads(and threads within threads and so on)
06:09:43 <ais523> Yayimhere7: https://esolangs.org/wiki/Annihilator
06:09:45 -!- Yayimhere has quit (Ping timeout: 250 seconds).
06:14:31 -!- Yayimhere7 has quit (Ping timeout: 250 seconds).
06:14:48 -!- Yayimhere has joined.
06:26:51 -!- Yayimhere has quit (Quit: Client closed).
06:27:04 <b_jonas> "especially given that the attempts by the game developers to prevent endless battles didn't quite work properly" => yeah, it's weird, especially when it's because of endless switching pokemon. you'd think they can put a limit on that, like requiring a move that makes progress before you can switch in the same pokemon in again (or the same pair of pokemons for a double battle).
06:29:27 <b_jonas> if it was just some overpowered healing wearable item that outheals even Struggle backlash damage then it would be harder to prevent infinite loops, but I don't think that can happen in competitive pokemon
06:32:26 <zzo38> I thought of that too, and my idea was to add a rule that if, for six consecutive turns, all active pokemons switch out, then no pokemon is allowed to select switching out during the immediately next turn (after that, this restriction goes away; it also goes away if anyone executes a move)
06:34:28 <ais523> b_jonas: Regenerator heals on switch, for more than Struggle recoil damage
06:34:51 <ais523> so if you have both teams with two regenerators with no PP left, optimal strategy is to switch forever
06:34:57 <ais523> this is unlikely to happen by chance, though
06:36:13 <b_jonas> ais523: is that an ability that you can get in a competitive match?
06:36:37 <ais523> it'd be weird to have it on two different Pokémon in a team, but not completely ridiculous
06:37:22 <b_jonas> meanwhile, Nintendo just released a new Pokémon game with no PP mechanics at all and so no Struggle either. and it's not like the first generation games when the devs had no experience yet and the console was limited.
06:37:40 <b_jonas> ais523: and you'd need that for two teams, right?
06:38:21 <ais523> PP is weird as mechanics go, especially given how it is often irrelevant but often isn't
06:38:34 <ais523> max PPs have generally been gradually reducing over time, too
06:39:34 <ais523> which has made it more relevant in theory, but the games have been getting less balanced which counteracts that (as unbalanced battles often don't last very long)
06:39:47 <zzo38> I think the new Pokemon game is not like the ordinary Pokemon game though; it is a different game, anyways.
06:39:49 <b_jonas> that doesn't seem weird. decking out is often irrelevant in Magic because usually you want to kill in the first few turns, but sometimes it is relevant, and you can build decks that deliberately want to deck out the opponent
06:45:53 <zzo38> If the nonstandard rules that I had mentioned (as well as something a bit similar to the fifty move rule of chess) would be used, then I think that would help with that as well as with a few other things, I think.
06:51:05 <zzo38> (Some of these nonstandard rules will not help if it is intended to be compatible with standard rules, but some are compatible with standard rules. Unrecoverable moves/items are not compatible but the rule about six consecutive turns with switching would be compatible, I think.)
08:07:01 -!- Yayimhere has joined.
08:15:22 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=166724&oldid=166698 * Yayimhere2(school) * (+10) /* G */ added [[GRG]]
08:15:36 -!- Yayimhere has quit (Quit: Client closed).
08:15:51 -!- Yayimhere has joined.
08:24:31 -!- Yayimhere has quit (Ping timeout: 250 seconds).
09:55:14 -!- Everything has joined.
10:07:40 -!- Everything has quit (Quit: leaving).
10:32:49 -!- tromp has joined.
11:12:21 -!- Sgeo has quit (Read error: Connection reset by peer).
11:20:08 <esolangs> [[Special:Log/newusers]] create * Esoboring ideas * New user account
11:35:00 -!- amby has joined.
11:38:42 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
11:39:02 -!- Lord_of_Life has joined.
12:12:12 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=166725&oldid=166681 * Yayimhere2(school) * (+10) /* See also */
12:15:14 -!- Yayimhere has joined.
12:29:51 <esolangs> [[User:RaiseAfloppaFan3925]] M https://esolangs.org/w/index.php?diff=166726&oldid=166694 * RaiseAfloppaFan3925 * (+482) You're tailor-made for this day and age
12:40:36 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=166727&oldid=166725 * Yayimhere2(school) * (-22) /* Description */
12:46:04 <esolangs> [[Unrepetition]] https://esolangs.org/w/index.php?diff=166728&oldid=166683 * Yayimhere2(school) * (+389)
13:09:39 -!- Yayimhere has quit (Ping timeout: 250 seconds).
13:23:13 <HackEso> 759) <zzo38> Sleep on the ceiling next Sunday. \ 918) <boily> not only there is no God, but try to find an APL keyboard on Sunday.
13:31:25 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=166729&oldid=166699 * Esoboring ideas * (+266) /* Introductions */
13:38:38 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
13:38:38 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
13:59:07 -!- Yayimhere has joined.
14:00:02 <esolangs> [[IEBEL]] N https://esolangs.org/w/index.php?oldid=166730 * Esoboring ideas * (+1184) Created page with "IEBEL is an [[OISC]] [[esoteric programming language]] short for in-equality branch esotering language by [[Esoboring ideas] which doesn't have any interpreters yet ==Memory== Every register has the values of 0-255 ==The instruction== ===Main things=== it is like
14:09:14 -!- pr1sm has joined.
14:09:39 <esolangs> [[Talk:Trilime]] N https://esolangs.org/w/index.php?oldid=166731 * Yayimhere2(school) * (+146) Created page with "nooooo, dont change iiit!!!! --~~~~"
14:14:57 <esolangs> [[Alex]] https://esolangs.org/w/index.php?diff=166732&oldid=77727 * Yayimhere2(school) * (-13) brainfuck does not have a stack. Added stub, as there are only example programs and no actual specification.
14:16:59 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:24:22 <esolangs> [[IEBEL]] https://esolangs.org/w/index.php?diff=166733&oldid=166730 * Esoboring ideas * (+1)
14:24:53 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=166734&oldid=166727 * Yayimhere2(school) * (+13) /* Description */
14:34:27 -!- pr1sm has quit (Remote host closed the connection).
14:34:41 -!- pr1sm has joined.
14:35:03 -!- pr1sm has quit (Remote host closed the connection).
14:35:17 -!- pr1sm has joined.
14:35:25 -!- pr1sm has quit (Remote host closed the connection).
14:35:39 -!- pr1sm has joined.
14:36:03 -!- pr1sm has quit (Remote host closed the connection).
14:36:17 -!- pr1sm has joined.
14:36:30 -!- pr1sm has quit (Remote host closed the connection).
14:37:28 <esolangs> [[CARP]] M https://esolangs.org/w/index.php?diff=166735&oldid=166710 * TheCanon2 * (+34) Added opcodes
14:43:48 <esolangs> [[IEBEL]] https://esolangs.org/w/index.php?diff=166736&oldid=166733 * Esoboring ideas * (+5) /* Truth machine */
14:44:52 <esolangs> [[IEBEL]] https://esolangs.org/w/index.php?diff=166737&oldid=166736 * Yayimhere2(school) * (-46) /* See also */ delete oisc and esolang from see also, as they are just the category of the language, and they have already been linked
14:45:06 <esolangs> [[IEBEL]] https://esolangs.org/w/index.php?diff=166738&oldid=166737 * Esoboring ideas * (+7) /* Hello world simple version */
14:47:14 <esolangs> [[IEBEL]] https://esolangs.org/w/index.php?diff=166739&oldid=166738 * Esoboring ideas * (+48) /* See also */
14:50:13 <esolangs> [[Talk:IEBEL]] N https://esolangs.org/w/index.php?oldid=166740 * Yayimhere2(school) * (+371) Created page with "== See also section hello! so, I'd just like to say, you are using the see also section weirdly. it is mostly for language's and such that are similar to this language, and so it shouldn't have hello world, just because you've implemented a hello world. --~
14:50:30 <esolangs> [[Talk:IEBEL]] https://esolangs.org/w/index.php?diff=166741&oldid=166740 * Yayimhere2(school) * (+3)
14:50:47 <esolangs> [[IEBEL]] https://esolangs.org/w/index.php?diff=166742&oldid=166739 * Esoboring ideas * (+0) /* Truth machine */
14:58:37 -!- tromp has joined.
15:06:58 <Yayimhere> are there any esolangs that basically function by destroying their own rules. and is it possible to make that Turing complete?
15:20:54 -!- FreeFull has joined.
15:43:09 <b_jonas> Yayimhere: there's a language that destroys integers so you can no longer use them, does that count?
15:43:30 <b_jonas> https://esolangs.org/wiki/Forte
15:43:47 <Yayimhere> b_jonas: like I guess it technically does, but not *really* since integers is data
15:44:01 <Yayimhere> also forte doesn't really destroy it, just, redefines them
15:44:22 <Yayimhere> when im saying rules im thinking like uknow how a CA has rules, or syntax rules, ect ect
15:46:19 <ais523> forte isn't really destroying its own rules, it just ignores a rule that most other languages have
15:46:57 <ais523> C-INTERCAL allows you to compile syntax errors, then later on you can create new syntax to give the syntax errors a meaning
15:47:07 <ais523> and they'll actually run
15:47:26 <korvo> Yayimhere: Is creation of new rules also possible? If not then the system will invariably degenerate as it loses degrees of freedom.
15:47:39 <ais523> (this is interesting because it is actually a compiled language – a syntax error compiles into code that checks to see if the syntax it contained has been defined yet)
15:48:05 <ais523> korvo: that would be manageable if there were infinitely many rules (or infinitely many destroyable parts of a single rule)
15:48:10 <b_jonas> ais523: yes, I'm saying Forte is destroying numbers, not rules
15:48:30 <ais523> Forte's a bit like that, in that after you destroy a number you have no way to get it back, but it's still TC because there are infinitely many numbers to start with
15:48:51 <korvo> There are plenty of machines which boot into an unrestricted mode at first, allowing many sorts of features to be accessed, but then is locked into a restricted mode for the rest of its execution. Some of those machines support further restriction of features, too. But they usually have a minimum amount of features which is enough to write basic logical operations.
15:49:05 -!- Yayimhere has quit (Quit: Client closed).
15:49:09 <b_jonas> ais523: right, it's somewhat like that brainfuck variant that destroys its own tape cells so they can no longer be modified
15:49:18 -!- Yayimhere has joined.
15:49:34 <korvo> ais523: Yeah. I suppose I'm assuming a finite number of rules; clearly I'm too logic-brained today.
15:50:59 <Yayimhere> maybe a program is made up of: a rule that gets destroyed, then a number, which equals some measure of decay(of the language itself)and then a new rule that gets created when that number is reached
15:51:09 <ais523> Yayimhere: so a common way I go about esolang design, which you might also want to try, is to take your idea and try to work out what the simplest possible version of it is that could possibly be TC
15:51:41 <ais523> if the aim is to act entirely by destroying rules, we need infinitely many rules for it to work, and the simplest possible implementation is probably "each rule can only be used once"
15:51:45 <korvo> IRC is always laggy.
15:52:06 -!- Yayimhere has quit (Client Quit).
15:55:23 <korvo> IOW the system's dynamics are a set of permuted sequences of the nats, N → N. Each initial segment of such a sequence corresponds to a legal move. Pretty sure by Gödelian reasoning that this can't be decided; in particular I don't think it's possible to compute a sufficiently-correct approximation of how the rules work by observing legal sequences.
15:58:25 <b_jonas> oh wait, we do have the perfect thing that destroys its own rules
15:59:11 <b_jonas> https://esolangs.org/wiki/Slashalash
15:59:15 -!- simcop2387 has joined.
15:59:45 -!- perlbot has joined.
16:10:22 -!- tromp has quit (Ping timeout: 240 seconds).
16:10:52 -!- Yayimhere has joined.
16:11:19 <Yayimhere> ok people, I think ive gotten an idea for the concept
16:11:54 <Yayimhere> every rule is in a specific rule definition syntax/language(one is to be chosen)
16:12:26 <Yayimhere> then each line is "delete *command* from every rule".
16:13:22 <Yayimhere> at the start of a program there is a string in the same language of rule's, which gets added to every rule statement in the program
16:13:51 <Yayimhere> (this includes the string itself and every *command*(or string technically))
16:14:34 <b_jonas> Yayimhere: https://esolangs.org/wiki/Slashalash and https://esolangs.org/wiki/Fuun_DNA destroy the rules in the program as it uses them
16:14:35 <Yayimhere> i beleive an abstain and reinstate (INTERCAL style) may be useful, but I dont know if its required
16:15:30 <esolangs> [[///]] https://esolangs.org/w/index.php?diff=166743&oldid=159964 * B jonas * (+97) /* See also */
16:16:05 <Yayimhere> does /// really destroy its own rules?
16:19:26 <ais523> I think of /// more as being in the "program queue/stack" genre, where bits of the program delete themselves after they've run but you can add more
16:22:41 <ais523> execline does that too
16:23:00 <ais523> (except I don't think it takes advantage of the way the genre typically does loops)
16:26:42 -!- ais523 has quit (Read error: Connection reset by peer).
16:26:52 -!- ais523 has joined.
16:34:11 -!- Yayimhere has quit (Ping timeout: 250 seconds).
16:45:31 -!- Yayimhere has joined.
16:46:00 <Yayimhere> (im replying to the /// thing btw)
16:46:07 <Yayimhere> (idk what else you may have been sending)
16:48:11 <Yayimhere> also, for the specific language idea I have proposed, does anyone know a good "rule language"?
16:50:33 <ais523> I think you have to work it out to fit around the rest of the language
16:51:56 <ais523> like, the rules are the core of the language you're designing
16:52:21 <ais523> you need to work out how much power they need to be interesting (i.e. you don't want a single rule to be able to trivialise everything, nor do you want to make the rules so weak you can't get interesting computaiton)
16:52:32 <b_jonas> ais523: yes, I Guess in that view underload destroys rules too
16:53:02 <Yayimhere> b_jonas: by destroy, I dont just mean redefine or similar, I mean delete from existing rules
16:53:55 <Yayimhere> btw i wad thinking that the rules should be the literal rules of the language itself
16:53:56 <korvo> There aren't any good rule languages. We have good completeness results for several classes of grammar, which can be seen as rewriting systems, but none of them are...good. It doesn't help that "rule" isn't a single standard thing.
16:55:22 <ais523> korvo: one of my pet peeves is how bad the popular grammar specification languages are
16:55:50 <korvo> ais523: Right!? ANTLR's the biggest disappointment.
16:56:10 <ais523> korvo: I hadn't even looked deeply into ANTLR's syntax because I was busy being disappointed with the semantics
16:56:26 <Yayimhere> I guess technically by rules I mean interpreter
16:56:40 <Yayimhere> but each part of the interpreter is in its own little
16:56:43 <b_jonas> I guess you could clumsily knock down function definitions in efghij. That's why efghij shops have those big empty warehouse floor spaces, and barely payed interns who rebuild their code from backups when necessary.
16:57:52 <korvo> Yayimhere: Sure. What we're saying is that the choice of objects (the things we manipulate) is connected to the choice of rules (the things that manipulate objects for us). It's easy to see the general idea, but we always have to specialize it for the domain at hand.
16:58:30 <Yayimhere> (also thanks for all the help guys, really do appreciate it)
16:59:17 <Yayimhere> the rules are already defined, the only thing missing is like, the language to write the rules in
16:59:32 <korvo> Well, what's wrong with the language that you already used for the definitions?
16:59:45 <Yayimhere> thats not a formal language though
16:59:56 <Yayimhere> I need like something an interpreter could interpret
17:00:50 <korvo> Same thing. Like, if you formalize the language you already have, then you'll need to give formal meanings to that language which gives meaning to your rules; if you translate the rules into some other syntax, then you'll need to give formal meanings to that syntax.
17:01:17 <Yayimhere> fuck it im making my own rule definition syntax
17:01:33 <Yayimhere> thats most definitely easier than trying to find something good
17:01:46 <korvo> (As Tarski pointed out: there's no ultimate semantics for something as simple as the natural numbers. Maybe we shouldn't try to figure out problems in an ultimate manner.)
17:02:38 -!- tromp has joined.
17:02:46 <Yayimhere> one technically possible thing(if the language is Turing complete) is to make the rules be defined within the language itself
17:03:14 <korvo> That's not something TC-ness does, though?
17:03:52 <korvo> If you want to interpret a language, then that interpreter must be relative to the machine that you're using for interpretation. Even if you're a human doing symbols on paper, you're still interpreting relative to the paper and symbols.
17:04:29 <korvo> TC languages aren't defined in terms of themselves. Rather, it's common for programmers to *bootstrap* a language by implementing itself as a demonstration of its generality and usefulness.
17:05:08 <korvo> By modus tollens, many programmers consider a language weak for general-purpose use when it can't express an interpreter for itself, or when its interpreter/compiler is ugly.
17:05:47 <korvo> https://www.mcmillen.dev/language_checklist.html Haaave you seen this yet? This is a great checklist for *serious* languages. Like, stuff you might take to your boss when you have a job in a decade.
17:06:01 <Yayimhere> anyways, I will now make a rule language to describe the rules of this language
17:06:12 <Yayimhere> korvo: no I haven't actually, ill go look at it!
17:06:15 <korvo> This wouldn't apply to most stuff on the wiki. I filled it out for Monte and Cammy, but mostly because I have a serious contempt for mainstream opinions.
17:07:12 <korvo> Yayimhere: There's a great meme in the fourth section. "The most significant program written in your language is its own compiler", followed by "The most significant program written in your language isn't even its own compiler". This is what we mean when we say that a good TC language should be able to implement itself.
17:07:52 <korvo> But note also in the fourth section, "No language spec", and "'The implementation is the spec'". These are serious critiques; Python's core team still doesn't take the latter seriously.
17:09:50 -!- Sgeo has joined.
17:10:19 <Yayimhere> also I assume the checklist isnt meant to apply to esolangs?
17:10:37 <Yayimhere> because they definetily lack comprehensible syntax
17:12:43 <korvo> https://github.com/monte-language/typhon/blob/92d70fbcbe1291f1aa7c5cedca90345b8a95f6cc/checklist.txt Here's the checklist for Monte.
17:13:13 <korvo> Recall that an esolang is just a language that isn't notable enough for Wikipedia. It's really not more complex than that. I wrote more words here: https://lobste.rs/s/ksrmbf/let_s_take_esoteric_programming
17:13:50 <tromp> brainfuck is notable enough for WP:)
17:14:19 <Yayimhere> malbolge. is notable enough. for WP.... XD
17:14:19 <Yayimhere> not to undermine your point though korvo, your not wrong
17:15:16 <korvo> I don't think of Brainfuck or Malbolge as esoteric! I think that folks use "esoteric" as a shield to avoid having to deal with the typical barbs of capitalism: how will you monetize? what's the license? would you sign this contract?
17:16:06 <korvo> Because those lead to less obvious barbs: why isn't it readable? why isn't it optimized? why doesn't it support my preferred expensive proprietary OS?
17:16:35 <korvo> BASIC's hard to use, but it was shipped as a default for years. C++'s horribly hard to use, and it's considered the most macho and manly way to program.
17:17:01 <Yayimhere> this is the funniest shit ive ever read
17:17:24 <Yayimhere> i am quite sad I cannot fill out this list, as I dont actually have any languages I advocate for
17:18:46 <korvo> You're not expected to be able to fill out this list yet. Don't worry about it. Also, many folks would suggest that the checklist isn't to be taken seriously and that any language designer who uses it is hobbling themselves.
17:19:15 <Yayimhere> (I know im not expected to, but I'd like to do it)
17:19:32 <Yayimhere> (maybe imm going to fill it in as a joke lol)
17:33:12 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=166744&oldid=166729 * Wlad * (+308) Add Wlad's introduction
18:01:15 -!- Yayimhere has quit (Quit: Client closed).
18:04:44 <esolangs> [[UnCompetition]] https://esolangs.org/w/index.php?diff=166745&oldid=166734 * Yayimhere2(school) * (+39) /* (Surprisingly enough) a short list of examples(WIP) */
18:12:36 <b_jonas> "Shift-reduce conflicts in parsing seem to be resolved using rand()" hehe (from that checklist that korvo linked)
18:12:52 <ais523> korvo: I don't think notability is a good way to define esolangs – the other way round is more obvious, there are plenty of very conventionally designed languages which aren't big or well-known enough to have a Wikipedia page (but unfortunately they're generally obscure enough that I haven't heard of most of them)
18:13:58 <korvo> ais523: It's not notability as much as the degree of exploitation which society hopes to induce. An "up-and-coming" language is usually described in terms of its velocity rather than its current features.
18:14:21 <ais523> but something like Malbolge is fairly clearly an esolang, I think, because the design goal of "make the language as hard to write in as possible" is diametrically opposed to the standard goals of programming languages
18:14:33 <korvo> Wikipedia's merely willing to allow capitalist propaganda as primary sources. Many such cases.
18:14:54 <ais523> korvo: I find it hard to see programming languages as generally being inherently capitalist – implementations, maybe
18:15:40 <korvo> The diametric opposition is what, "make the language as easy to write in as possible"? There's only one language in popular use with that goal, Python. Such languages are usually pretty rare and also bad; Quorum's my usual punching bag.
18:16:09 <ais523> korvo: it's more that most languages value being easy to write over being difficult to write – in many cases that isn't a primary goal, but might be a tiebreak
18:16:20 <ais523> tiebreaking by picking the more difficult option would be unusual
18:16:25 <b_jonas> well, python doesn't purely do that, there are a few places where python is harder to write because of some historical compatibility thing, but it is close enough
18:16:25 <ais523> if all other things are equal
18:16:58 <ais523> likewise, most languages will tiebreak by trying to copy what programmers are familiar with and what other languages have done, being different for the sake of being different is how you end up with INTERCAL
18:17:33 <korvo> ais523: A good counterexample is C, which had design goals involving being easy for computers to parse and compile, and was ultimately steered by compilability. It competed with Fortran in that arena and won handily.
18:17:34 <b_jonas> ah yes, that's how you end up with Rust's syntax :-(
18:17:42 <ais523> (working on C-INTERCAL was fun, especially when we found ways to be different that actually had compensating advantages)
18:18:23 <ais523> korvo: you're misunderstanding me – in C, writability is not a primary goal but it is still considered desirable, it just sometimes has to be compromised on to meet other design goals
18:18:27 <b_jonas> ais523: yes, making things different is a goal that you can do in games like M:tG or Factorio and can result in very enjoyable builds
18:18:46 <b_jonas> and sometimes you can discover builds that are different and also better when steered by this
18:18:53 <korvo> ECMAScript's another counterexample; the design goal there was to look like Java and the rush to market ate all other goals. A lot of the worst ugliness like `with` has been deprecated, but that's explicitly because E's authors decided to heavily influence it.
18:19:16 <korvo> ais523: I understand your point but I think it's straight-up wrong, sorry.
18:19:43 <korvo> I'm not very agreeable today and I'll shut up after this. I'm just tired of the way that capitalism's bent all of our sciences.
18:20:11 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:20:32 <b_jonas> korvo: did Javascript really want to look more like Java than look like C? I think it wanted to look like C, but Java also wanted to look like C, and it's only that why they look alike. the Java got in the name for marketing, because Java was already used for in-browser client-side programming
18:20:41 <ais523> I guess a good way to see the point is to consider why most languages are not adding politeness-checking features from INTERCAL – they choose to leave it out, even if excluding them has nothing to do with the language's design goals
18:21:41 <ais523> I think that this is not a coincidence and there's some plausible model of language designers that explains why they are all making the same choice there
18:26:05 <b_jonas> the politeness checking might be one of those jokes that are only funny once
18:26:24 <ais523> b_jonas: yes, but why do languages have a bias towards not including unfunny jokes rather than including them?
18:26:32 <ais523> (and why do most esolangs.org contributors have the opposite bias?)
18:28:34 <b_jonas> for the latter, becuase most people make esolangs alone and it's hard to judge which of your own jokes are funny
18:30:00 <ais523> b_jonas: hmm, I think that might be starting to get close to the esolang distinction
18:30:31 <ais523> the fewer designers a language has, the more likely it is to be an esolang – even if a solo dev attempts to make a practical language it often ends up with esolang-like elements
18:30:39 <b_jonas> I don't care too much about the esolang distinction as in which languages are esoteric, and I'm happy to document non-esoteric languages on the esowiki
18:30:59 <b_jonas> well, maybe I care a little bit
18:31:07 <ais523> b_jonas: historically there was a consensus to not document BANCSTAR on the wiki because it was considered to be not esoteric enough
18:31:14 <ais523> although at some point that changed
18:32:21 <b_jonas> I've documented at least one language on the esowiki that's both clearly non-esoteric and is notable enough for en.wikipedia to hvae an article
18:34:03 <b_jonas> I did make one compromise to the wiki being mostly about esoteric languages, which is that I kept https://esolangs.org/wiki/MIX as the main language on that title, rather than switch it over or at least make it a disambig page
18:42:34 -!- tromp has joined.
19:41:02 <sorear> LiveScript's Java co-branding was a very late change...
20:10:46 <esolangs> [[Gur yvsr]] M https://esolangs.org/w/index.php?diff=166746&oldid=166713 * Placeholding * (-4)
20:14:39 <zzo38> I made some additions of the programming language check list: gopher://zzo38computer.org/0textfile/miscellaneous/language_checklist.txt
20:16:32 <zzo38> (Probably I missed some stuff)
20:16:59 -!- pr1sm has joined.
20:19:02 <zzo38> And, about which programming languages are "esoteric": I seem to remember someone mentioning that PostScript is both esoteric and not esoteric; it seems to me that PostScript is also both general-purpose and domain-specific, and both text and binary.
20:22:09 -!- pr1sm has quit (Ping timeout: 244 seconds).
20:37:54 -!- pr1sm has joined.
20:41:11 <zzo38> I am not sure that there is really a single clear definition of "esoteric programming", but some of the mentions might be good points
20:42:22 -!- pr1sm has quit (Ping timeout: 240 seconds).
20:44:15 <zzo38> Some stuff I had made which is not really intended to be esolangs nevertheless has unusual stuff, and some other people might have done for other reasons
20:47:06 -!- pr1sm has joined.
20:49:11 <tromp> i think one common characteristic is that esoteric languages are too simple (and often too weird) to be useful for mainstream programming
20:49:46 <tromp> the don't have specification running into a hundred pages
20:50:22 <zzo38> (Some features of Free Hero Mesh are the way that they are for compatibility with MESH:Hero (also has a single designer as far as I know), but some are my own ideas.)
20:50:33 <zzo38> tromp: That is probably also a good point
20:51:22 <tromp> so let me ask: what is the simplest non-esoteric language?
20:52:39 <zzo38> However, uxn is simple but also many useful programs have been made (including text editor, picture editor, calendar, clock, card games, and other programs)
20:56:33 <tromp> are those written in uxn or in some other language that compiles to uxn?
20:58:53 <zzo38> Most of them are written directly in uxn (using the assembler).
20:59:53 <tromp> isn't uxntal the language?
21:00:35 <zzo38> Yes, uxntal is the assembler which is used; it is mostly just writing the instructions directly although there are a few things such as labels, like many assemblers have
21:09:32 <tromp> toy cpus like uxn and chip-8 are somewhat in between esoteric and mainstream languages
21:11:06 <tromp> they would have been mainstream in the hobby computer era but no longer are on modern machines
21:12:32 <tromp> the original scheme had a modest spec at 48 pages
21:15:15 <tromp> R3RS is even shorter at 41 pages
21:16:15 <tromp> while the modern R7RS small edition is 84 pages
21:19:00 <ais523> I can imagine a rudimentary (pre-POSIX) make(1) that's practically useful and very easy to specify
21:19:46 <ais523> from the opposite end, golfing languages are often considered esoteric but can be very difficult to specify
21:20:18 <ais523> (TIO! classifies languages into "practical" and "recreational" rather than "esoteric" and "non-esoteric", and puts golfing languages in the recreational category, even though they are occasionally practically useful)
21:21:12 <zzo38> Tricks to shorten uxn programs are common even though that is (probably) not the primary use of uxn.
21:22:19 -!- ais523 has quit (Quit: quit).
21:25:38 <zzo38> (One advantage of uxn is that it is simpler and can easily be ported to many computers)
21:29:11 <esolangs> [[Collern]] https://esolangs.org/w/index.php?diff=166747&oldid=166712 * Dmiz * (+26)
21:30:45 -!- pr1sm has quit (Remote host closed the connection).
21:35:00 <zzo38> (Some tricks take advantage of circular stacks, such as the "DUP2k EOR2" trick and the "GTHrk JMPrk BRK" trick)
21:51:58 <esolangs> [[Collern]] https://esolangs.org/w/index.php?diff=166748&oldid=166747 * Dmiz * (-21)
22:11:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:47:36 <esolangs> [[PizzaScript]] N https://esolangs.org/w/index.php?oldid=166749 * Jay * (+2) Created page with "gh"