00:00:29 -!- esowiki1 has joined.
00:03:37 -!- esowiki has quit (Ping timeout: 260 seconds).
00:04:23 -!- esowiki1 has changed nick to esowiki.
00:45:13 -!- Lord_of_Life has quit (Ping timeout: 264 seconds).
00:49:11 -!- Lord_of_Life has joined.
01:09:45 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
02:49:04 -!- delta23 has quit (Quit: Leaving).
03:25:12 -!- aaaaaa has quit (Quit: leaving).
03:42:56 C doesn't have macros that are expanded only where a variable name is expected (similar to vardef in METAFONT).
04:28:22 I have read that cell phones cannot send/receive faxes due to the codec in use, but is the codec compatible with slow scan format?
04:35:15 -!- adu has joined.
05:07:03 -!- hendursaga has quit (Ping timeout: 240 seconds).
06:20:39 -!- hendursaga has joined.
06:46:25 -!- imode has quit (Ping timeout: 264 seconds).
06:59:46 -!- adu has quit (Quit: adu).
07:16:25 -!- Lord_of_Life has quit (Changing host).
07:16:25 -!- Lord_of_Life has joined.
07:18:04 -!- Sgeo has quit (Read error: Connection reset by peer).
07:50:51 -!- moony has quit (Remote host closed the connection).
07:52:56 -!- moony has joined.
08:01:43 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:07:34 -!- hendursaga has joined.
08:15:59 -!- hendursa1 has joined.
08:18:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:22:43 -!- hendursa1 has quit (Ping timeout: 240 seconds).
08:26:05 -!- t20kdc has joined.
08:38:46 -!- cpressey has joined.
08:40:38 -!- hendursa1 has joined.
08:40:52 -!- hendursa1 has quit (Remote host closed the connection).
08:41:38 -!- hendursa1 has joined.
08:46:57 Good morning.
08:47:09 Defining a function is like adding an axiom, in the sense that it asserts that the hitherto-meaningless name of the function now has such-and-such meaning.
08:48:45 morning!
08:52:46 cpressey: I think it's more analogous to stating a theorem
08:52:58 With adding a builtin function like adding an axiom
08:56:48 Most of the functions I write surely aren't theorems
09:00:22 -!- Arcorann_ has joined.
09:00:25 -!- Arcorann has quit (Ping timeout: 240 seconds).
09:01:13 They might just not be very good theorems
09:01:57 There's a definitional principle by specification: If you prove (exists x. P(x)), then that allows you to introduce a fresh constant k, and assert P(k) as an axiom.
09:02:41 The proof of exists x. P(x) is fairly trivial if P(x) has the form x = foo with x not occurring in foo.
09:09:57 Hmm. I believe Isabelle/Pure really only has the special case of definition by equality. Isabelle/HOL adds a Hilbert choice operator, so you get the specification principle by defining k = SOME x. P(x), and noting that exists x. P(x) ==> P(SOME x. P(x)) <==> P(k).
09:10:17 \x. x has type P -> P which is the tautology theorem
09:10:22 No clue about other interactive theorem provers.
09:10:55 \f. \g. \x. g(f(x)) has type (P -> Q) -> (Q -> R) -> (P -> R) which is a tautology
09:11:10 Especially the dependently typed ones.
09:11:15 if you read -> as implies it works
09:12:05 rain1: not sure what your point is
09:12:29 @djinn (p -> q) -> (q -> r) -> p -> r
09:12:29 f a b c = b (a c)
09:12:32 it's for cpressey to see why functions are proofs of theorems
09:12:58 just a couple simple examples
09:13:10 But that is entirely independent of how you deal with definitions.
09:13:44 There are lots of functions which are not proofs of theorems.
09:13:45 And you want proper definitions in every practical proof framework because they are crucial for compression.
09:13:52 That, and lemmas.
09:14:11 (Which may be the same if you have dependent types.)
09:14:50 cpressey, that is true...
09:14:52 In *theory*, of course you can treat definitions and lemmas as abbreviations to be unfolded.
09:14:57 like, infinite loops
09:15:25 but if you stick to functions with no infinite loops they can be read as theorems (even if they are often boring ones)
09:15:49 I think all functions are proofs of theorems, just not necessarily in a consistent logic
09:16:05 "can be read as theorems that no one cares about", I won't argue with that
09:16:08 Most of the functions I write are broing when viewed as theorems.
09:17:02 When I write a function of type Nat -> Nat, I usually care about the values. But usually not enough to try to specify what they are in the type.
09:17:34 So... functions are more than just proofs.
09:18:18 If I use a dynamically typed language, then I am using a "degenerate type system with only one type" in the view of type theory, and I imagine that make it difficult to form any interesting proofs. But I can *program* in it just fine.
09:18:41 I still assert that functions are far more like theorems than axioms
09:18:50 And yes, indeed, the potential for nontermination makes the picture of functions as proofs even more inaccurate.
09:19:09 Taneb: It's not about functions, at least not as I read it.
09:19:52 Taneb: It's about giving a *name* to a value, which is the essence of a definition of a function.
09:21:33 Of course this is my own interpretation of something cpressey wrote. I don't know whether it's the intended one.
09:22:51 int-e: I feel like I *kind of* follow your explanation with P(x), if, to prove that x (for example factorial) exists you only need to supply the definition of it (a term exists that we can call "factorial")
09:23:26 I suppose that's a kind of existence proof.
09:24:33 But then, what is P() in general? It seems like it could be the evaluation relation for your environment?
09:25:05 Yes.
09:25:21 OK, then I probably follow you.
09:25:31 it could be... P(f) <--> f(0) = 1 /\ forall x. f(x+1) = f(x)*(x+1)
09:28:15 (Which specifies the factorial function, assuming f : nat -> nat, but makes existence of f non-trivial.)
09:28:28 yes functions are more than just their types
09:28:50 types are just a blueprint of what the function does structurally
09:30:31 cpressey: What I'm saying is very much inspired by how Isabelle/HOL deals with these things.
09:32:23 For example, there is a function definition package that *can* deal with the above specification of the factorial function. Internally it'll extract a dependency relation (here, x+1 -> x; in general those will be tuples of all the arguments) and shows that it is well-founded (for which it has various heuristics)... and then one can show that f exists by induction on that relation.
09:32:49 (This is not entirely accurate, but close enough for an overview.)
09:34:09 hmm. let's s/overview/outline/
09:35:07 although some functions are uniquely determined by their type
09:35:25 up to extraneous lambda terms and other "nothings"
09:36:45 rain1: Yeah, and even when it's not uniquely determined, you get at least one theorem "for free" by parametricity, as I understand it.
09:37:29 @djinn (a -> a) -> a -> a
09:37:29 f a = a
09:37:49 that's true! parametricity is pretty amazing
09:37:59 (unsurprisingly, the preferred Church numberal is 1.)
09:38:06 if a function works for all types you know it doesn't inspect and case analysis on data of that type
09:38:14 which lets you say a lot about a function
09:38:24 "numberal". Finally a typo that makes sense.
09:38:40 @free (a -> a) -> a -> a
09:38:40 Try `free ` or `free :: `
09:38:50 @free church :: (a -> a) -> a -> a
09:38:50 f . g = h . f => f . church g = church h . f
09:39:23 induction, more or less.
09:41:22 wow i never knew that!
09:41:24 that's cool
09:46:24 On the other hand, it's possible for a function to uphold an invariant that cannot be captured by any type.
10:17:46 -!- HaJones has joined.
10:21:24 cpressey: definitions aren't like axioms in that they don't let you prove things that were meaningful but you couldn't have proved from your existing axioms.
10:23:50 spoken like a logician
10:29:43 My comparison to axioms was meant to highlight that before you give the definition of factorial there's no way in hell you can deduce the truth or falisty of the statement "factorial(5)=120"
11:22:09 -!- ais523 has joined.
11:22:24 b_jonas: you can imagine a modification of, say, the SHA-1 or SHA-256 algorithm
11:22:52 in which the final step is "check if this hash has ever been output for a different input file; if so, increment the hash and repeat this step"
11:23:06 now you have an algorithm that is precisely defined and collision-free
11:23:11 (if a little difficult to use in practice)
11:23:16 this seems quite similar to what your magic box is doing
11:23:26 (although not the same, obviously)
11:23:38 ais523: I'm not sure if it's well-defined whether a hash has been output, and which of two hashes has been output first.
11:24:14 ais523: and no, (a) the magic box does more than just produce hashes, and (b) it uses a longer digest and one that's cryptographically safe so you can't produce collisions
11:24:45 the thing that the magic box produces is a hash by definition, isn't it? except that it might not be deterministic
11:24:55 (when using it in "store" mode)
11:25:15 ais523: it need not be. it could be just an entirely random value that it doesn't compute from the input or anything
11:25:16 the magic boxes are slightly more useful if you also add the proviso that the same code will be returned for anyone, if they provide the same file as input
11:25:35 I would argue that *even if* it isn't computed from the input, it's still a hash function
11:25:40 ais523: sort of but not really. if you want to check for collisions, you can just use an ordinary hash independent of the magic box.
11:25:54 ok, then it's a hash function.
11:26:15 fwiw, I have wanted a similar operation to this in a golfing language
11:26:26 it takes an arbitrary data structure and returns a single integer, consecutive from 0
11:26:39 interning arbitrary data structures?
11:26:42 could work
11:26:43 right
11:26:54 of course, there is an uninterning operation, too
11:27:18 another idea I had, along similar lines, was a function that interns pairs of integers
11:27:30 when you have this, your language no longer needs data structures, as you can do cons just on integers
11:27:55 (there are bijections between Z² and Z, so I guess you wouldn't even need to use interning if you didn't mind the size of the numbers exploding)
11:28:14 ais523: that's what cons does if there's no garbage collection, except I think if you say interning, you want a deterministic function
11:28:29 as for numbers exploding, yes, that's what (0) does
11:28:48 well, deterministic within one run of the program
11:29:01 ok
11:29:35 anyway, I think "content-addressable storage" is the general term for your magic boxes, except that two different CASes are not usually linked to each other
11:29:46 that sounds typical for these golf languages, normally you wouldn't want to intern every pair, because it's sort of slow, but in a golf language you might not care
11:30:16 yes, this seems like an operation that is probably usable by golfing languages only
11:30:46 ais523: yes, and https://valerieaurora.org/monkey.html is the clear explanation of them
11:31:24 huh, rsync is a CAS?
11:31:54 the magic boxes are not only linked, but can also store practically any amount of data (limited by the boxes' bandwidth) forever for free, unlike in the real world
11:32:45 ais523: rsync => not in the traditional system, but it uses clever use of hashes to likely find matching infixes among files, just like how some delta compression algorithms do
11:33:03 and in fact even some ordinary compression algorithms do that
11:33:47 Riot Games wrote an article about how they do incremental updates, without needing to know what's already installed on the target computer
11:33:55 because deterministically finding all common infixes is too expensive, but finding enough of them to compress well in typical practical cases is good enough
11:34:29 it works by breaking files into sections based on their content, and sending the hash of each section that should be in the new files
11:34:33 we'll probably learn all about this in Knuth vol 5 by the way
11:34:48 then the existing files are used to find as many of those sections as possible, and the ones which aren't found are downloaded
11:35:00 ais523: yeah, that's sort of what rsync does
11:35:12 right, that's why I mentioned it
11:35:33 incidentally, A Pear Tree's current algorithm for finding sections of files with a CRC of 0 is quadratic
11:35:41 but I think it's possible to do it in linear time
11:36:10 so maybe there isn't even a need to define the sections in terms of content, you could just do it in terms of, say, a CRC-128
11:36:39 (you would expect no random collisions with one of those; even though it isn't cryptographically secure, it seems likely that any actual collisions would have been planted by a human)
11:37:00 err, it's probably actually n log n rather than linear
11:37:13 ais523: ah yeah, that reminds me of one of my favorite algorithmic problems. you get a vector of nonnegative machine-sized integers, find the infix in that vector that maximizes the product of the length and the minimum of that infix.
11:37:41 if n is the length of the vector, there's a trivial O(n**3) algorithm, an easy O(n**2) algorithm, and a tricky O(n) algorithm
11:38:28 -!- cpressey has quit (Quit: WeeChat 1.9.1).
11:38:30 "infix" = contiguous substring, right?
11:38:35 yes
11:40:02 there's an easy O(nk) algorithm too, which might or might not be faster depending on the size of the numbers
11:40:09 what is k?
11:40:34 largest integer in the vector
11:41:15 (faster than the O(n²) algorithm, that is)
11:42:53 I think the easy O(n²) algorithm is "for each element in the vector, scan forwards until you find a smaller element, then take the maximum among the infixes calculated this way"
11:43:13 in case you want to experiment, a test vector is [138, 222, 263, 156, 176, 58, 116, 211, 293, 481, 352, 217, 454, 639, 423, 580, 819, 716, 845, 999, 936, 714, 621, 569, 361, 175, 52, 57, 33] and the largest product is 5121, I have two longer test vectors that I can paste
11:43:28 yes, that is the easy O(n**2) algorithm
11:44:07 the easy O(nk) algorithm is "for each k from 1 to the highest element in the vector, look for maximum-length infixes whose minimum is k, then take the maximum among the infixes calculated this way"
11:44:29 yes, that works too
11:45:54 -!- sprocklem has quit (Ping timeout: 258 seconds).
11:46:04 easy O(n log n): sort the indexes of the vector by their values, then consider the infixest between the smallest and second-smallest, second-smallest and third-smallest, etc., values
11:46:09 -!- sprocklem has joined.
11:46:14 * infixes
11:46:20 I'm not 100% sure that's correct though
11:46:48 how do you compute the minimum of those infixes?
11:46:48 ah no, you have to extend each of those infixes outwards until you reach a value that's smaller
11:47:04 ah right, yes, that hurts the complexity too
11:48:19 more difficult O(n log n): consider the entire list as an infix, and recursively apply this algorithm to prefix before the smallest element, suffix after the smallest element
11:48:32 this is O(n log n) if you speed it up by locating all the element locations in order from smallest to largest first
11:48:39 and do the recursion in that order
11:48:47 because, then you'll always know what the smallest element in the infix you're considering is
11:48:52 and where it is
11:49:32 the recursion itself becomes O(n) once you have the O(n log n) index of elements in order
11:50:08 ais523: how does that work? how do you do a recursion "in that order"? a recursion would usually has to do descend to all infixes on one side, then all infixes on the other side.
11:50:41 so you can do a recursion with a call stack, where you're doing the left subtree than the right subtree
11:50:51 but you can also use a call queue, then you're effectively recursing over the tree breadth-first
11:51:04 you can generalise this into doing a recursion in arbitrary order
11:51:12 and how will that work in O(n) time?
11:51:16 -!- sprocklem has quit (Ping timeout: 256 seconds).
11:51:44 that sounds like it might work but I'm not convinced
11:51:50 b_jonas: oh right, it's acutally n log n; there are n recursive calls, each of which take constant time, but the context switches take log n time
11:51:53 -!- sprocklem has joined.
11:52:13 because you need to find the right stack/queue frame to aim for
11:54:21 here's the algorithm expanded: we have a set of infixes, initially just the initial list
11:54:27 meanwhile Im' trying to find my old implementation of the O(n) algorithm...
11:54:44 repeatedly, we locate the smallest element in any of the infixes, and split it into two infixes, the elements before that element, and the elements after that element
11:54:48 but I'm not sure I still hvae it
11:54:58 and repeat until we have no elements left
11:55:28 if we sort the list in advance (remembering where the elements are in sorted order), "locate the smallest element in any of the infixes" (in terms of its position relative to the original list, and its value) is constant-time
11:56:16 and if we maintain the list of infixes in sorted order (sorted using position in the initial list), using a self-balancing search tree, finding the correct infix based on the position of an element relative to the original list is O(log n)
11:56:38 thus, the sort in advance is O(n log n), the analysis of all the infixes is also O(n log n), overall algorithm is therefore O(n log n)
11:56:54 constant factor seems bad, though :-D
11:58:19 One of my favorite quotes from this paper: "Our attack can find collision [in MD4] with hand calculation."
11:58:39 apparently, nowadays MD4 is so broken that finding collisions in it is actually faster than MD4'ing the two resulting strings to verify that their hashes are the same as each other
12:04:10 ah, it's probably one of these scripts in this text file of completely undocumented and unreadable perl one-liners
12:04:29 or more than one of them, they're probably multiple algorithms for the same thing
12:04:51 must be this one
12:05:26 but is this actually the O(n) solution?
12:06:22 it says this where the input is the numbers as space-separated decimal
12:06:24 perl -we 'use strict; use List::Util "max"; my @A=split/ /,<>; sub f { my(@a) = (0, @_, 0); my $m = 0; my @s; for my $j (0 .. @a-1) { while (@s and $a[$j] <= $a[$s[-1]]) { my $l = 1<@s?$s[-2]:0; my $t = ($j-$l-1)*($a[$s[-1]]); $m<$t and $m=$t; pop @s; } push @s, $j; } $m; } print f(@A), "\n";'
12:07:45 that looks like an unused import to me
12:07:51 unless there's some usage of "max" I'm missing
12:08:02 yeah, like I said, undocumented and messy, wrote it for myself
12:08:09 but I think it's the O(n) solution
12:08:46 the trick is that it's an amortized thingy, the body of the while loop pops an element from @s, so it runs exactly once for each value pushed, and we push a value in each iteration of the for loop, which runs n times
12:08:56 [[Special:Log/newusers]] create * Filexor * New user account
12:09:03 it's O(n), the inner loop can't run any more iterations than the outer loop does because the outer loop pushes to @s exactly once and the inner loop pops from it exactly once
12:09:06 so you have n iterations of the for loop, n iterations of the body of the while loop total
12:09:43 and I have more test vectors here
12:10:18 9 apparently
12:11:00 I think your algorithm is basically the same as my O(n log n) algorithm except that it goes left to right, and manages to locate all the correct infixes as it does so, rather than needing an index calculated in advance
12:11:01 (and outputs for them, but you could get each with the quadratic time algorithm)
12:11:13 but both algorithms look at the same n infixes
12:11:47 that is likely, because neither uses any deep tricks about how the multiplication works apart from that it's monotone
12:12:05 -!- HaJones has quit (Quit: Leaving).
12:12:37 so you have to consider O(n) infixes, though you could consider O(n) more redundnatly
12:13:35 hmm… I assume there are randomized hashing algorithms which are secure in the sense that if you don't know the seed, you can't create a collision, and that given a random seed, two strings are no more likely to collide than a birthday paradox suggests
12:13:44 how much faster are they than cryptosecure hashes?
12:14:39 Wikipedia calls this "universal hashing"
12:16:08 -!- Frater_EST has joined.
12:16:38 ais523: people usually use the Blake2 hashes with a secret seed for that, I think python has such an implementation for its dictionaries
12:16:53 -!- Frater_EST has left.
12:17:13 Blake2 is supposed to be cryptosecure, but it's still somewhat faster than SHA-2 or SHA-3 usually, and more flexible
12:17:42 there's a Blake3 now
12:18:05 it's faster than blake2 partly because the number of rounds was reduced, but also because it can be vectorised
12:18:14 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=78096&oldid=78062 * Filexor * (+170) /* Introductions */
12:18:33 although, the input needs to be at least 2KiB in order to get the main gain from the vectorisation, and there's some overhead introduced to make that possible
12:18:37 no, I think blake2 can be vectorized too. blake3 can be parallelized.
12:18:49 it's a different sort of vectorization
12:19:09 as in, you need to do a single serial iteration to compute blake2 on a long input
12:19:24 Blake3 can be vectorized the same way Blake2 is, but it's more efficient to use the parellelizability and just use the vector registers to SIMD many of the parallel streams of execution at once
12:19:33 but that is an iteration with a rather fast constant factor as crypto hashes go
12:20:02 you could also use multiple CPUs or threads, but I don't consider that to actually speed up an algorithm, the same amount of CPU effort is expended
12:20:05 but I don't this this comes up often as an advantage
12:20:18 it's something that rarely helps in practice
12:20:38 or, rather, I think of the runtime of an algorithm as the integral of its CPU load dtime
12:20:53 also the blake2 hashes are well-studied, which is the main advantage when you consider crypto hashes
12:20:58 maybe I shouldn't, because in practice you rarely find things to fill the idle CPU cores with
12:21:07 yes
12:21:20 I wouldn't use Blake3 for non-crypto work yet
12:21:23 err, for crypto work yet
12:21:39 I might use it for non-crypto purposes, though, if I simply wanted a hash function that's unlikely to have collisions
12:23:29 anyway, using a universal hash rather than cryptosecure hash means that there are certain useful properties that might not be ruled out
12:23:47 for example, having an easy way to calculate the hash of A concat B if you know the hashes of A and B
12:31:31 [[PlusOrMinus]] M https://esolangs.org/w/index.php?diff=78097&oldid=75472 * PythonshellDebugwindow * (+550) Update year and add original version
12:33:24 [[Special:Log/newusers]] create * Blue screen of life * New user account
12:41:29 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=78098&oldid=78096 * Blue screen of life * (+172) Adding intro
12:41:38 [[Befunge]] https://esolangs.org/w/index.php?diff=78099&oldid=77368 * Blue screen of life * (+72) Adding a shorter Hello World program without string reversion to the examples section.
12:47:08 [[XENBLN/Commands]] M https://esolangs.org/w/index.php?diff=78100&oldid=74681 * PythonshellDebugwindow * (+3) Update commands
13:13:25 -!- hendursa1 has quit (Quit: hendursa1).
13:13:44 -!- hendursaga has joined.
13:14:03 -!- File_xor has joined.
13:15:13 -!- File_xor has quit (Remote host closed the connection).
13:27:00 -!- cpressey has joined.
14:11:18 [[User talk:Orby]] https://esolangs.org/w/index.php?diff=78101&oldid=78011 * OsmineYT * (-171)
14:19:40 -!- Arcorann_ has quit (Read error: Connection reset by peer).
14:24:16 -!- cpressey has quit (Ping timeout: 256 seconds).
14:25:56 -!- cpressey has joined.
14:32:45 -!- Sgeo has joined.
14:38:34 -!- Colonel_Kernel has joined.
14:38:40 -!- Colonel_Kernel has left.
15:11:17 [[Braindumbed]] N https://esolangs.org/w/index.php?oldid=78102 * Filexor * (+1501) Created page with "'''Braindumbed''' is esoteric instruction set architecture designed by [[User:Filexor]]. ==Language overview== Braindumbed generally runs with 65536 bits of address space with..."
15:36:59 [[Language list]] https://esolangs.org/w/index.php?diff=78103&oldid=78067 * Filexor * (+18)
15:41:02 -!- Filexor has joined.
15:42:40 -!- Filexor has quit (Remote host closed the connection).
15:48:04 -!- arseniiv has joined.
15:48:21 hi from win10 (:
15:48:43 hi
16:00:52 -!- cpressey has quit (Quit: WeeChat 1.9.1).
16:21:39 -!- FreeFull has joined.
16:33:40 -!- Melvar has quit (Quit: WeeChat 2.8).
16:40:58 hi arseniiv
16:41:04 arseniiv: is it a new computer hardware too?
16:54:53 -!- ATMunn has quit (Ping timeout: 246 seconds).
16:55:58 -!- ATMunn has joined.
17:05:53 -!- LKoen has joined.
17:08:40 -!- arseniiv has quit (Ping timeout: 258 seconds).
17:24:32 -!- arseniiv has joined.
17:30:17 b_jonas: nah, the same, though I bought a new display cable and tomorrow hopefully I'll grab it at the store. The current one is DVI-HDMI which is suboptimal, I picked HDMI at both sides. Should have done it so long ago but at least late is better than never. The change wouldn't improve resolution and frequency but I think it would do better in subtle and oblique ways
17:30:50 oh I need to reactivate my AutoHotkey script to be able to enter fancy apostrophes
17:33:49 it takes a day or so to migrate all settings that need to, and to install a stray driver and to reinstall most of the programs which aren't portable. I should take notes to automate that for the next upgrade or migration but I'm lazy
17:34:54 -!- FreeFull has quit.
17:36:49 -!- FreeFull has joined.
17:43:15 I'll probably grab the stuff I bought on Monday or Tuesday
17:58:15 -!- kurisu has joined.
18:06:19 -!- Melvar has joined.
18:25:31 -!- arseniiv has quit (Quit: gone too far).
18:59:08 -!- ais523 has quit (Quit: quit).
19:03:27 -!- hendursaga has quit (Remote host closed the connection).
19:04:19 -!- hendursaga has joined.
19:19:26 -!- imode has joined.
19:53:44 -!- kurisu has quit (Remote host closed the connection).
20:03:59 [[UFSA]] M https://esolangs.org/w/index.php?diff=78104&oldid=74608 * PythonshellDebugwindow * (+61) /* One-time binary cat */ Add example
20:13:43 [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=78105&oldid=77980 * SunnyMoon * (-314) This does not work...
20:22:40 [[Taktentus]] M https://esolangs.org/w/index.php?diff=78106&oldid=74146 * PythonshellDebugwindow * (+61) /* Syntax */ Add to documentation
20:37:32 [[Taktentus]] M https://esolangs.org/w/index.php?diff=78107&oldid=78106 * PythonshellDebugwindow * (+57) /* Syntax */ Add note about comments
20:44:27 -!- cherrybean has joined.
20:51:18 -!- cherrybean has left ("Leaving").
21:02:49 [[Voxvy]] N https://esolangs.org/w/index.php?oldid=78108 * PythonshellDebugwindow * (+334) Create
21:08:23 -!- Lord_of_Life has quit (Read error: Connection reset by peer).
21:09:15 -!- Lord_of_Life has joined.
21:09:16 -!- Lord_of_Life has quit (Changing host).
21:09:16 -!- Lord_of_Life has joined.
21:46:26 -!- LKoen has quit (Remote host closed the connection).
21:52:57 -!- tromp has quit (Remote host closed the connection).
22:23:36 -!- tromp has joined.
22:28:43 -!- tromp has quit (Ping timeout: 260 seconds).
22:32:19 [[Talk:Anarchysm]] N https://esolangs.org/w/index.php?oldid=78109 * Heavpoot * (+142) Created page with "would it be considered ok to improve the english of this ~~~~"
22:33:43 -!- t20kdc has quit (Remote host closed the connection).
22:35:13 [[Anarchysm]] https://esolangs.org/w/index.php?diff=78110&oldid=76549 * Heavpoot * (+182) bees
22:36:51 [[If the question specifies that the number of the words should be less than 3, and the number of words in your answer is larger than 3, your answer is automatically wrong.]] M https://esolangs.org/w/index.php?diff=78111&oldid=74257 * Heavpoot * (+32) i think you forgot an operator.
22:39:32 [[H]] M https://esolangs.org/w/index.php?diff=78112&oldid=71264 * Heavpoot * (+9) Fixed grammar
22:44:48 -!- Arcorann_ has joined.
22:49:03 [[Revaver2pi]] M https://esolangs.org/w/index.php?diff=78113&oldid=73504 * Heavpoot * (+143) Changed wording, fixed grammar
22:51:26 [[TLOWScript]] M https://esolangs.org/w/index.php?diff=78114&oldid=56541 * Heavpoot * (-12) "compiler/interpreter" -> "implementation"
22:52:19 [[TLOWScript]] M https://esolangs.org/w/index.php?diff=78115&oldid=78114 * Heavpoot * (+6) Fixed grammar
22:54:37 [[Cod]] M https://esolangs.org/w/index.php?diff=78116&oldid=43386 * Heavpoot * (+76) Add link, fix typos/grammar
22:57:44 -!- deltaepsilon23 has joined.
22:58:40 -!- tromp has joined.
23:00:47 -!- deltaepsilon23 has changed nick to delta23.
23:03:24 -!- tromp has quit (Ping timeout: 256 seconds).
23:09:00 -!- aaaaaa has joined.
23:22:16 -!- FreeFull has quit.
23:52:55 -!- tromp has joined.