00:34:44 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 00:55:59 I thought of a idea of esolang, which is there is some finite number of inputs each of which stores a natural number, and a finite number of registers in the program, each of which stores a queue with natural numbers and/or names of inputs, and each register also has a maximum amount of the sum of its contents, which is defined as a polynomial of the input variables with integer coefficients which must have a natural number result for all possible 00:58:03 And then there is operation, which is: make a register empty, check if a register is empty (and jump based on the result), append a element onto a queue (can only be a constant natural number or a constant name of a input) (if that would cause it to exceed the maximum, then it is unchanged), move as many elements from the beginning of one register to the end of another that will fit, output a register, and terminate. 01:02:29 Do you like this? 02:20:19 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:51:53 -!- FreeFull has quit. 04:12:12 [[Talk:Echo Tag]] N https://esolangs.org/w/index.php?oldid=62292 * Zzo38 * (+472) Created page with "Even if ''n'' is large, still the proof should be provided (if it is correct) (just to see if it can be Turing-complete at all); if someone else can prove it Turing-complete f..." 05:22:56 -!- iconmaster has joined. 05:36:24 -!- atslash has joined. 06:07:23 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62293&oldid=62285 * A * (+116) I cannot test it. 06:08:52 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62294&oldid=62293 * A * (+149) Add my test program 06:13:06 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62295&oldid=62294 * A * (+0) Another irritating micro-edit 06:18:43 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62296&oldid=62295 * A * (+416) Add a lot of info 06:19:19 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62297&oldid=62296 * A * (+0) Move signature 06:21:38 [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62298&oldid=62297 * A * (-43) /* Sketch: A RAM Machine */ 06:26:29 -!- john_metcalf has joined. 06:27:35 [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62299&oldid=62298 * A * (-638) Sorry. I did not update implementation 06:38:35 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62300&oldid=62299 * A * (+213) /* Sketch: A RAM Machine */ 06:51:59 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62301&oldid=62300 * A * (+126) Wonderful! 06:57:15 [[User:A]] M https://esolangs.org/w/index.php?diff=62302&oldid=62160 * A * (+384) Interesting program form 06:59:47 [[User:A]] M https://esolangs.org/w/index.php?diff=62303&oldid=62302 * A * (+70) Golfed program 07:01:45 [[User:A]] M https://esolangs.org/w/index.php?diff=62304&oldid=62303 * A * (+49) 07:08:08 [[Golf/Feature golf]] N https://esolangs.org/w/index.php?oldid=62305 * A * (+501) Created page with "Feature golf is a specific type of golf. Its goal is to to write the shortest program that uses up all of the features in a programming language without including dead code...." 07:08:30 [[Golf/Feature golf]] M https://esolangs.org/w/index.php?diff=62306&oldid=62305 * A * (+0) 07:39:08 -!- Frater_EST has joined. 07:51:29 -!- AnotherTest has joined. 07:56:05 -!- AnotherTest has quit (Ping timeout: 258 seconds). 07:59:56 [[Talk:Z]] N https://esolangs.org/w/index.php?oldid=62307 * TuxCrafting * (+759) Created page with "I am trying to implement (well, re-implement) Z, but I'm having trouble understanding what some instructions are supposed to do and running examples. * zz Z, [[Z]] M https://esolangs.org/w/index.php?diff=62308&oldid=60768 * TuxCrafting * (-97) i'm trying to reimplement it but it's confusing 08:06:04 -!- Frater_EST has left. 08:18:29 [[Golf/Feature golf]] M https://esolangs.org/w/index.php?diff=62309&oldid=62306 * A * (-214) 08:46:18 -!- Sgeo_ has quit (Ping timeout: 245 seconds). 08:46:58 -!- Sgeo has joined. 08:54:10 -!- atslash has quit (Quit: This computer has gone to sleep). 08:58:17 [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62310&oldid=62301 * A * (+204) /* Sketch: A RAM Machine */ 09:01:20 [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62311&oldid=62310 * A * (-204) /* Sketch: A RAM Machine */ 09:01:44 huey 10:21:24 -!- Sgeo_ has joined. 10:24:23 -!- Sgeo has quit (Ping timeout: 246 seconds). 10:39:45 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62312&oldid=62311 * A * (+182) /* [Ongoing] Equivalency between bitch and Home Row by User:Helen */ 10:42:55 [[Brainfuck implementations]] M https://esolangs.org/w/index.php?diff=62313&oldid=60658 * A * (+138) /* Normal implementations */ 10:45:15 [[EsoInterpreters]] https://esolangs.org/w/index.php?diff=62314&oldid=53710 * A * (+453) /* Main table */ 10:56:29 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62315&oldid=62312 * A * (+332) /* Sketch: A RAM Machine */ 11:03:18 -!- iconmaster has quit (Quit: Leaving). 11:29:52 -!- atslash has joined. 11:30:28 -!- Sgeo__ has joined. 11:33:15 -!- atslash has quit (Client Quit). 11:33:46 -!- Sgeo_ has quit (Ping timeout: 258 seconds). 11:44:06 -!- Lord_of_Life has quit (Ping timeout: 252 seconds). 11:47:49 -!- Lord_of_Life has joined. 11:49:10 -!- Melvar has quit (Quit: WeeChat 2.4). 11:53:08 -!- Sgeo_ has joined. 11:56:11 -!- Sgeo__ has quit (Ping timeout: 248 seconds). 11:59:38 -!- Melvar has joined. 12:16:58 -!- FreeFull has joined. 12:32:05 [[M-code]] M https://esolangs.org/w/index.php?diff=62316&oldid=57368 * Madk * (+2) Update download link 12:32:38 [[Grin]] M https://esolangs.org/w/index.php?diff=62317&oldid=57369 * Madk * (+2) Update download link 12:33:15 [[Tri]] M https://esolangs.org/w/index.php?diff=62318&oldid=57370 * Madk * (+3) Update download link 12:33:46 [[Tri]] M https://esolangs.org/w/index.php?diff=62319&oldid=62318 * Madk * (-1) Fix mistake in link update 12:33:58 -!- Sgeo__ has joined. 12:35:19 [[Cardinal]] M https://esolangs.org/w/index.php?diff=62320&oldid=57371 * Madk * (+29) Update download link (original interpreter) 12:37:43 -!- Sgeo_ has quit (Ping timeout: 244 seconds). 12:41:08 [[Fit]] M https://esolangs.org/w/index.php?diff=62321&oldid=57373 * Madk * (+2) Update download link 12:41:49 [[Staq]] M https://esolangs.org/w/index.php?diff=62322&oldid=57374 * Madk * (+2) Update download link 12:42:30 [[PoGo]] M https://esolangs.org/w/index.php?diff=62323&oldid=57375 * Madk * (+2) Update download link 12:43:20 [[D1ffe7e45e]] M https://esolangs.org/w/index.php?diff=62324&oldid=57376 * Madk * (-5) Update download link 12:43:44 [[D1ffe7e45e]] M https://esolangs.org/w/index.php?diff=62325&oldid=62324 * Madk * (+7) Fix download link update mistake 12:44:13 [[Surface]] M https://esolangs.org/w/index.php?diff=62326&oldid=57367 * Madk * (+5) Update download link 12:44:41 [[Minimal]] M https://esolangs.org/w/index.php?diff=62327&oldid=57377 * Madk * (+2) Update download link 12:45:23 [[Vrejvax]] M https://esolangs.org/w/index.php?diff=62328&oldid=58896 * Madk * (+2) Update interpreter download link 12:45:58 [[BrainCursion]] M https://esolangs.org/w/index.php?diff=62329&oldid=57380 * Madk * (+2) Update download link 12:46:23 [[Filth]] M https://esolangs.org/w/index.php?diff=62330&oldid=57381 * Madk * (+2) Update download link 12:47:07 [[BF-PDA]] M https://esolangs.org/w/index.php?diff=62331&oldid=57383 * Madk * (+2) Update download link 13:00:06 -!- arseniiv has joined. 13:03:05 [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62332&oldid=62315 * Int-e * (+382) /* Sketch: A RAM Machine */ nested loops + cosmetics 13:27:13 -!- unlimiter has joined. 13:27:28 -!- Sgeo has joined. 13:29:09 -!- Sgeo__ has quit (Ping timeout: 252 seconds). 13:29:32 -!- rodgort has quit (Quit: Leaving). 13:34:07 -!- rodgort has joined. 14:08:13 -!- unlimiter has quit (Quit: WeeChat 2.4). 14:13:03 my earlier analysis was wrong 14:21:34 a) what analysis? b) surprise?! 14:33:11 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62333&oldid=62332 * A * (-96) Oh no, I mis-referred a page. 14:33:27 -!- Sgeo has quit (Ping timeout: 244 seconds). 14:34:12 -!- Sgeo has joined. 14:35:50 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62334&oldid=62333 * A * (+7) Page improvement 14:40:00 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62335&oldid=62334 * A * (+3) 14:47:16 -!- atslash has joined. 14:48:53 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62336&oldid=62335 * A * (+71) Argh! I had to make another minor edit. Sorry for the inconvenience. 14:52:37 -!- atslash has quit (Ping timeout: 246 seconds). 14:53:02 -!- atslash has joined. 15:05:11 -!- Sgeo_ has joined. 15:08:06 -!- Sgeo has quit (Ping timeout: 258 seconds). 15:10:46 -!- Sgeo_ has quit (Ping timeout: 255 seconds). 15:18:32 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62337&oldid=62336 * A * (+245) /* Incapability of bitch implementing Popular problems */ 15:38:45 -!- jericho98 has joined. 15:51:46 -!- jericho98 has left ("Be back later..."). 16:01:41 -!- Sgeo has joined. 16:14:55 -!- tromp has quit (Remote host closed the connection). 16:35:23 -!- atslash has quit (Ping timeout: 246 seconds). 16:36:15 -!- atslash has joined. 16:39:18 -!- weston has joined. 16:48:05 -!- tromp has joined. 16:52:39 -!- tromp has quit (Ping timeout: 252 seconds). 16:55:51 -!- unlimiter has joined. 16:58:29 -!- atslash has quit (Read error: Connection reset by peer). 16:58:58 -!- unlimiter has quit (Client Quit). 16:59:30 -!- atslash has joined. 17:04:35 -!- tromp has joined. 17:09:45 -!- unlimiter has joined. 17:16:20 -!- unlimiter has quit (Quit: thanks). 17:22:43 -!- tromp has quit (Remote host closed the connection). 17:27:22 -!- tromp has joined. 17:40:44 -!- tromp has quit (Remote host closed the connection). 17:56:12 web.a: points 8.31, score 47.40, rank 1/47 17:56:20 web.a: points -46.00, score 0.00, rank 47/47 (-46) 17:57:28 -!- tromp has joined. 18:53:46 -!- tromp has quit (Remote host closed the connection). 19:07:41 [[Shark]] N https://esolangs.org/w/index.php?oldid=62338 * Madk * (+3519) Add Shark esolang 19:19:39 [[User:Madk]] https://esolangs.org/w/index.php?diff=62339&oldid=57385 * Madk * (+12) /* Pages I've created */ 19:24:10 [[M?!]] N https://esolangs.org/w/index.php?oldid=62340 * Mipinggfxgbtftybfhfyhfn * (+666) Created page with " '''M+-'''is an [[esoteric programming language]] based on [[Brainfuck]] but with less comands: ==Commands== {| class="wikitable" |- ! Command !! Use |- | m || Goes to the nex..." 19:24:35 -!- tromp has joined. 19:24:59 [[M?!]] https://esolangs.org/w/index.php?diff=62341&oldid=62340 * Mipinggfxgbtftybfhfyhfn * (+1) /* Commands */ 19:25:27 [[M?!]] https://esolangs.org/w/index.php?diff=62342&oldid=62341 * Mipinggfxgbtftybfhfyhfn * (+5) /* Commands */ 19:27:18 [[M?!]] https://esolangs.org/w/index.php?diff=62343&oldid=62342 * Mipinggfxgbtftybfhfyhfn * (+60) 19:27:34 [[M?!]] https://esolangs.org/w/index.php?diff=62344&oldid=62343 * Mipinggfxgbtftybfhfyhfn * (-1) 19:28:02 I am starting to implement the IHAVE command in sqlnetnews now. 19:28:51 [[M?!]] https://esolangs.org/w/index.php?diff=62345&oldid=62344 * Mipinggfxgbtftybfhfyhfn * (+0) 19:29:05 [[M?!]] https://esolangs.org/w/index.php?diff=62346&oldid=62345 * Mipinggfxgbtftybfhfyhfn * (+1) 19:29:09 -!- tromp has quit (Ping timeout: 258 seconds). 19:31:08 And then I can add SUBSCRIBE and UNSUBSCRIBE commands, and a separate program "sqlsubnews" that, when run (probably by anacron), will send messages to the subscribers. 19:38:14 [[Shark]] https://esolangs.org/w/index.php?diff=62347&oldid=62338 * Madk * (+76) Add cat example program 19:38:26 [[Shark]] M https://esolangs.org/w/index.php?diff=62348&oldid=62347 * Madk * (+1) Fix formatting 19:39:09 [[Shark]] M https://esolangs.org/w/index.php?diff=62349&oldid=62348 * Madk * (-3) Remove unneeded terminate instruction at the end of most examples 20:22:16 -!- tromp has joined. 20:52:26 -!- atslash has quit (Quit: This computer has gone to sleep). 20:58:03 -!- Sgeo has quit (Ping timeout: 248 seconds). 20:59:28 -!- Sgeo has joined. 21:22:47 -!- Sgeo_ has joined. 21:26:00 -!- Sgeo has quit (Ping timeout: 258 seconds). 21:27:25 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 21:27:40 -!- Sgeo has joined. 21:40:44 Is there a way to create a total programming language so that the termination requirement is "written into the syntax", instead of requiring some sort of separate checker? 21:42:50 yes 21:42:56 for example you can require that loop bounds are always literals 21:43:08 or not have looping at all 21:43:29 what about when using recursion? 21:47:21 In Godel,Escher,Bach they describe a program language "BlooP" which requires the loop count to be specified at the top of the loop; it can be calculated but is set when the loop starts. Recursion is also prohibited. 21:47:57 yes 21:48:03 iirc one of their languages corresponds to primitive recursion 21:48:57 rdococ: languages like Coq and Agda the terminatio check is based on the algebraic data syntax 21:49:16 for data types it's a reqirement that you pattern match off at least one layer of constructor before you call recursively 21:49:24 so f (Foo x) = ... f x ... is fine 21:49:29 but f x = ... f x ... is not 21:49:39 for codata / coinductive functions it's the opposite 21:49:52 each recursive call must be buried inside at least one constructor 21:49:58 g x = ... Foo (g x) ... 21:50:16 this guarantees that a consumer of g can resolve any pattern match in finite time 21:50:33 case g x of Foo y => ... 21:50:38 will only have to call g once 21:51:11 this allows you to have infinite data structures (really codata structures) without infinite loops 21:51:24 hmmm 21:51:30 repeat x = Cons x (repeat x) 21:53:23 rdococ: note that the termination check for recursive functions allows you to get away with putting a numerical bound on general recursion 21:53:37 by way of peano arithmetic 21:54:25 f (Succ limit) x = ... f limit x ... 21:54:37 the implementation will see that 'limit' is decreasing, even if x isn't 21:55:04 what about f (Foo x) = ... f (Foo x) ...? 21:55:06 of course, it needs to know that the peano number type is data and not codata! 21:55:23 this distincti is very important in total langs 21:55:32 unlike, say, Haskell, where everything is codata 21:55:37 rdococ: not allowed 21:55:55 if you try to use regular recursion on codata then it would not terminate 21:56:01 (if the codata is infinite) 21:56:29 I think the rule is that the argument in the recursive call has to be a strict sub-expression of the parameter, for at least oe parameter 21:56:32 one* 21:56:34 yeah 21:56:43 so you're only allowed to do that if you return codata and comply with the codata rule 21:56:56 for example map on a codata list 21:57:00 in haskell everything is some bizarre mix of data/codata 21:57:10 non-strictness is kind of scow 21:57:16 map f Nil = Nil; map f (Cons x xs) = Cons (f x) (map f xs) 21:57:51 (in fact you could define a type for infinite lists *only* that has no Nil) 21:57:53 this is ok even though you are recursing on an infinite codata structure 21:58:00 because you are also producing constructors at every step 21:58:21 shachaf: I suppose so 21:58:24 in what sense is it data 21:58:36 i mean that the least and greatest fixed points are equal 21:58:43 hm 21:59:02 so you can "fold codata" which doesn't terminate, i guess? 22:04:12 but it still feels like rejecting f x = ... f x ... is arbitrary. is there a way to make it feel "non-arbitrary"? 22:04:36 I don't know what you mean by arbitrary 22:04:39 it proves termination 22:04:45 obviously, f x = f x would not terminate 22:04:57 x has to change at each step and it needs to change in a way that the implementation can verify 22:05:01 -!- Sgeo_ has joined. 22:05:05 so the most straightforward rule is that it has to "shrink" in some sense 22:05:14 a number counting down to zero, or a tree shrinking 22:05:19 (which are actually the same if you use peano numbers) 22:05:32 is there a syntax that would enforce this rule without requiring explicit verification? 22:05:48 not sure 22:05:54 it already feels pretty syntactic to me 22:06:21 perhaps you could designate the recursive call at the site of the formal parameter 22:06:29 f (Cons @x) = ... recurse ... 22:06:47 meaning f (Cons x) = ... f x ... 22:06:54 'recurse' keyword means 'call self with arguments designated by @' 22:07:00 seems awkward and pointless though 22:07:01 -!- arseniiv has quit (Ping timeout: 255 seconds). 22:07:09 you could also add an implicit counter to *every* function 22:07:31 I kind of wish recursion depth was bounded in a language like C. 22:07:42 there are verification tools which can enforce that 22:07:45 for embedded systems 22:07:45 So you could know the maximum stack size statically. 22:07:49 you can prove-- yeah, that 22:07:55 -!- Sgeo has quit (Ping timeout: 255 seconds). 22:08:05 I also want to be able to use this value at compile-time to allocate "stacks" of the right size. 22:25:45 Golly. Instead of writing all this C code I should write a compiler for a language that's 50% better than C. 22:25:50 That can't be too hard. 22:30:23 Possibly can be a superset of C with some additonal commands so that it can be compiled into a C code, could be one possibility to do. 22:31:02 (However, such thing would presumably need to be inserted after the preprocessor; I am not sure how to insert extra steps after the preprocessor in GCC) 22:32:07 I don't see enough of a benefit to C compatibility. 22:33:30 Mainly it seem to me that it might be easier to write without missing stuff in such a case, but maybe not. If you are managing to make all of the stuff by yourself though, then a C compatibility is not needed; you can compile it directly to LLVM or whatever 22:34:05 Or maybe I should use Zig. I guess it's the best candidate right now. 22:44:54 what's zig like 22:45:14 https://ziglang.org/documentation/master/ 22:45:23 um 22:45:26 I don't need to read a document 22:45:26 they seem to have pretty reasonable taste? 22:45:29 i haven't used it 22:45:41 but often i look at some individual thing and it seems reasonable 22:45:43 how's it compare to rust 22:46:41 no borrow checking 22:48:25 ok 22:50:56 I thought before of making something too, which exposes all features of LLVM (including @llvm.compiler.used), some of which would be done in system-dependent include files, and also powerful macros. 22:56:48 -!- tromp has quit (Remote host closed the connection). 23:08:35 Some things in LLVM is good such as, you can use the carry of an addition, and you can specify various kind of metadata for use with optimization and other stuff, and exception handling, and bit manipulation, and appending linkage (which unfortunately is only usable for some special variables), etc. 23:10:07 But also some things isn't very good, such as there is no version of @llvm.experimental.widenable.condition() for types other than i1. (Also, for use appending linkage and some other features, one thing to do could be to support a ".llvmo" file format, which you can combine into one ".o" file.) 23:13:47 -!- AnotherTest has joined. 23:18:14 -!- AnotherTest has quit (Ping timeout: 246 seconds). 23:19:58 kmc: what language should i use 23:20:16 don't know don't care 23:21:48 hatters gonna hat 23:27:14 -!- tromp has joined. 23:31:39 -!- tromp has quit (Ping timeout: 248 seconds). 23:45:35 -!- Lord_of_Life_ has joined. 23:46:18 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 23:48:01 -!- Lord_of_Life_ has changed nick to Lord_of_Life.