00:04:12 [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF]] https://esolangs.org/w/index.php?diff=155753&oldid=155715 * PrySigneToFry * (+47) 00:11:19 Do you know where is documentation for adding the new locales and writing your own code to handle this? 00:13:10 zzo38: I don't know, you could try to ask on #glibc 00:14:23 There used to be a page on the freedesktop.org wiki but I can't find it. https://docs.translatehouse.org/projects/localization-guide/en/latest/guide/locales_x11.html looks like it has some of the necessary steps. 00:17:30 I suppose glibc is also relevant because setlocale will have to accept it too 00:20:11 [[Tskastic/Command Table]] https://esolangs.org/w/index.php?diff=155754&oldid=155652 * PrySigneToFry * (+167) 00:27:41 I found some information about glibc locales. However, it seems to require Unicode for some purposes, so I don't know how to make it work without (or how to implement stateful encodings). However, I only need the locale for Xlib, so as long as setlocale function accepts it even if it cannot otherwise do anything with it, might be acceptable. (There are other problems with glibc and POSIX locales too anyways) 00:28:10 [[BitChanger Busy beaver/Proof]] https://esolangs.org/w/index.php?diff=155755&oldid=155748 * C++DSUCKER * (+348) 00:28:21 (For one thing, I think many of the things they put in there don't belong there anyways) 00:34:02 But, that isn't my concern right now; I wanted to know how to work it with Xlib. 00:34:52 -!- lisbeths has joined. 00:41:25 lisbeths: I stubbed two articles on low-level parsing machines designed for meta, LPeg and META II. The latter also has a WP article, if you'd like more examples. 00:42:00 I also was considering OMeta or Ohm, as well as (the UNIX flavor of) TMG, but I don't think that those are likely to be useful for you. 00:42:41 OMeta is meant to be hosted as a DSL inside a fairly rich ALGOL derivative. Ohm is slow and IMO a dead end due to not being able to leave ECMAScript. 00:42:42 zzo38: I did't know Xlib was involved, I thought locales were handled through libc only 00:42:52 I think I am pushing up to the limits of what a high level assembly language that does not compiler down to the machine code could be 00:43:42 TMG is interesting, but ultimately it's not a line of research which allows for the meta-language to vary with the needs of compiler authors. If you like it, look at its offspring, particularly the Bison/YACC lineage. 00:44:21 What are those limits? 00:44:24 I was saddened to find that posix doesn't come with yacc 00:44:52 well like I don't think I can make my assembler language more performant without translating to machine code and then executing the machine code 00:45:51 You could likely translate to a *virtual* machine, which is a lot easier than native JIT if you're limiting yourself to C. 00:46:09 I think my program is a virtual machine 00:56:31 Xlib has its own locale handling but uses the locale set by libc, which means I think both are required 00:58:40 [[User talk:MihaiEso]] https://esolangs.org/w/index.php?diff=155756&oldid=154088 * PrySigneToFry * (+1034) /* Make it even scarier !!!! */ new section 01:27:38 [[Tskastic/Command Table]] https://esolangs.org/w/index.php?diff=155757&oldid=155754 * PrySigneToFry * (+964) 01:35:02 [[User talk:Hotcrystal0]] https://esolangs.org/w/index.php?diff=155758&oldid=155691 * PrySigneToFry * (+42) 01:57:25 It seems that one thing I will need to do is to make that setlocale(LC_CTYPE,0) will be able to return the locale name that I want if that locale is set. However, I can't set a locale unless libc allows it (even if the locale is otherwise empty; glibc seems to require locales to be Unicode and in this case I want to create non-Unicode locales, but it might not matter if the locale doesn't actually do anything). 01:59:15 It seems that, on my computer, it accepts the locales called "C", "POSIX" (which gets converted to "C"), "en_US.UTF-8", "en_CA", "en_CA.UTF-8", and "en_CA.ISO-8859-1"; nothing else I tried works. 02:01:07 (I don't actually need any of those other than the "C" locale, although I want to add another one in order that the setlocale function allows it to be selected (and will return the name I have defined for it rather than changing it to a different one), even if the new locale has no meaning otherwise.) 02:01:51 (Also, I think I don't need the new locale to work with any category other than LC_CTYPE.) 02:05:03 -!- op_4 has quit (Remote host closed the connection). 02:05:33 -!- op_4 has joined. 02:19:23 [[]] N https://esolangs.org/w/index.php?oldid=155759 * PrySigneToFry * (+7) Created page with "{{WIP}}" 02:22:37 [[Talk:]] N https://esolangs.org/w/index.php?oldid=155760 * PrySigneToFry * (+1175) Created page with "Here is the forum of this langauge. = Name = I also used AI, and DeepSeek-R1 gives me the name "". Is that name good? Also, DeepSeek said that Korean are used for stack-operation and Japanese(especially Katakana) are used for function define, and Chinese are contr 02:23:16 [[User talk:Hotcrystal0]] https://esolangs.org/w/index.php?diff=155761&oldid=155758 * PrySigneToFry * (+39) 02:28:53 I'm doing one of those things where I listen to a greybeard interview and summarize the findings. Hopefully folks will let me know if they want transcriptions? 02:36:42 [[Tmg]] N https://esolangs.org/w/index.php?oldid=155762 * Corbin * (+2241) Stub an important historical language. 02:37:45 [[META II]] M https://esolangs.org/w/index.php?diff=155763&oldid=155734 * Corbin * (+21) One of two influences on one of Knuth's metacompilers. 02:41:27 lisbeths: ^^ Stubbed Tmg. It could be what you're looking for; it's a very powerful formalism. It does require a fair bit of RAM and was eventually outcompeted by the YACC approach which supports fewer grammars but is much smaller and faster. 03:07:29 Somebody talk me out of CHR(META II). It sounds like a lot of work but also *very* funny. 04:46:57 [[]] https://esolangs.org/w/index.php?diff=155764&oldid=155759 * PrySigneToFry * (+707) 05:00:16 Idea of esolangs: programming language that is made of only characters that are not in Unicode (and possibly that are not in any other character set either, but that is even more difficult) 05:02:40 -!- amadaluzia has quit (Ping timeout: 268 seconds). 05:11:27 [[Talk:]] https://esolangs.org/w/index.php?diff=155765&oldid=155760 * I am islptng * (+909) 05:19:45 [[Talk:257-wrap brainfuck]] https://esolangs.org/w/index.php?diff=155766&oldid=155335 * Tpaefawzen * (+236) /* Why the 3rd difference? */ Replied 05:21:40 [[Talk:]] https://esolangs.org/w/index.php?diff=155767&oldid=155765 * I am islptng * (+685) 05:25:13 [[Talk:]] https://esolangs.org/w/index.php?diff=155768&oldid=155767 * I am islptng * (+937) 05:28:33 -!- amadaluzia has joined. 05:30:33 [[Talk:]] https://esolangs.org/w/index.php?diff=155769&oldid=155768 * I am islptng * (+87) 05:33:59 -!- amadaluzia has quit (Ping timeout: 260 seconds). 05:40:57 -!- craigo has quit (Quit: Leaving). 05:50:09 [[User:PrySigneToFry]] https://esolangs.org/w/index.php?diff=155770&oldid=155635 * PrySigneToFry * (+578) 06:10:26 [[List of ideas]] https://esolangs.org/w/index.php?diff=155771&oldid=155675 * Zzo38 * (+165) Programming language that only uses characters that are not in Unicode (alternatively, only uses characters that are not in any other character set than its own). 06:37:08 -!- lisbeths has quit (Quit: Connection closed for inactivity). 07:19:18 -!- Lord_of_Life has quit (Ping timeout: 252 seconds). 07:19:55 -!- Lord_of_Life has joined. 07:21:16 [[General blindfolded arithmetic]] https://esolangs.org/w/index.php?diff=155772&oldid=154719 * Stkptr * (+2493) 07:30:08 [[User:PkmnQ/common.css]] https://esolangs.org/w/index.php?diff=155773&oldid=155730 * PkmnQ * (+31) Similar but different font 07:55:07 Hi 08:01:28 [[]] https://esolangs.org/w/index.php?diff=155774&oldid=155764 * PrySigneToFry * (+156) 08:20:04 -!- zzo38 has quit (Ping timeout: 252 seconds). 08:23:35 [[]] https://esolangs.org/w/index.php?diff=155775&oldid=155774 * PrySigneToFry * (+184) 08:34:56 [[Talk:]] https://esolangs.org/w/index.php?diff=155776&oldid=155769 * I am islptng * (+671) 08:41:20 -!- Noisytoot has quit (Excess Flood). 08:41:46 -!- Noisytoot has joined. 08:50:44 -!- lisbeths has joined. 08:57:39 [[User:RixTheTyrunt]] https://esolangs.org/w/index.php?diff=155777&oldid=107040 * RixTheTyrunt * (+15887) 09:03:18 [[BitChanger Busy beaver/Proof]] https://esolangs.org/w/index.php?diff=155778&oldid=155755 * C++DSUCKER * (+435) 09:07:19 [[Kolakoski sequence]] https://esolangs.org/w/index.php?diff=155779&oldid=152106 * PkmnQ * (+848) finally got around to the [[Minsky machine]] implementation 10:24:04 [[User:RixTheTyrunt]] https://esolangs.org/w/index.php?diff=155780&oldid=155777 * RixTheTyrunt * (+68) 10:24:57 [[Special:Log/newusers]] create * Junkshipp * New user account 10:27:40 -!- Sgeo has quit (Read error: Connection reset by peer). 10:28:05 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=155781&oldid=155728 * Junkshipp * (+155) /* Introductions */ 10:58:10 [[CJKGolfer]] https://esolangs.org/w/index.php?diff=155782&oldid=154048 * PrySigneToFry * (+0) 10:59:15 [[]] https://esolangs.org/w/index.php?diff=155783&oldid=155775 * PrySigneToFry * (+2185) 11:20:51 [[Empty Program]] https://esolangs.org/w/index.php?diff=155784&oldid=152385 * Ractangle * (+4) /* Brainfuck, JS, Python, Lua and many other languages */ 11:22:51 [[Empty Program]] https://esolangs.org/w/index.php?diff=155785&oldid=155784 * Ractangle * (-238) /* Scratch(text), Kitten3(text), Kitten4(text) */ technicaly a null program is also correct since it does absolutely nothing 11:23:51 [[User:Ractangle/common.css]] https://esolangs.org/w/index.php?diff=155786&oldid=155737 * Ractangle * (-132) 11:24:26 [[User:Ractangle/common.css]] https://esolangs.org/w/index.php?diff=155787&oldid=155786 * Ractangle * (-2) 12:42:18 -!- Lord_of_Life has quit (Excess Flood). 12:43:17 -!- Lord_of_Life has joined. 12:48:09 [[Special:Log/upload]] upload * Joachim * uploaded "[[File:UPLHelloWorld.gif]]": A screen capture showing the execution of an Hello World program in UPL. 12:51:41 [[Undyne Programming Language]] https://esolangs.org/w/index.php?diff=155789&oldid=155562 * Joachim * (+28) 13:01:24 -!- leah2 has quit (Ping timeout: 272 seconds). 13:22:21 -!- leah2 has joined. 13:30:23 Thinking about Futamura projections and specializers. A syntax-directed compilation, as a program, could represent a morphism in a category of compilers. But the implementation seems hard given the available metacompilers. 13:31:00 Like, in META II or Tmg, it's not hard to imagine an identity compiler for a given syntax; each rule contains actions which pretty-print itself. 13:33:00 In META II, for each terminal like `.id`, there would be a following quine, like `.id .out(*)`, and similarly for each literal like `'/'` a quine like `'/' .out('/')`. 13:33:23 META II has whitespace issues which have known fixes. Tmg's good to go. 13:34:11 But that's the easy part. More difficult is composition; given two syntax-directed compilers where one can feed into the other, how can we *compute* the composite compiler? 13:35:16 Even given Tmg's relatively nice algebra, it seems like this could only be done by a Turing-complete simulation of the second compiler in terms of the first compiler. It seems like it would be messy and require a lot of partial-evaluation trickery. 13:40:40 ...So last night I dreamed of how to take a product of two compilers. And one of the things I imagined was that there could be a natural curry. 13:41:39 -!- leah2 has quit (Ping timeout: 260 seconds). 13:44:33 Like, suppose I want to compose two META II programs, one from language X to Y and one from Y to Z. Instead of somehow simulating that second compiler in terms of the first, maybe we could recompile the first one into a language that parses X and returns instructions for parsing Y in terms of Y. 13:44:59 And this new curried compiler, when run on a compiler from Y to Z, produces the desired final product from X to Z. 13:45:17 [[Special:Log/upload]] upload * Joachim * uploaded "[[File:UPLLogo.png]]": The logo of UPL. 13:55:48 [[Undyne Programming Language]] https://esolangs.org/w/index.php?diff=155791&oldid=155789 * Joachim * (+247) 13:56:08 -!- leah2 has joined. 13:59:21 [[Undyne Programming Language]] M https://esolangs.org/w/index.php?diff=155792&oldid=155791 * Joachim * (+42) Had deleted categories by error 14:11:30 [[Stackowey]] https://esolangs.org/w/index.php?diff=155793&oldid=155719 * Lampe2020 * (+89) /* Syntax */ Add "prick" command 14:17:53 -!- ais523 has joined. 14:25:13 -!- Melvar has quit (Quit: WeeChat 4.5.2). 14:32:07 [[Try to Take]] N https://esolangs.org/w/index.php?oldid=155794 * Junkshipp * (+2496) Created page with "THIS PAGE IS A WORK IN PROGRESS AND I HAVE THUS NOT ADDED CATEGORIES YET ==Introduction== Try to Take is a language capable of expressing different kinds of programs, including all Turing machines. It does this using a single command, a single constant (the numb 14:33:38 [[Try to Take]] https://esolangs.org/w/index.php?diff=155795&oldid=155794 * Junkshipp * (+1) 14:34:24 [[Try to Take]] https://esolangs.org/w/index.php?diff=155796&oldid=155795 * Junkshipp * (+6) 14:41:01 [[Onechar]] M https://esolangs.org/w/index.php?diff=155797&oldid=151472 * Cycwin * (+39) /* Some simple programs(?) */ 14:46:33 [[Onechar]] M https://esolangs.org/w/index.php?diff=155798&oldid=155797 * Cycwin * (+4) /* The Syntax */ 14:49:52 [[HAPPA]] M https://esolangs.org/w/index.php?diff=155799&oldid=155752 * RixTheTyrunt * (+40) yuh uh? 14:50:42 [[HAPPA]] M https://esolangs.org/w/index.php?diff=155800&oldid=155799 * RixTheTyrunt * (-5) 15:04:44 [[Undyne Programming Language]] M https://esolangs.org/w/index.php?diff=155801&oldid=155792 * Joachim * (+1028) Better formatting () 15:09:41 [[Syntax Null Language]] N https://esolangs.org/w/index.php?oldid=155802 * Akira * (+1381) Start Page 15:12:36 so I compiled my yacc compiler bomb into a regular expression: ^(0*1){0,23}(1(0*1){23})*$ 15:12:48 but disappointingly, so far I haven't found a regex engine that struggles with it 15:13:23 either they use backtracking (which is good at that regex even though it's exponential-time in general), or they compile the regex lazily to avoid exponential behaviour on that sort of regex 15:42:58 I was saddened to find that posix doesn't come with yacc ← POSIX does specify yacc but it might be an optional component 15:43:37 I wrote my own POSIX yacc in Perl, with the motivation being "you can ship this with your program and use it to build your .y files even if the target system doesn't have yacc, as long as it has Perl, and most systems do" 15:44:11 now you just need to add perl to posix 15:44:22 although, POSIX yacc is weird in a number of ways and I think the only reason to use it is compatibility with existing programs 15:44:50 in particular it specifies a number of things that block reasonable-looking optimisations, and the way it does precedence is weird and slightly broken 15:47:03 But that's the easy part. More difficult is composition; given two syntax-directed compilers where one can feed into the other, how can we *compute* the composite compiler? ← I think this one is interesting if you restrict the compilers to be in some restricted sub-TC compiler-writing language, it's an interesting question as to whether it composes 15:48:23 I have been thinking a lot recently about "parse with a context-free grammar into an AST, then convert the AST into a string via providing a template string for each AST node", which is a somewhat restricted but surprisingly useful way to write simple compilers or at least transpilers 15:50:03 e.g. to transpile BF to C one of the rules might look like «'[' commands ']' => "while(*ptr) { $2 }"», i.e. the output contains «while(*ptr) { » and « }» literally, and places the result of compiling «commands» in between them 15:50:38 yacc works similarly to that but generates code that runs as part of the parser, rather than generating an output string 15:51:20 and I'm not sure whether this composes with itself or not, but it'd be interesting if it did 15:52:25 I guess if it the first compiler pretty-prints from the AST and the second one parses back into the same AST, it trivially composes, so to get interesting behaviour there would have to be some sort of rebracketing going on 16:00:01 -!- tromp has joined. 16:15:56 -!- amadaluzia has joined. 16:19:09 -!- lisbeths has quit (Quit: Connection closed for inactivity). 16:23:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 16:29:53 -!- Melvar has joined. 16:31:57 [[Main Page]] M https://esolangs.org/w/index.php?diff=155803&oldid=147155 * RixTheTyrunt * (+0) 16:33:09 -!- amadaluzia has quit (Ping timeout: 260 seconds). 16:33:52 [[Main Page]] https://esolangs.org/w/index.php?diff=155804&oldid=155803 * Ais523 * (+0) Undo revision [[Special:Diff/155803|155803]] by [[Special:Contributions/RixTheTyrunt|RixTheTyrunt]] ([[User talk:RixTheTyrunt|talk]]) "brainfuck" is in fact spelled with a lowercase first letter, at least when it appears mid-sentence, according to the original specification 16:36:42 -!- amadaluzia has joined. 16:38:29 [[Arrowey]] https://esolangs.org/w/index.php?diff=155805&oldid=155563 * 5anz * (+0) 16:46:43 -!- tromp has joined. 16:52:11 even if POSIX didn't have yacc, you could compile your yacc program into C that's portable enough for any POSIX system and distribute it that way, similar to how you run autotools as a developer and get a portable enough configure script 17:25:40 ais523: Sure, that's like what Tmg offers. But just like with Futamura's original projections, I think that there's some serious engineering work being handwaved. 17:26:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 17:40:37 [[Tmg]] https://esolangs.org/w/index.php?diff=155806&oldid=155762 * Corbin * (+258) It's at least context-sensitive! 17:41:29 ais523: Oh, also see this example: https://commons.wikimedia.org/wiki/File:Brainfuck_to_C_translator_in_Unix_TMG.png 17:42:32 I can *imagine* the partial evaluator, but it seems like it's not gonna actually be fun to write. 17:47:16 -!- tromp has joined. 17:54:01 [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF]] https://esolangs.org/w/index.php?diff=155807&oldid=155753 * Hotcrystal0 * (+32) 18:23:38 -!- zzo38 has joined. 18:34:20 [[LogicGate]] https://esolangs.org/w/index.php?diff=155808&oldid=108015 * Joachim * (+167) Better readability and formatting 18:44:07 korvo: hmm, that example is a lot more complex than I was imagining 18:45:00 also the string notation is bizarre (it appears to be angle-bracket-delimited, but accepts both <<> and <>> as valid strings) 18:53:59 oh, I think I figured out the complexity – it is to indent the outputted C correctly 18:56:09 also, it seems to be numbering the rightmost nonterminal as 1, the second-rightmost as 2, and so on? 19:01:10 [[C]] https://esolangs.org/w/index.php?diff=155809&oldid=145641 * Keymaker * (+197) Link IOCCC. 19:03:01 I found the docs: apparently the parsing rule is that > can appear as the first character but not later, sort-of like how [[] and []] work in regexps 19:05:25 I guess the reason I was confused is that when strings use paired starting and ending delimiters, I expect them to nest (because that's the main advantage you get from using two different delimiters rather than a single delimiter) 19:07:00 -!- craigo has joined. 19:08:12 G'Night 19:13:49 [[User:Junkshipp]] N https://esolangs.org/w/index.php?oldid=155810 * Junkshipp * (+9) Created page with "Hi there!" 19:17:28 -!- Sgeo has joined. 19:24:50 [[Try to Take]] https://esolangs.org/w/index.php?diff=155811&oldid=155796 * Junkshipp * (+47) 19:28:49 [[Language list]] M https://esolangs.org/w/index.php?diff=155812&oldid=155744 * Buckets * (+16) 19:29:41 [[User:Buckets]] M https://esolangs.org/w/index.php?diff=155813&oldid=155745 * Buckets * (+15) 19:29:52 [[Therefuck]] N https://esolangs.org/w/index.php?oldid=155814 * Buckets * (+2076) Created page with "{{Lowercase}} therefuck is an Esoteric programming language created by [[User:Buckets]] in 2021. {| class="wikitable" |- ! Command !! Instruction |- | || If this Command is Reached, +1 Execute The Pseudo-Commands below; If this Command Is not Reached, +1. |} {| cla 19:30:21 [[Therefuck]] M https://esolangs.org/w/index.php?diff=155815&oldid=155814 * Buckets * (+18) 19:43:38 -!- amby has joined. 19:56:30 ais523: Yeah, but at least it fits on a single page. 20:05:34 this logically means that a > mid-string is escaped as ><> 20:10:40 fish 20:32:02 korvo: so after looking up Tmg, I think the style of compiler I described above is substantially different; Tmg is imperative, whereas my style is declarative 20:43:04 [[Try to Take]] https://esolangs.org/w/index.php?diff=155816&oldid=155811 * Junkshipp * (+2324) 20:46:41 [[Try to Take]] https://esolangs.org/w/index.php?diff=155817&oldid=155816 * Junkshipp * (-1) /* Abbreviations */ 20:50:52 [[Try to Take]] https://esolangs.org/w/index.php?diff=155818&oldid=155817 * Junkshipp * (+82) /* Examples of monuseries */ 21:10:45 ais523: I'm struggling to find a difference when it comes to Futamura reasoning. We want the imperative action of *computing* the residue; it's not enough to merely declare that it exists, because we're concerned with the fine structure of the residue. 21:11:29 korvo: well I was thinking about maybe using a different style of reasoning – if the compilers have a regular enough structure we may be able to find a function that composes the structure 21:11:54 for example, imagine if the compilers are finite-state transducers; we know those compose because there's an algorithm for composing finite-state transducers 21:12:08 Well, the compositions exist, if that's the concern. They're just not efficient. 21:13:47 Given two Tmg programs and a TMG implementation for some machine M, we can compile both programs to M and then run them in sequence. And it seems like Tmg is sufficiently surjective as a computational system; if it can compile X to Y and Y to Z, then it should have a compiler from X to Z. 21:14:17 But the partial evaluation of Tmg on Tmg seems as tough as any other partial evaluation. 21:17:47 (There is a real concern, particularly with jank languages like Tmg, that the compiler-compiler will get stuck when compiling Y to Z if it sees invalid input. So we'd like these to be *correct* compilers, and the first compiler must always emit valid Y.) 21:50:23 [[Past Tense]] N https://esolangs.org/w/index.php?oldid=155819 * Rottytooth * (+1135) creating Past Tense page 21:51:06 [[Past Tense]] https://esolangs.org/w/index.php?diff=155820&oldid=155819 * Rottytooth * (-74) Cleaned up desc 21:51:36 [[User:Rottytooth]] https://esolangs.org/w/index.php?diff=155821&oldid=154559 * Rottytooth * (+7) Added Past Tense 21:52:05 -!- hermes has joined. 21:54:04 [[Past Tense]] https://esolangs.org/w/index.php?diff=155822&oldid=155820 * Rottytooth * (+121) Text clean-up 21:54:49 [[Language list]] https://esolangs.org/w/index.php?diff=155823&oldid=155812 * Rottytooth * (+16) /* P */ 21:55:13 [[Language list]] https://esolangs.org/w/index.php?diff=155824&oldid=155823 * Rottytooth * (+1) /* P */ 21:58:34 -!- hermes has left. 22:38:44 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…). 23:51:04 -!- ais523 has quit (Quit: quit). 23:56:02 -!- 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).