←2024-06-23 2024-06-24 2024-06-25→ ↑2024 ↑all
00:03:08 <ais523> hi salpynx
00:03:45 <ais523> Sgeo: I guess so – there's no point in creating such a language unless there's a good joke behind it
00:07:51 <salpynx> hi!
00:09:59 <salpynx> sgeo: as it's described it seems there's an outside chance that there's an interesting way to explore making it work even without the word mark, which seems a reasonable esolang thing to try.
00:11:43 <salpynx> the 'restricted subset' genre of esolangs
00:25:03 <Sgeo> I guess the joke is that IBM 1401 machine code has an exception in how it works specifically to allow it to work at all, so my esolang is a simplification that renders it unusable
00:26:59 <Sgeo> A "word mark" is a bit present for each character in memory in a 1401. To run an instruction, the word mark has to be set for the beginning of the instruction, and one character after its end. The "set word mark" instruction, `,` in its 2 address form (7 characters) is exempt from the second part of the rule. So the IBM 1401, when starting from punched card, sets a word mark for the first character, and the exemption allows set word mark to set up other word
00:26:59 <Sgeo> marks in memory
00:28:19 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=131150&oldid=131079 * Sgeo * (+113) 140huh
00:29:24 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=131151&oldid=131150 * Sgeo * (+4) I forgot the full name of my own language
00:30:49 <Sgeo> There's I think one or two other operations that don't need the trailing word mark. I don't know if allowing those to operate without the word mark (as in a real 1401) would allow programming, without set word mark being usable
00:32:57 <esolangs> [[IBM 140huh]] https://esolangs.org/w/index.php?diff=131152&oldid=131001 * Sgeo * (+237)
00:35:31 <Sgeo> "The 4-character unconditional branch instruction, the 7 -character set word
00:35:31 <Sgeo> mark, and clear storage and branch instructions are the only instructions that
00:35:31 <Sgeo> can be followed by a blank without a word mark. All other instructions must
00:35:31 <Sgeo> be followed by a word mark. "
00:39:15 <salpynx> A worked example that shows it falling over itself would make the joke clearer (and educate by counter-example how IBM 1401s operated), I get the gist of of it, but I'm not sure I see the necessity of the mark yet. I can accept it though.
00:40:56 <salpynx> It's a worthy addition to the wiki. Just the fact that this much thought and discussion has occurred over an entry on the esolangs joke lang page makes it considerably more funny than most, in a meta sense.
00:47:13 <esolangs> [[IBM 140huh]] https://esolangs.org/w/index.php?diff=131153&oldid=131152 * Sgeo * (+510) Hello world
00:48:34 <esolangs> [[IBM 140huh]] https://esolangs.org/w/index.php?diff=131154&oldid=131153 * Sgeo * (+4) Machine code, not assembly
00:48:37 <salpynx> re. wiki noise, I'm sometimes tempted to interact with some of the seemingly throwaway langs (with examples or interpreters) but am never 100% sure if this is feeding the trolls, or (best case) re-focusing to the purpose of the wiki.
00:49:20 <Sgeo> salpynx, is this clearer?
00:49:37 <salpynx> it's not necessarily trolling, but there dose seem to be a common 'get a high score' of esolangs created, which ends up being a solo noise-generating pursuit
00:51:02 <salpynx> on a pretty permissive wiki, that uses the 'f' word seriously (unfortunately I think that's a big draw card)
00:53:42 <esolangs> [[User:Sgeo]] https://esolangs.org/w/index.php?diff=131155&oldid=40771 * Sgeo * (+17) IBM 140huh
00:55:53 <salpynx> that blog entry looks good, wikipedia wasn't very helpful in explaining technical details as usual.
01:05:25 -!- ais523 has quit (Remote host closed the connection).
01:05:25 <zzo38> I don't know much about IBM 1401, so an explanation (or a link to documentation of IBM 1401) would help too, since I don't know what are all of the instructions and many people who don't know IBM 1401 will not know
01:06:46 -!- ais523 has joined.
01:12:55 <esolangs> [[User:BoundedBeans/Interpreters]] N https://esolangs.org/w/index.php?oldid=131156 * BoundedBeans * (+3346) Added Brainfuck in dzaima/APL
01:14:06 <esolangs> [[User:BoundedBeans]] https://esolangs.org/w/index.php?diff=131157&oldid=130339 * BoundedBeans * (+118)
01:15:44 <salpynx> So the IBM 140huh processor reads 6 bit characters until it finds a word mark, or (presumably) until the end of program input. Then looks up the variable length command to perform the action.
01:15:54 <salpynx> Because there are no word marks on the cards, the entire program is read as one word, and is unlikely to be matched in the lookup table. If it is, it's a one command program, and not very useful.
01:17:45 <salpynx> If the 008 in ,008015 is really adding the first command's own terminating word mark, that's quite funny, and that's the serious 1401 version!
01:18:17 <Sgeo> That's not quite what it does. It adds the starting word mark for the next instruction. It doesn't need its own terminating word mark, as far as I understand
01:18:43 <salpynx> ah, ok that's similar, but I get how it's different
01:18:48 <Sgeo> Every instruction needs a starting word mark, and every instruction except for 3 (including set word mark) needs a terminating word mark
01:19:30 <Sgeo> The starting word mark is set by pressing the button on the card reader to load, which puts a word mark into position 1
01:23:51 <zzo38> Then you will have to add a word mark by loading a card at a different address (if that can be done), I guess
01:27:02 <Sgeo> I wonder if there's a way to set word marks from the console. Shouldn't apply to the esolang, since that just says that it's based on what goes on the card
01:28:39 <salpynx> every other 6 bit character must be loaded with start and end word marks at a default of not-set. The program starts, and fills in the needed word marks to delimit the commands as it goes
01:32:34 <zzo38> I can see a picture of the controls; there are controls for "manual address", but I don't actually know what they do. There are other controls too; Wikipedia has a picture with more than the article linked from esolang wiki, and maybe the switch labeled "M" on the bottom is for the word mark
01:33:10 -!- salpynx37 has joined.
01:33:52 <salpynx37> An accurate interpreter would just be a patch to an existing IBM 1401 emulator to make the necessary "fix". That would be a bit funny.
01:34:31 <ais523> fwiw a major inefficiency in x86 and x86-64 is not having word marks, nor any efficient way to calculate them
01:34:43 <ais523> there are pipeline stages devoted simply to measuring the length of instructions
01:35:16 -!- salpynx has quit (Ping timeout: 250 seconds).
01:35:47 <ais523> thinking about this a while ago, I realised it would be more efficient to have a block of instruction lengths, followed by the instructions themselves, so that the instructions could be parsed in parallel (this would also save instruction encoding space because instructions of different lengths could be given the same encodings)
01:36:09 <ais523> although it is unclear how that should interact with jump instructions
01:37:00 <ais523> several historical x86 processors have actually used word marks in their L1C cache as a method of partially solving the problem
01:46:30 <zzo38> If IBM had wanted to make the instruction set for PC by themself instead of Intel, would they have word marks too?
01:47:23 <ais523> Intel's instruction set designs have a history of excessive backwards compatibility
01:48:12 <ais523> even to the extent that when they add new instructions to x86-64, the same instructions are added to x86 too (and new processors understand them when in 32-bit mode), which means that the encodings have to be backwards-compatible
01:48:42 <ais523> it seems doubtful whether anyone is seriously using, say, AVX-512 in 32-bit programs…
02:01:13 <Sgeo> Yeah I see instructions for changing the contents of any memory address from the console
02:01:54 -!- salpynx37 has changed nick to salpynx.
02:03:01 <Sgeo> Set the mode to ALTER, set the manual address switches to the address in question, set the switches (so the M switch would be on, the rest of the switches shouldn't matter, except maybe the C switch which iiuc should be a parity bit), and switch Enter
02:04:17 <Sgeo> https://bitsavers.org/pdf/ibm/1401/A24-1403-5_1401_Reference_Apr62.pdf page 113 (as printed in the corner, 125 in the pdf)
02:28:32 <Sgeo> Hmm, the load button on the card reader clears word marks. So you'd have to read the card in but stop it from executing, manually changing memory to have the word mark first, I think
02:29:33 <Sgeo> The creator of an IBM 1401 simulator said "I wonder if there would be tricks to get around it, like manually setting a wordmark at position 81, and taking advantage of the fact that a command can be of arbitrary length without disturbing the A- and B-address registers...". Was wondering why he was suggesting putting the word mark outside the card reader area
03:07:08 <salpynx> It looks like all opcodes are one character, so reading the first opcode is always going to be unambiguous. Not all opcodes have variable length data? (it's hard to tell which though), a modern interpreter with lookaheads should be able to figure it out
03:07:59 <salpynx> (the x86 pipeline stages mentioned above)
03:09:16 <salpynx> I like the idea of a non lookahead version that has to guess whether it has consumed enough character data to perform an operation, and then live with the consequences if it got it wrong...
03:13:41 <Sgeo> In 1401, some of the opcodes are numbers, so it may be ambiguous whether something is an opcode or an address
03:14:12 <Sgeo> Although since opcodes are one character and addresses are 3, maybe it can be disambiguated sometimes? Not fully thinking it through right now
03:14:50 <salpynx> I was looking at the number instructions, 0 doesn't appear to have a meaning, 1 is load card.
03:18:07 <salpynx> It does seem impossible to misinterpret the , set word mark, so the bootstrapping seems conceptually robust. A having-to-guess 1401huh interpreter would be interesting to play with and calculate probabilities for, but I think it'd trivially guess real 1401 code correctly.
03:21:20 <Sgeo> Anyway I'm forking Open-SIMH and making a 140huh interpreter
03:22:04 <Sgeo> Just deleting the NOWM flag from the two instructions that had it (one of them was set word mark, the other was clear storage)
03:23:23 <salpynx> that is excellent, I was just thinking this has made me want to try 1401 punch card code for real because it's really quite esoteric without modification.
03:25:05 <Sgeo> http://simh.trailing-edge.com/pdf/i1401_doc.pdf
03:25:07 -!- visilii has joined.
03:25:25 <salpynx> Without trying a real interpreter I can't tell from the specs whether the NOP command N is one or 7 characters...
03:28:19 <Sgeo> Think a lot of commands have stuff optional. I think that includes set word mark, I'm not totally sure if simh is correct, I think only the 7 character form of set word mark doesn't need the word mark afterwrds
03:33:33 <Sgeo> https://ibm-1401.info/ and https://rolffson.de/ may be of interest
03:51:27 <Sgeo> sim> at cdr foo.txt
03:51:27 <Sgeo> sim> set lpt default
03:51:27 <Sgeo> sim> b cdr
03:51:27 <Sgeo> Address register wrap, IS: 1 (DCW @,008015,022029,036043,050054,055062,063065,066077/333/M0762502F1.HELLO WORLD @)
03:56:11 -!- ais523 has quit (Remote host closed the connection).
03:57:24 -!- ais523 has joined.
03:59:08 <esolangs> [[IBM 140huh]] https://esolangs.org/w/index.php?diff=131158&oldid=131154 * Sgeo * (+492)
04:03:15 -!- ais523 has quit (Quit: quit).
04:18:18 <salpynx> 'Address register wrap, IS: 1' is the punchline. It's basically a trivial Nope. substitution: s/Nope./Address register wrap, IS: 1/
04:19:41 <salpynx> Am I interpreting it correctly that the _entire program_ is being referred to as instruction 1?
04:23:51 <Sgeo> I think it's hitting an address that's out of memory, trying to find the end of the instruction
04:41:38 <Sgeo> https://www.youtube.com/watch?v=2-COOnvYTuo seems to show set word marks working without beginning with a word mark. I'm confused.
04:55:17 <Sgeo> Ooh, here's where SIMH implements unconditional branch not needing a wordmark following https://github.com/Sgeo/simh-140huh/blob/f3105e494d2a7857304c88c405c9a8893eb83a6d/I1401/i1401_cpu.c#L640
04:55:33 <Sgeo> So technically my implementation doesn't match my spec. Is there any way to abuse this to write a program?
04:57:41 <salpynx> https://ibm-1401.info/G24-1477-0_1401_dataFlow-3.pdf pg. 14 and 15 has the I-7 flow diagram from that video
05:00:44 <Sgeo> B001 is an infinite loop in my interpreter. I believe according to the spec that shouldn't exist either
05:11:14 <salpynx> p.11 of the pdf I linked suggests B is branch on the I-4 cycle if B-register holds a "blank character" OR has a word mark.
05:30:09 -!- Sgeo has quit (Read error: Connection reset by peer).
06:09:26 <esolangs> [[]] https://esolangs.org/w/index.php?diff=131159&oldid=130373 * Gggfr * (+22)
06:20:11 <esolangs> [[]] https://esolangs.org/w/index.php?diff=131160&oldid=131159 * Gggfr * (+130)
06:21:00 <esolangs> [[]] https://esolangs.org/w/index.php?diff=131161&oldid=131160 * Gggfr * (+17)
06:22:09 <esolangs> [[]] https://esolangs.org/w/index.php?diff=131162&oldid=131161 * Gggfr * (+17)
06:24:51 <esolangs> [[]] https://esolangs.org/w/index.php?diff=131163&oldid=131162 * Gggfr * (+17)
07:04:01 <esolangs> [[Pastebin]] N https://esolangs.org/w/index.php?oldid=131164 * MihaiEso * (+637) Created page with "'''Pastebin''' is a joke language made by Mihai Popa. It does this: when you put a Pastebin paste link, it will print the contents of it. == Syntax == Every valid Pastebin paste link will print the contents of it. It's like a quine. == Examples == === Hello, world! =
07:04:45 <esolangs> [[User:MihaiEso]] https://esolangs.org/w/index.php?diff=131165&oldid=131011 * MihaiEso * (+98) Added a esolang to my list...
07:06:27 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=131166&oldid=131151 * MihaiEso * (+56) /* General languages */ Added a language to the list.
07:07:31 <esolangs> [[Pastebin]] https://esolangs.org/w/index.php?diff=131167&oldid=131164 * MihaiEso * (+23)
07:12:50 -!- Koen has joined.
07:29:31 <esolangs> [[User:Ractangle/FOR]] https://esolangs.org/w/index.php?diff=131168&oldid=131137 * Ractangle * (-478) /* Modules */
07:29:45 <esolangs> [[User:Ractangle/FOR]] https://esolangs.org/w/index.php?diff=131169&oldid=131168 * Ractangle * (-105) /* Examples */
08:41:41 -!- __monty__ has joined.
09:19:55 <salpynx> not only do you have to bootstrap word marks, which takes up half of your first card, you have to write code to load the second card, which I discovered painfully after writing more than 80 characters
09:45:57 <esolangs> [[Pastebin]] https://esolangs.org/w/index.php?diff=131170&oldid=131167 * MihaiEso * (+8) /* Examples */ Linkified
10:00:12 <esolangs> [[Pastebin]] M https://esolangs.org/w/index.php?diff=131171&oldid=131170 * None1 * (+79)
10:09:23 <esolangs> [[Turnfunge]] M https://esolangs.org/w/index.php?diff=131172&oldid=127270 * None1 * (+73) /* See also */
10:14:16 <esolangs> [[Talk:Yoctofunge]] https://esolangs.org/w/index.php?diff=131173&oldid=130632 * None1 * (+354) /* Further minimalization */ new section
10:14:40 <esolangs> [[Talk:Yoctofunge]] M https://esolangs.org/w/index.php?diff=131174&oldid=131173 * None1 * (+1) /* Further minimalization */
10:20:44 -!- salpynx has quit (Quit: Client closed).
10:25:33 <esolangs> [[Segmentation Fault]] M https://esolangs.org/w/index.php?diff=131175&oldid=127297 * None1 * (-29) /* Interpreter */ Not a no-code esolang as its depends on code
10:26:52 <esolangs> [[Segmentation Fault]] M https://esolangs.org/w/index.php?diff=131176&oldid=131175 * None1 * (-55)
10:28:23 <esolangs> [[Category:No-code esolang]] M https://esolangs.org/w/index.php?diff=131177&oldid=115860 * None1 * (-2) grammar
10:30:22 -!- Koen has quit (Remote host closed the connection).
10:38:56 <esolangs> [[User talk:Ais523]] M https://esolangs.org/w/index.php?diff=131178&oldid=131117 * None1 * (+165) /* Copyright Violation */
10:56:36 <esolangs> [[User talk:Truttle1]] https://esolangs.org/w/index.php?diff=131179&oldid=101220 * Ractangle * (+132) /* Too lazy to think of a title */
11:27:04 <esolangs> [[User:EvyLah]] https://esolangs.org/w/index.php?diff=131180&oldid=130909 * EvyLah * (-5)
11:30:42 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=131181&oldid=130918 * None1 * (-5355)
11:32:07 -!- Koen has joined.
11:36:50 <esolangs> [[Wikitables]] N https://esolangs.org/w/index.php?oldid=131182 * None1 * (+5602) Created page with "'''Wikitables''' is a visual esolang invented by [[User:None1]]. It wass drafted in January 2024, but forgotten until the time it was created in June 2024. It uses wikitext-like syntax. ==Syntax== A Wikitables program consists of some '''rows''', each row consists of s
11:38:04 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=131183&oldid=131058 * None1 * (+17) /* W */
11:39:21 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=131184&oldid=131081 * None1 * (+70) /* My Esolangs */
11:44:20 <esolangs> [[Wikitables]] M https://esolangs.org/w/index.php?diff=131185&oldid=131182 * None1 * (-7)
11:57:49 -!- amby has joined.
12:04:42 -!- amby has quit (Read error: Connection reset by peer).
12:04:59 -!- amby has joined.
12:23:32 <esolangs> [[User:Ractangle/FOR]] https://esolangs.org/w/index.php?diff=131186&oldid=131169 * Ractangle * (-506)
12:23:53 <esolangs> [[Special:Log/newusers]] create * I found this one look * New user account
12:24:42 <esolangs> [[Talk:Deutsch]] N https://esolangs.org/w/index.php?oldid=131187 * Ractangle * (+160) Created page with "That is just a language. Which is funny ~~~~"
12:24:43 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=131188&oldid=131147 * I found this one look * (+134) Hello, and I found this one look
12:35:00 -!- Koen has quit (Remote host closed the connection).
12:35:29 <esolangs> [[SimpleCalc]] M https://esolangs.org/w/index.php?diff=131189&oldid=130586 * None1 * (+23)
12:36:34 <esolangs> [[Wikitables]] M https://esolangs.org/w/index.php?diff=131190&oldid=131185 * None1 * (-1) Typo
13:29:10 -!- cpressey has joined.
13:59:01 -!- chiselfuse has quit (Remote host closed the connection).
13:59:40 -!- chiselfuse has joined.
14:04:45 -!- Koen has joined.
14:37:34 -!- ais523 has joined.
14:38:07 <esolangs> [[Talk:Base64 Text]] N https://esolangs.org/w/index.php?oldid=131191 * None1 * (+141) Created page with "This is exactly the same as text, I don't see anything different. --~~~~"
15:02:25 <esolangs> [[Talk:Base64 Text]] https://esolangs.org/w/index.php?diff=131192&oldid=131191 * MihaiEso * (+173)
15:22:08 -!- Koen has quit (Remote host closed the connection).
15:26:52 -!- Koen_ has joined.
16:12:37 <esolangs> [[User:Gilbert189/Babalang+]] N https://esolangs.org/w/index.php?oldid=131193 * Gilbert189 * (+6702) (draft)
16:12:48 <esolangs> [[User:Gilbert189]] https://esolangs.org/w/index.php?diff=131194&oldid=129127 * Gilbert189 * (+352) Added drafts
16:15:37 -!- impomatic has joined.
16:21:14 <esolangs> [[User:Gilbert189/Languages in concept]] https://esolangs.org/w/index.php?diff=131195&oldid=129133 * Gilbert189 * (+206)
16:35:48 <esolangs> [[User:Gilbert189/Jumble]] N https://esolangs.org/w/index.php?oldid=131196 * Gilbert189 * (+5810) (draft)
16:39:15 -!- cpressey has quit (Ping timeout: 264 seconds).
16:45:59 <esolangs> [[User:Gilbert189/An Esolang about Declaring Statements]] N https://esolangs.org/w/index.php?oldid=131197 * Gilbert189 * (+11876) (draft)
16:47:00 <esolangs> [[User:Gilbert189]] https://esolangs.org/w/index.php?diff=131198&oldid=131194 * Gilbert189 * (+104) /* Drafts */
16:54:05 <esolangs> [[User:MihaiEso/InDev]] https://esolangs.org/w/index.php?diff=131199&oldid=129195 * MihaiEso * (+2900) One more language in InDev!
16:54:18 <esolangs> [[User:MihaiEso/InDev]] https://esolangs.org/w/index.php?diff=131200&oldid=131199 * MihaiEso * (+6) Boldify
16:54:34 <esolangs> [[3 Bits, 1.5 Bytes]] https://esolangs.org/w/index.php?diff=131201&oldid=129653 * MihaiEso * (+6) Boldify!
17:12:45 <esolangs> [[Cat]] https://esolangs.org/w/index.php?diff=131202&oldid=129931 * BestCoder * (+2128)
18:06:57 -!- ais523 has quit (Quit: quit).
18:12:04 -!- Lord_of_Life_ has joined.
18:12:20 -!- Lord_of_Life has quit (Ping timeout: 268 seconds).
18:13:28 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
18:43:49 -!- cpressey has joined.
18:47:30 <cpressey> In capture-avoiding substitution a[s:=t], what do we lose if we just forbid free variables from appearing in t?
18:48:59 -!- chiselfuse has quit (Remote host closed the connection).
18:49:05 <cpressey> We lose... use cases where we need to substitute terms that contain free variables, into other terms. But what those use cases are exactly, is what I'm wondering
18:49:24 <int-e> well you won't be able to implement lambda calculus anymore
18:49:33 -!- chiselfuse has joined.
18:50:27 <cpressey> No great loss.
18:50:31 <int-e> consider \x. (\y. y) x -> \x. y[y:=x] = \x. x
18:51:43 <int-e> Well your question is asked in a vacuum then, what *do* you want to use substitutions for?
18:51:48 <cpressey> That seems to be sort of because lambda calculus has so little in it that it relies on expressions containing free variables in order to say anything interesting. In a richer language, you can say interesting things, without having to use free variables.
18:52:33 <int-e> You can do combinatory logic which barely needs substitutions.
18:53:13 -!- chiselfuse has quit (Remote host closed the connection).
18:54:46 -!- chiselfuse has joined.
18:59:44 <cpressey> For concreteness, suppose it's lambda calculus plus some "usual" data types like integers and atomic symbols and whatnot. For "eager" normalization, you'd reduce expressions to "ground" terms before ever plugging them into other terms.
19:00:34 <cpressey> So, exactly, what *does* one want to use substitutions for, in that context, where one cares about retaining free variables too?
19:01:38 <cpressey> Anyway, it's a lark, it's a misguided thought based on the observation that you can just cut out most of the capture-avoiding substitution algorithm by forbidding free variables in the replacement thing.
19:01:58 <riv> hello
19:02:19 <int-e> unrestricted beta is useful for optimization
19:06:55 <int-e> But yeah if you have data and you never reduce under a lambda then starting with a closed term, you'll never encounter substitutions with free variables.
19:08:00 <int-e> Which is also true without having data but then you're bound to get stuck in a WHNF quickly.
19:12:00 <cpressey> hi riv
19:13:07 <cpressey> "optimization", I could believe that. I was thinking possibly "macros", very non-specific, could mean anything. But I could believe that.
19:15:11 <esolangs> [[User:MihaiEso/Esoteric formats]] https://esolangs.org/w/index.php?diff=131203&oldid=131069 * MihaiEso * (+82)
19:15:32 <int-e> at this abstraction level, "inlining" is a kind of (often partial) beta-reduction
19:16:55 <int-e> ("partial" -- we'd be doing (\x. M[x]) N -> (\x. M[N]) N to "inline" one "call" of x; x can still occur in M as well.)
19:17:23 <int-e> (the usual capture-avoidance concerns apply)
19:20:07 <int-e> (This is justified because both of these expressions reduce to M[x:=N] in a single beta step.)
19:50:16 -!- impomatic has quit (Quit: Client closed).
19:52:25 <cpressey> "Manipulation of terms under binders". Yeah, OK. Well, that is useful. I can probably get away without it, for my purposes, for now. More of a nice-to-have, coming-soon sort of feature.
19:55:02 <cpressey> So I can pretend beta-reduction is the rewriting rule (\x.y)z -> y[x:=z], and probably get away with it, without resorting to some complicated system of higher-order term rewriting. Maybe.
20:03:35 <cpressey> And actually, subst (with this restriction) can be implemented as conditional rewrite rules too, which is probably why I care in the first place. But this is definitely going too far.
20:24:17 <cpressey> I'd really like to find the time to implement this properly. Oh well.
20:24:20 -!- cpressey has quit (Quit: WeeChat 4.3.0).
20:27:19 <int-e> Oh yes, let's make a fine-grained calculus for substitution. Without variables, so we only have combinators. We could call it combinatory logic...
21:08:20 <esolangs> [[BF]] https://esolangs.org/w/index.php?diff=131204&oldid=8152 * BestCoder * (-9) Removed redirect to [[Brainfuck]]
21:08:40 <esolangs> [[BF]] https://esolangs.org/w/index.php?diff=131205&oldid=131204 * BestCoder * (+2)
21:09:25 <esolangs> [[BF]] https://esolangs.org/w/index.php?diff=131206&oldid=131205 * BestCoder * (+66)
21:10:06 <esolangs> [[User:BestCoder]] https://esolangs.org/w/index.php?diff=131207&oldid=130882 * BestCoder * (+7)
21:10:21 <esolangs> [[User:BestCoder]] https://esolangs.org/w/index.php?diff=131208&oldid=131207 * BestCoder * (+5)
21:10:56 <esolangs> [[You wait here]] https://esolangs.org/w/index.php?diff=131209&oldid=130881 * BestCoder * (+34) /* Commands */
21:11:12 <esolangs> [[You wait here]] https://esolangs.org/w/index.php?diff=131210&oldid=131209 * BestCoder * (+8) /* 3 program */
21:12:08 <esolangs> [[You wait here]] https://esolangs.org/w/index.php?diff=131211&oldid=131210 * BestCoder * (+69) /* Commands */
21:12:50 -!- cpressey has joined.
21:19:30 -!- cpressey has quit (Ping timeout: 268 seconds).
21:32:16 -!- Koen_ has quit (Remote host closed the connection).
22:26:08 -!- Sgeo has joined.
22:50:05 -!- __monty__ has quit (Quit: leaving).
23:06:40 -!- salpynx has joined.
23:19:20 <esolangs> [[Text]] M https://esolangs.org/w/index.php?diff=131212&oldid=127484 * Salpynx * (-58) /* See also */ not FSA (there's no A invloved)
23:19:32 <esolangs> [[You wait here]] M https://esolangs.org/w/index.php?diff=131213&oldid=131211 * None1 * (+48)
23:21:25 <esolangs> [[Base64 Text]] M https://esolangs.org/w/index.php?diff=131214&oldid=129083 * Salpynx * (-58) /* Development environments */ Not FSA
23:28:05 -!- 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).
23:28:24 <esolangs> [[Talk:Base64 Text]] https://esolangs.org/w/index.php?diff=131215&oldid=131192 * Salpynx * (+356) spec in error
23:45:41 -!- salpynx has quit (Quit: Client closed).
23:46:17 <esolangs> [[W110]] N https://esolangs.org/w/index.php?oldid=131216 * Tommyaweosme * (+157) Created page with "{{stub}} W110 (or Wolfram's rule 110) is a 2D [[Cellular automaton]] proven to be Turing-complete. [[Category:Cellular automata]][[Category:Turing complete]]"
←2024-06-23 2024-06-24 2024-06-25→ ↑2024 ↑all