00:34:44 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
00:55:59 <zzo38> 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 <zzo38> 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.
02:20:19 -!- xkapastel has quit (Quit: Connection closed for inactivity).
02:51:53 -!- FreeFull has quit.
04:12:12 <esowiki> [[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 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62293&oldid=62285 * A * (+116) I cannot test it.
06:08:52 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62294&oldid=62293 * A * (+149) Add my test program
06:13:06 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62295&oldid=62294 * A * (+0) Another irritating micro-edit
06:18:43 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62296&oldid=62295 * A * (+416) Add a lot of info
06:19:19 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62297&oldid=62296 * A * (+0) Move signature
06:21:38 <esowiki> [[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 <esowiki> [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62299&oldid=62298 * A * (-638) Sorry. I did not update implementation
06:38:35 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62300&oldid=62299 * A * (+213) /* Sketch: A RAM Machine */
06:51:59 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62301&oldid=62300 * A * (+126) Wonderful!
06:57:15 <esowiki> [[User:A]] M https://esolangs.org/w/index.php?diff=62302&oldid=62160 * A * (+384) Interesting program form
06:59:47 <esowiki> [[User:A]] M https://esolangs.org/w/index.php?diff=62303&oldid=62302 * A * (+70) Golfed program
07:01:45 <esowiki> [[User:A]] M https://esolangs.org/w/index.php?diff=62304&oldid=62303 * A * (+49)
07:08:08 <esowiki> [[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 <esowiki> [[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 <esowiki> [[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. * <code>zz Z</code>, <co..."
08:02:27 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62310&oldid=62301 * A * (+204) /* Sketch: A RAM Machine */
09:01:20 <esowiki> [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62311&oldid=62310 * A * (-204) /* Sketch: A RAM Machine */
10:21:24 -!- Sgeo_ has joined.
10:24:23 -!- Sgeo has quit (Ping timeout: 246 seconds).
10:39:45 <esowiki> [[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 <esowiki> [[Brainfuck implementations]] M https://esolangs.org/w/index.php?diff=62313&oldid=60658 * A * (+138) /* Normal implementations */
10:45:15 <esowiki> [[EsoInterpreters]] https://esolangs.org/w/index.php?diff=62314&oldid=53710 * A * (+453) /* Main table */
10:56:29 <esowiki> [[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 <esowiki> [[M-code]] M https://esolangs.org/w/index.php?diff=62316&oldid=57368 * Madk * (+2) Update download link
12:32:38 <esowiki> [[Grin]] M https://esolangs.org/w/index.php?diff=62317&oldid=57369 * Madk * (+2) Update download link
12:33:15 <esowiki> [[Tri]] M https://esolangs.org/w/index.php?diff=62318&oldid=57370 * Madk * (+3) Update download link
12:33:46 <esowiki> [[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 <esowiki> [[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 <esowiki> [[Fit]] M https://esolangs.org/w/index.php?diff=62321&oldid=57373 * Madk * (+2) Update download link
12:41:49 <esowiki> [[Staq]] M https://esolangs.org/w/index.php?diff=62322&oldid=57374 * Madk * (+2) Update download link
12:42:30 <esowiki> [[PoGo]] M https://esolangs.org/w/index.php?diff=62323&oldid=57375 * Madk * (+2) Update download link
12:43:20 <esowiki> [[D1ffe7e45e]] M https://esolangs.org/w/index.php?diff=62324&oldid=57376 * Madk * (-5) Update download link
12:43:44 <esowiki> [[D1ffe7e45e]] M https://esolangs.org/w/index.php?diff=62325&oldid=62324 * Madk * (+7) Fix download link update mistake
12:44:13 <esowiki> [[Surface]] M https://esolangs.org/w/index.php?diff=62326&oldid=57367 * Madk * (+5) Update download link
12:44:41 <esowiki> [[Minimal]] M https://esolangs.org/w/index.php?diff=62327&oldid=57377 * Madk * (+2) Update download link
12:45:23 <esowiki> [[Vrejvax]] M https://esolangs.org/w/index.php?diff=62328&oldid=58896 * Madk * (+2) Update interpreter download link
12:45:58 <esowiki> [[BrainCursion]] M https://esolangs.org/w/index.php?diff=62329&oldid=57380 * Madk * (+2) Update download link
12:46:23 <esowiki> [[Filth]] M https://esolangs.org/w/index.php?diff=62330&oldid=57381 * Madk * (+2) Update download link
12:47:07 <esowiki> [[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 <esowiki> [[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 <rain1> my earlier analysis was wrong
14:21:34 <int-e> a) what analysis? b) surprise?!
14:33:11 <esowiki> [[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 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62334&oldid=62333 * A * (+7) Page improvement
14:40:00 <esowiki> [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62335&oldid=62334 * A * (+3)
14:47:16 -!- atslash has joined.
14:48:53 <esowiki> [[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 <esowiki> [[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:57:28 -!- tromp has joined.
18:53:46 -!- tromp has quit (Remote host closed the connection).
19:07:41 <esowiki> [[Shark]] N https://esolangs.org/w/index.php?oldid=62338 * Madk * (+3519) Add Shark esolang
19:19:39 <esowiki> [[User:Madk]] https://esolangs.org/w/index.php?diff=62339&oldid=57385 * Madk * (+12) /* Pages I've created */
19:24:10 <esowiki> [[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 <esowiki> [[M?!]] https://esolangs.org/w/index.php?diff=62341&oldid=62340 * Mipinggfxgbtftybfhfyhfn * (+1) /* Commands */
19:25:27 <esowiki> [[M?!]] https://esolangs.org/w/index.php?diff=62342&oldid=62341 * Mipinggfxgbtftybfhfyhfn * (+5) /* Commands */
19:27:18 <esowiki> [[M?!]] https://esolangs.org/w/index.php?diff=62343&oldid=62342 * Mipinggfxgbtftybfhfyhfn * (+60)
19:27:34 <esowiki> [[M?!]] https://esolangs.org/w/index.php?diff=62344&oldid=62343 * Mipinggfxgbtftybfhfyhfn * (-1)
19:28:02 <zzo38> I am starting to implement the IHAVE command in sqlnetnews now.
19:28:51 <esowiki> [[M?!]] https://esolangs.org/w/index.php?diff=62345&oldid=62344 * Mipinggfxgbtftybfhfyhfn * (+0)
19:29:05 <esowiki> [[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 <zzo38> 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 <esowiki> [[Shark]] https://esolangs.org/w/index.php?diff=62347&oldid=62338 * Madk * (+76) Add cat example program
19:38:26 <esowiki> [[Shark]] M https://esolangs.org/w/index.php?diff=62348&oldid=62347 * Madk * (+1) Fix formatting
19:39:09 <esowiki> [[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 <rdococ> 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:56 <kmc> for example you can require that loop bounds are always literals
21:43:08 <kmc> or not have looping at all
21:43:29 <rdococ> what about when using recursion?
21:47:21 <zzo38> 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:48:03 <kmc> iirc one of their languages corresponds to primitive recursion
21:48:57 <kmc> rdococ: languages like Coq and Agda the terminatio check is based on the algebraic data syntax
21:49:16 <kmc> 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 <kmc> so f (Foo x) = ... f x ... is fine
21:49:29 <kmc> but f x = ... f x ... is not
21:49:39 <kmc> for codata / coinductive functions it's the opposite
21:49:52 <kmc> each recursive call must be buried inside at least one constructor
21:49:58 <kmc> g x = ... Foo (g x) ...
21:50:16 <kmc> this guarantees that a consumer of g can resolve any pattern match in finite time
21:50:33 <kmc> case g x of Foo y => ...
21:50:38 <kmc> will only have to call g once
21:51:11 <kmc> this allows you to have infinite data structures (really codata structures) without infinite loops
21:51:30 <kmc> repeat x = Cons x (repeat x)
21:53:23 <kmc> 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 <kmc> by way of peano arithmetic
21:54:25 <kmc> f (Succ limit) x = ... f limit x ...
21:54:37 <kmc> the implementation will see that 'limit' is decreasing, even if x isn't
21:55:04 <rdococ> what about f (Foo x) = ... f (Foo x) ...?
21:55:06 <kmc> of course, it needs to know that the peano number type is data and not codata!
21:55:23 <kmc> this distincti is very important in total langs
21:55:32 <kmc> unlike, say, Haskell, where everything is codata
21:55:37 <kmc> rdococ: not allowed
21:55:55 <rdococ> if you try to use regular recursion on codata then it would not terminate
21:56:01 <rdococ> (if the codata is infinite)
21:56:29 <kmc> 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:43 <kmc> so you're only allowed to do that if you return codata and comply with the codata rule
21:56:56 <kmc> for example map on a codata list
21:57:00 <shachaf> in haskell everything is some bizarre mix of data/codata
21:57:10 <shachaf> non-strictness is kind of scow
21:57:16 <kmc> map f Nil = Nil; map f (Cons x xs) = Cons (f x) (map f xs)
21:57:51 <kmc> (in fact you could define a type for infinite lists *only* that has no Nil)
21:57:53 <kmc> this is ok even though you are recursing on an infinite codata structure
21:58:00 <kmc> because you are also producing constructors at every step
21:58:21 <kmc> shachaf: I suppose so
21:58:24 <kmc> in what sense is it data
21:58:36 <shachaf> i mean that the least and greatest fixed points are equal
21:59:02 <shachaf> so you can "fold codata" which doesn't terminate, i guess?
22:04:12 <rdococ> 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 <kmc> I don't know what you mean by arbitrary
22:04:39 <kmc> it proves termination
22:04:45 <kmc> obviously, f x = f x would not terminate
22:04:57 <kmc> 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 <kmc> so the most straightforward rule is that it has to "shrink" in some sense
22:05:14 <kmc> a number counting down to zero, or a tree shrinking
22:05:19 <kmc> (which are actually the same if you use peano numbers)
22:05:32 <rdococ> is there a syntax that would enforce this rule without requiring explicit verification?
22:05:54 <kmc> it already feels pretty syntactic to me
22:06:21 <kmc> perhaps you could designate the recursive call at the site of the formal parameter
22:06:29 <kmc> f (Cons @x) = ... recurse ...
22:06:47 <kmc> meaning f (Cons x) = ... f x ...
22:06:54 <kmc> 'recurse' keyword means 'call self with arguments designated by @'
22:07:00 <kmc> seems awkward and pointless though
22:07:01 -!- arseniiv has quit (Ping timeout: 255 seconds).
22:07:09 <kmc> you could also add an implicit counter to *every* function
22:07:31 <shachaf> I kind of wish recursion depth was bounded in a language like C.
22:07:42 <kmc> there are verification tools which can enforce that
22:07:45 <kmc> for embedded systems
22:07:45 <shachaf> So you could know the maximum stack size statically.
22:07:49 <kmc> you can prove-- yeah, that
22:07:55 -!- Sgeo has quit (Ping timeout: 255 seconds).
22:08:05 <shachaf> I also want to be able to use this value at compile-time to allocate "stacks" of the right size.
22:25:45 <shachaf> Golly. Instead of writing all this C code I should write a compiler for a language that's 50% better than C.
22:30:23 <zzo38> 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 <zzo38> (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 <shachaf> I don't see enough of a benefit to C compatibility.
22:33:30 <zzo38> 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 <shachaf> Or maybe I should use Zig. I guess it's the best candidate right now.
22:44:54 <kmc> what's zig like
22:45:14 <shachaf> https://ziglang.org/documentation/master/
22:45:26 <kmc> I don't need to read a document
22:45:26 <shachaf> they seem to have pretty reasonable taste?
22:45:41 <shachaf> but often i look at some individual thing and it seems reasonable
22:45:43 <kmc> how's it compare to rust
22:50:56 <zzo38> 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 <zzo38> 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 <zzo38> 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 <shachaf> kmc: what language should i use
23:20:16 <kmc> don't know don't care
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.