< 1564101654 756562 :zzo38!~zzo38@24-207-15-213.eastlink.ca JOIN :#esoteric < 1564102469 288389 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: Leaving < 1564102487 415408 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric > 1564102926 302242 PRIVMSG #esoteric :14[[07Realm14]]4 M10 02https://esolangs.org/w/index.php?diff=64710&oldid=64695 5* 03Hakerh400 5* (-14) 10Thanks User:Plokmijnuhby for the nice example! We adapted it to make it work with the abovementioned I/O format, since, as said in the paragraph before, bits of each byte are reversed. < 1564103368 528687 :adu_!~ajr@pool-173-73-86-145.washdc.fios.verizon.net JOIN :#esoteric < 1564103370 729404 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1564103505 388375 :adu!~ajr@pool-173-73-86-145.washdc.fios.verizon.net QUIT :Ping timeout: 244 seconds < 1564103505 655125 :adu_!~ajr@pool-173-73-86-145.washdc.fios.verizon.net NICK :adu > 1564104646 74141 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64711&oldid=64709 5* 03Areallycoolusername 5* (+399) 10 < 1564105430 261199 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :b_jonas: Yes, I suppose it can be difficult without the cards. (Although, when ais523 was designing the card game, I did not see any cards either. Did they update the document since then?) < 1564106762 822228 :sprock1em!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 258 seconds < 1564109796 899697 :xkapastel!uid17782@gateway/web/irccloud.com/x-opngjhamjfuuemat QUIT :Quit: Connection closed for inactivity < 1564112599 867383 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :LLVM has a norecurse attribute. When compiling for Glulx, since there is no addressable frame memory in Glulx, it must be emulated. But, it may be avoided for norecurse functions. One thing to do is to perhaps use the first argument as the frame address, but a calling convention for functions without a frame address may be useful to avoid adding this extra argument. < 1564112612 50889 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Or, maybe there may be a better way. < 1564113670 955246 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :(The emulated frame memory is also not needed if you never take the address of any local variable.) < 1564113952 469789 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Ping timeout: 244 seconds < 1564114090 100925 :doesthiswork!~doesthisw@98.125.174.165 PRIVMSG #esoteric :are you writing a compiler? < 1564114207 957785 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Not at this time, but I mention the idea, if it can be used to compile LLVM codes into a Glulx story file. < 1564114439 876841 :Sgeo!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1564114593 635721 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1564114638 853127 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Non-packed structures should align the elements of the structure according to the type of the elements (and at most four bytes), but the address where the structure begins does not need to be aligned. < 1564114755 974148 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :In Glulx, you cannot take the address of local variables, and all local variables are 32-bits (smaller local variables are actually possible, but they do not work very well, and the assembler does not support local variables smaller than 32-bits). < 1564115736 630417 :adu!~ajr@pool-173-73-86-145.washdc.fios.verizon.net QUIT :Ping timeout: 272 seconds < 1564115924 756803 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Some LLVM functions would be supported in Glulx, but some aren't. Some may be possible if emulated. @llvm.memcpy() and @llvm.memmove() both correspond to the mcopy instruction. @llvm.memset.p0i8.i32() has a single instruction supported but only if the value to write is zero. < 1564116126 617165 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :The @llvm.debugtrap() function would correspond to the "debugtrap" Glulx opcode (although in Glulx it takes an argument and in LLVM it doesn't). < 1564116667 668611 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Glulx does support setjmp() and longjmp(), although there are a few limitations which are unlikely to matter in C, as long as the code generator is aware of these limitations. < 1564117039 529346 :adu!~ajr@pool-173-73-86-191.washdc.fios.verizon.net JOIN :#esoteric < 1564117090 570204 :doesthiswork!~doesthisw@98.125.174.165 QUIT :Ping timeout: 248 seconds < 1564122905 477401 :user24!~user24@p4FCA30BF.dip0.t-ipconnect.de JOIN :#esoteric < 1564126655 981748 :user24!~user24@p4FCA30BF.dip0.t-ipconnect.de QUIT :Quit: Leaving < 1564127157 297031 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1564127778 683434 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 248 seconds < 1564127876 498271 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1564129416 586354 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net JOIN :#esoteric < 1564129435 752817 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net PART :#esoteric < 1564130122 859861 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1564130879 202323 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Design for a pathological language. Fix an enumeration of Turing machines T0, T1, ... Tω. Programs in this language are integers. For a program i, if there is a j s.t. Ack(j,j) = i, simulate Tj. Else do nothing. < 1564130961 273453 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It's Turing-complete, because you can simulate any Turing machine with it - just find a suitable i. < 1564131219 614679 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm also pretty sure it has inherently high complexity (what ais523 and I were talking about a few days ago.) < 1564131541 624650 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It's also horribly "non-compositional" in the sense that the structure of the Turing machine isn't going to bear any resemblance to i. But that's nothing special. < 1564131589 753480 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :By which I mean, you'll see that in any construction that starts off with "Fix an enumeration of TMs", which happens in a lot of proofs < 1564131600 451798 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What is inherently high complexity? < 1564131687 306360 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You can simulate any Turing machine, but you can't simulate it efficiently. < 1564131811 956605 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It came up because of a stmt in an article from 2002 that tag machines can simulate TMs but that it was not known if that they could do so in poly time, that the best known simulation had an exponential slowdown. < 1564132301 357326 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The TC proof for https://esolangs.org/wiki/An_Odd_Rewriting_System has an exponential slowdown, but it's not known if it's inherent. < 1564132375 32330 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The pathological thing I wrote above has a slowdown which is more(?) than exponential, and appears inherent (if you could find which Tj to simulate efficiently, you could compute Ackermann function efficiently) < 1564132470 55532 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :But it's just an ugly little pathological counterexample. I can't call it an esolang. I can't even bring myself to give it a name. < 1564135218 455882 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Currently considering implementing AORS in Haskell in order to understand it better. < 1564135372 98499 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: sorry, but checking whether Ack(j,j) = i for some j *given i* does not strike me as expensive. < 1564135417 417209 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: "for some j" -> "discover j for given i" < 1564135436 175721 :int-e!~noone@int-e.eu PRIVMSG #esoteric :yeah but you're using a fast-growing function. < 1564135464 335706 :int-e!~noone@int-e.eu PRIVMSG #esoteric :so we will stop very soon, and we can stop before ack(j,j) is fully computed (it's enough for an intermediate result to exceed i) < 1564135468 760154 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :A fast-growing, strictly monotonic function < 1564135484 279722 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(except maybe in some corner cases, I have not thought this through completely) < 1564135545 895476 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Taneb: right, that's what I meant < 1564135634 840853 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't follow. Call Ack(1,1), Ack(2,2) "Ackermann numbers". I give you a number, you tell me if it's an Ackermann number or not. You're saying you can do this efficiently? < 1564135648 349928 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(I missed the ... after Ack(2,2) there, sorry) < 1564135652 744525 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'm pretty sure I can. < 1564135655 775850 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I can do it as efficiently as you can give me numbers, I feel < 1564135747 183952 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :And if I give say "Give me the n'th Ackermann number", can you do that efficiently too? < 1564135753 741167 :int-e!~noone@int-e.eu PRIVMSG #esoteric :no < 1564135805 312932 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I know that I can't really grasp just how fast that function grows. < 1564135837 962550 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :If I can fit i into my brain I can be confident j <= 6 < 1564135868 582697 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Well, I agree that the number of bits in the programs in this language might be expoentially more than the number of bits needed to describe the TMs, but, not sure if that's relevant for what it's trying to show or not. < 1564135910 512406 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(I say exponential because I'm looking for something that is at least exponential) < 1564136184 159090 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1564136275 392261 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: Julia seems like a typical new language, just like how you complained about what rust was like in the past: I ran julia from the debian oldstable and looked up the docs of the latest version online, and already found two obvious differences < 1564136324 53705 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :In the old version, $ was the bitwise xor function; in the new version it's renamed to xor, also available under some non-ascii alias < 1564136359 383614 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I see no reason why testing whether j exists should take more than quadratic time in the size of i, given that we have a fairly nice closed formula for ack(3,j): ack(3,j) = 2^(j+3)-3... so we don't have to evaluate the recursion down to the base cases (which would likely become exponential, simply because we have to compute, say, ack(4,4), exactly if given that as input). < 1564136382 796243 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :The docs does reflect this of course < 1564136406 314594 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: What if I give you a much smaller i and ask you for the smallest Ackermann number that ends in the digits of i? < 1564136425 589851 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: that might be undecidable < 1564136475 84725 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :True, that's not a good thing in a TC reduction. < 1564136525 280544 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(Gut reaction. There should be some shortcuts when computing ack(i,j) modulo n. But I'm not sure how effective they really are.) < 1564136619 336861 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: there definitely are. I have a post relevant to that on SE. but more importantly, every positive integer is an ackermann number of form A(0, n), < 1564136660 849809 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wob_jonas: we've restricted the notion to Ack(n,n), I think. < 1564136665 357625 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and even if you forbid that and ask for ackermann numbers of form A(m, n) where M<=m for some fixed M, then every ackermann number like that is of form A(M, n). < 1564136666 530840 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :OH! < 1564136672 879933 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :you want only A(n, n)? that's harder > 1564136765 160649 PRIVMSG #esoteric :14[[07Talk:Swissen Machine14]]4 M10 02https://esolangs.org/w/index.php?diff=64712&oldid=64692 5* 03A 5* (+756) 10/* Conclusion */ < 1564136778 312613 :arseniiv!~arseniiv@136.169.234.37 JOIN :#esoteric < 1564136788 530517 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: Yeah, Julia 1.0 only came out last year. There's a 1.1 already. I hope they keep 1.x stable. < 1564136846 338501 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: Are you guanxing? < 1564136856 632153 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: when I can < 1564136877 656627 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :What if I give you an i and you give me the smallest Ackermann number that has at least i digits in its decimal expansion < 1564136887 965369 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Oh never mind < 1564136890 506259 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Are you doing fancy SAT/QBF/exact cover/ILP/whatever solver things? < 1564136896 175746 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :This is just like last time I tried to do this < 1564136902 771184 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I am doing nothing of the sort myself < 1564136925 890494 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Just trying to document some of the data structures < 1564136947 895170 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Are there any good data structures? < 1564136961 65878 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: How something more computational, like checking whether T_i executes for at least 2^i steps before it halts? < 1564136980 456695 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: there's the type-threaded catenable list, which is pretty neat < 1564136990 846422 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Apparently many SAT solvers support producing certificates of unsatisfiability. < 1564137000 116333 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wonder what kinds of problems that's feasible for. < 1564137006 940909 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :( https://github.com/ekmett/guanxi/blob/master/src/Aligned/Internal.hs#L207 ) < 1564137056 698987 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :How do catenable lists work? < 1564137067 410768 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: That sounds almost too simple, but it might work. < 1564137074 509311 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe if I unthread the types it'll be easier to see. < 1564137078 286305 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: https://en.wikipedia.org/wiki/Boolean_Pythagorean_triples_problem < 1564137116 142673 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: anyway, yes, in that case you can tell easily if a number is an ackermann number, and with what argument, because (\n -> A(n, n)) is monotonic < 1564137117 202130 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: the purpose of them is to be a sequence type with O(1) cons, snoc, and append < 1564137124 6236 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: I guess it's not really all that easy because simulating a TM might be faster than the original TM. < 1564137126 866320 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I'm not too sure how they work so far but they deem to < 1564137127 626280 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: Yes, we talked about that the other day. < 1564137128 730677 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :*seem < 1564137131 909965 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and grows very fast < 1564137200 688950 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I should probably learn the details of CDCL better. < 1564137213 135962 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :data Cat a = E | C a (Q (Cat a)) < 1564137271 115558 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :data Q a = Q -- hang on, what's this existential? < 1564137287 418392 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :What existential? < 1564137293 140046 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Q can be any reasonably efficient queue type < 1564137294 884699 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :data Q f a b where Q :: !(Thrist f b c) -> !(Rev Thrist f a b) -> !(Thrist f b x) -> Q f a c < 1564137303 54195 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's that x about? > 1564137304 849562 PRIVMSG #esoteric :14[[07Talk:Swissen Machine14]]4 M10 02https://esolangs.org/w/index.php?diff=64713&oldid=64712 5* 03A 5* (+23) 10/* Conclusion */ < 1564137307 286823 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Oh yeah, that existential < 1564137326 669033 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :There's one in the definition of Cat I linked to, too < 1564137334 308119 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :um < 1564137339 407318 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which definition? < 1564137356 669906 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :you're writing crazy gadt types? < 1564137359 509862 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :data Cat f a b where E :: Cat f a a; C :: f b c -> (Q (Cat f) a b) -> Cat f a c < 1564137359 939955 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, sure, Cat has an existential, but it's used twice. < 1564137364 668710 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :wob_jonas: no, I'm only documenting them < 1564137374 126731 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This x is only used once. What's that about? < 1564137391 263456 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The Thrist to Nowhere < 1564137392 263178 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Oh, the one in Q, it's to do with how the queue is implemented. It's somewhere in PFDS < 1564137472 415397 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :instance Cons Q where cons a (Q f r s) = Q (a :. f) r (undefined :. s) < 1564137479 388566 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I find myself slightly skeptical of ths type. < 1564137493 157322 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :where do these come from? < 1564137502 252460 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb's link. < 1564137535 287167 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :OK, there's some invariant, which isn't documented of course. I guess that's what Taneb is doing. < 1564137561 40165 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Man, how can Haskell people stand how inefficient their code is? < 1564137582 631880 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :oh < 1564137598 53464 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: I don't care as long as it's fast enough < 1564137728 526500 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: OK, is this third Q field literally just a natural number? < 1564137776 779254 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think that's what's going on. For the amortization, or something. < 1564138070 848464 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Golly. You should simplify this code before or after documenting it. < 1564138126 577930 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Sometimes I don't want fast, if fast means I have to write the program differently < 1564138190 933887 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Optimizations interfere with aesthetics, y'know < 1564138438 433989 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: one possible solution for that is to write the parts that you have to optimize in two versions, a straightforward version that works but you ifdef it out, and an optimized version. < 1564138571 751586 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: Yes, that works well if you have a suite of tests that you can run on both versions < 1564138602 558153 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ugh, I wish any programming language was good. < 1564138635 813922 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: right, maybe you can make the part deterministic enough and repeatable enough that you can compare the output of the two of them < 1564138649 762046 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :sometimes it's hard when it can have difficult side effects < 1564138670 321564 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but often enough it's good < 1564138706 855707 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :my code are usually full of assertions to catch stupid errors I make < 1564138822 109657 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: the !(Thrist f b x) just acts as a counter... x is a type somewhere in the middle of the first list. < 1564138967 490778 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, that's the conclusion I came to above. < 1564139051 295606 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Except I think x is any type because the list is just full of undefineds? < 1564139054 348001 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I already closed the page. < 1564139057 229204 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: I had not seen that yet. I was studying the code. < 1564139068 423788 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: no, it starts out as nil = Id < 1564139113 689419 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right, that's the empty list. < 1564139117 874726 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: and then at each cons step the undefined is forced to match the function added to the first list < 1564139141 230810 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: and then in 'exec' it actually uses a copy of the first list when it knows that the second list is empty < 1564139174 233627 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(and I guess that copy is the reason for this awkward type... it might actually be more efficient than a unary counter of a different type this way) < 1564139207 453018 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I know of a secret technique for representing natural numbers that's more efficient than unary. < 1564139215 782551 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I'm sworn not to reveal it. < 1564139250 461116 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :more efficient than a unary counter... wow, that must be some fancy magical algorithm < 1564139273 243408 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean a unary counter where each successor is a new heap-allocated node, of course. < 1564139355 494222 :int-e!~noone@int-e.eu PRIVMSG #esoteric :yeah I'm not convinced that this is more efficient than keeping track of the counter in an Int. < 1564139359 483799 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(or Word) < 1564139437 724029 :int-e!~noone@int-e.eu PRIVMSG #esoteric :It's not clear though. You'd also have to keep track of the length of xs (the first list) at all times. And `rotate` would have to return two values. < 1564139583 608975 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1564139677 975773 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Design for a pathological language, take two. The bits of the program are simultaneously intepreted as a brainfuck program, and as a sentence in Presburger arithmetic. If the sentence is a theorem of PA then the output is the output of running the brainfuck program, otherwise the output is empty. < 1564139703 823167 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Presburger arithmetic is decidable, but it's 2-EXP-hard. < 1564139728 576220 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :sorry, 2-NEXP. < 1564139784 442601 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: that's probably not too hard to use, unless you design the syntax such that any reasonable BF program is always a syntax error in Presburger Arith. you just have to write your programs with some extra stuff that makes them _easy_ theorems < 1564139820 829441 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It might be a better idea to interleave the bits instead of overlap them. < 1564139871 623020 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"better" in the sense of "make it easier to show that it works" rather than "more interesting" < 1564139954 852937 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :although it would be annoying, because most brainfuck programs have a lot of >>>>>> things in them, and now you have to change those to pad them out like 1>0&&1>0&&1>0&&1>0&&1>0&&1>0&&1>0 to avoid a syntax error < 1564139979 893100 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: interleaving is basically pairing. so you're saying M(T,X) = if X in L then T(X) else , where T is a Turing machine (Brainfuck program), and L is a hard but decidable language? (Presburger arithmetic). < 1564139995 285163 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: yeah that's what makes it boring < 1564140036 361890 :int-e!~noone@int-e.eu PRIVMSG #esoteric :sorry, not T(X), just T() I suppose. < 1564140060 446123 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(But while we are building tuples, you could add the input as a third component.) < 1564140147 89211 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think I once talked about a language which is just like some other language except it's a syntax error for the sha1 hash of your program to be nonzero. < 1564140176 458106 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't remember the context now. < 1564140219 328165 :int-e!~noone@int-e.eu PRIVMSG #esoteric :we also had this idea of restricting C to programs with a particular hash (I forgot which hash, but the idea was to hash the hello world program.) < 1564140240 212375 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It seems trivial to say "This language is complex because it insists on solving an unrelated complex problem before it tries to run your program in an otherwise normal fashion" < 1564140244 788229 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So same idea, but with the benefit that we can actually write *a* program. < 1564140276 331717 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think it's hard to prove things about hash functions like surjectivity. < 1564140301 177311 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Still, counterexample is counterexample, so I guess I can't object if it's annoying, boring, trivial, etc < 1564140306 609863 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe there are some cryptographic hash functions that also let you prove nice uniformity properties. < 1564140353 215139 :arseniiv!~arseniiv@136.169.234.37 QUIT :Ping timeout: 245 seconds < 1564140519 928048 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Could go with overlapping, but give both alphabets (brainfuck's and PA's) a certain amount of redundancy, so that structure of bf program does not necessitate certain structure of pa sentence, and v-v < 1564140713 731456 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :there's also a variant where the extra condition unrelated to the program is hard to even verify, but you just document that the program causes an undefined behavior unless that condition is satisfied, and the interpreter doesn't try to verify it < 1564140739 736883 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :you can make the program cause an undefined behaviour unless whoever runs the compiler has payed me a hundred dollars, < 1564140767 285896 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or make the program cause an undefined behaviour unless the program was typed entirely by a cat walking on the keyboad, < 1564140783 296963 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or make the program cause an undefined behaviour unless whoever wrote the program is pure in heart, < 1564140800 749099 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or make the program cause an undefined behaviour unless whoever wrote the program really regrets having written it, < 1564140847 413372 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :etc. I'm even thinking of adding such a restriction to some of the library functions of Consumer Society (not to the core language, just a few functions). < 1564140917 908708 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: it's a counter, but it uses a lot of sharing with the first field < 1564141058 81017 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: it's described on page 87 of my copy of Purely Functional Data Structures, so if you can find another copy maybe it's the same page > 1564142470 136893 PRIVMSG #esoteric :14[[07Talk:Swissen Machine14]]4 10 02https://esolangs.org/w/index.php?diff=64714&oldid=64713 5* 03Jussef Swissen 5* (+446) 10 < 1564142717 133895 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :*Main> take 6 $ run testProg1 < 1564142719 677885 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :["Cwg","CCwg","Ccwwg","CCCCwg","CcCcwwg","CCccwwwg"] < 1564142729 109462 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I seem to have written an AORS interpreter. < 1564142944 477502 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :https://gist.github.com/cpressey/c8e42eb7223becae2e11aac676d1713e < 1564142985 750388 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :You can laugh at my Haskell writing style if you like. < 1564142997 528005 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: Hmm what kind of property would provably ensure surjectivity of a hash without making preimages or collisions easier? < 1564143234 326950 :int-e!~noone@int-e.eu PRIVMSG #esoteric :> zip "abc" [0..] < 1564143237 298896 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : [('a',0),('b',1),('c',2)] < 1564143367 863406 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Turns out it doesn't need indexes (I was confused, thought the spec talked about "odd positions", but it doesn't) < 1564143478 219468 :int-e!~noone@int-e.eu PRIVMSG #esoteric :yeah I just started wondering about that < 1564143569 977926 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I would forego the fold there, I think, in favor of an explicitly recursive function that takes a list and the number of seen odd symbols so far. < 1564143661 567710 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(the main reason being that accumulating a list by appending singleton lists feels horrible) < 1564143770 213184 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :To each their own. Would it help if I explained that I wrote it because I wanted to better understand how it differs from a conventional rewriting system? < 1564143818 182408 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It looks like it's a kind of context-sensitive string rewriting. < 1564144344 533121 :int-e!~noone@int-e.eu PRIVMSG #esoteric :inserting odd characters has an odd effect in that rewriting flavor :P > 1564145388 768097 PRIVMSG #esoteric :14[[07Talk:An Odd Rewriting System14]]4 N10 02https://esolangs.org/w/index.php?oldid=64715 5* 03Chris Pressey 5* (+388) 10Haskell implementation < 1564147319 530996 :arseniiv!~arseniiv@136.169.234.37 JOIN :#esoteric < 1564147618 547278 :arseniiv!~arseniiv@136.169.234.37 QUIT :Ping timeout: 272 seconds > 1564148179 485879 PRIVMSG #esoteric :14[[07Talk:Swissen Machine14]]4 M10 02https://esolangs.org/w/index.php?diff=64716&oldid=64714 5* 03A 5* (+545) 10/* Conclusion */ > 1564148219 507731 PRIVMSG #esoteric :14[[07Talk:Swissen Machine14]]4 M10 02https://esolangs.org/w/index.php?diff=64717&oldid=64716 5* 03A 5* (+61) 10/* Conclusion */ > 1564148248 719590 PRIVMSG #esoteric :14[[07Talk:Swissen Machine14]]4 M10 02https://esolangs.org/w/index.php?diff=64718&oldid=64717 5* 03A 5* (-4) 10/* Conclusion */ > 1564148423 43422 PRIVMSG #esoteric :14[[07Talk:An Odd Rewriting System14]]4 10 02https://esolangs.org/w/index.php?diff=64719&oldid=64715 5* 03Chris Pressey 5* (+2428) 10Towards a non-exponentially-slowing-down simulation of a 1D-1D-CA > 1564148533 38093 PRIVMSG #esoteric :14[[07Talk:Swissen Machine14]]4 M10 02https://esolangs.org/w/index.php?diff=64720&oldid=64718 5* 03A 5* (+233) 10/* Conclusion */ < 1564148533 598059 :xkapastel!uid17782@gateway/web/irccloud.com/x-utqigiprosetfyzl JOIN :#esoteric < 1564148796 28845 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :In other news, effect systems are pretty cool. < 1564149027 565200 :Reallycooluserna!6cf5fc98@108-245-252-152.lightspeed.miamfl.sbcglobal.net JOIN :#esoteric < 1564149078 962223 :Reallycooluserna!6cf5fc98@108-245-252-152.lightspeed.miamfl.sbcglobal.net NICK :ARCUN < 1564149268 367165 :ARCUN!6cf5fc98@108-245-252-152.lightspeed.miamfl.sbcglobal.net PRIVMSG #esoteric :Why does Java have such a hellish grammer? < 1564149351 612224 :ARCUN!6cf5fc98@108-245-252-152.lightspeed.miamfl.sbcglobal.net PRIVMSG #esoteric :I could write a program in C++ that's roughly the same length as an equivalent program in Java, and only the Java program would have issues < 1564150619 228699 :arseniiv!~arseniiv@136.169.234.37 JOIN :#esoteric < 1564150793 597575 :ARCUN!6cf5fc98@108-245-252-152.lightspeed.miamfl.sbcglobal.net QUIT :Remote host closed the connection < 1564151896 216072 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: This computer has gone to sleep < 1564152048 247539 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1564152740 887607 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :There is a candy on the table. Alice and Bob, at the same time, see it and try to grab it. Alice gets it, Bob does not. Is this a race condition? No. < 1564152751 87048 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If they somehow both got a candy, that would be a race condition. < 1564153016 779695 :int-e!~noone@int-e.eu PRIVMSG #esoteric :race conditions are a violation of physics. (that's what I got from this scenario) < 1564153410 923960 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Physics provides some good built-in locking mechanisms "for free". < 1564153465 906665 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm actually trying to come up with an analogy to explain why I'm not worried about a particular concurrency scenario, but it's not the best analogy. < 1564153500 23055 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It's more like: you can cancel a task, but you will never be guaranteed that you cancelled it in time. < 1564153516 350748 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The task might terminate just before you cancelled it. < 1564153601 798045 :int-e!~noone@int-e.eu PRIVMSG #esoteric :can this be seen as a variation of the byzantine generals problem somehow? < 1564153602 466740 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Since you effectively never have a guarantee of that, it's not worth worrying about whether "cancel" will be scheduled before or after "terminate". < 1564153631 921854 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't know what Byzantine generals refers to, but I heard it used in relation to this already, so I'll look it up. (Thanks!) < 1564153654 78591 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Hmm, that's the wrong general's problem... < 1564153676 26635 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :'"Byzantine generals" redirects here. For military generals of the Byzantine empire, see Category:Byzantine generals.' < 1564153679 424533 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :<3 u Wikipedia < 1564153681 281687 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I wanted https://en.wikipedia.org/wiki/Two_Generals%27_Problem which is different (and simpler). < 1564153833 944468 :int-e!~noone@int-e.eu PRIVMSG #esoteric :The similarity I'm seeing is that cancellation implies synchronization between the two tasks... and termination introduces a source of unreliability. It's a stretch, probably doesn't make sense outside of my mind :) > 1564153853 80246 PRIVMSG #esoteric :14[[07Seabass14]]4 10 02https://esolangs.org/w/index.php?diff=64721&oldid=64676 5* 03Sec-iiiso 5* (+40) 10/* Hello, world! */ > 1564153875 509680 PRIVMSG #esoteric :14[[07Seabass14]]4 10 02https://esolangs.org/w/index.php?diff=64722&oldid=64721 5* 03Sec-iiiso 5* (+1) 10/* Hello, world! */ < 1564154056 294416 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection < 1564154094 755398 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The Generals problems seem to relate mainly to distributed systems? What I'm thinking of isn't a distributed system, it's just a multithreaded program. < 1564154114 585336 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Sure I knew that < 1564154136 769646 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1564154152 55516 :int-e!~noone@int-e.eu PRIVMSG #esoteric :As I just wrote, it probably doesn't make sense :) < 1564154194 516966 :int-e!~noone@int-e.eu PRIVMSG #esoteric :brains are weird. < 1564154195 632392 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Well, it lets me figure that the previous reference to it that I heard probably doesn't make sense either :) < 1564154257 935373 :Sgeo!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 258 seconds < 1564154373 324749 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :I got involved in a discussion on news.software.nntp about the problem when article numbers will have to exceed 31-bits. My own software (both the client and server) already support 63-bit article numbers, although the protocol specification limits it to 31-bits. Some proposed solutions are increasing the version number to 3, adding a new BIGNUM command, and violating the protocol. < 1564154376 590941 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Obviously you don't *need* any distributed system for this. You need some kind of unreliable communication channel. It's just hard to come up with sources of unreliability on a single system that's operating fine :) < 1564154385 383709 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Do you have any comments about fixing this? < 1564154417 756334 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :zzo38: I would totally just violate the protocol. < 1564154501 842431 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( do a hard fork of the block chain ) < 1564154523 647289 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :cpressey: Yes, that is what I do too (but not until it becomes necessary to do so); although Michael think that it can cause a problem with a client that doesn't expect it. But I think that if they do what they suggest instead, then you may fail to notice new articles and fail to notice that there even is a problem. < 1564154716 913100 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Did you ever write any NNTP software? < 1564154932 855223 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1564154979 838423 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :See the thread starting at <5cd011d5$0$15174$426a74cc@news.free.fr> < 1564155145 759207 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 268 seconds < 1564155567 381948 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :zzo38: No, and I haven't used Usenet in ages. < 1564155646 813350 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: If you believe your local event queue is unreliable, you have way worse things to worry about than this, I imagine < 1564156173 126658 :doesthiswork!~doesthisw@98.125.174.165 JOIN :#esoteric < 1564156229 791810 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I wrote a dynamic race-condition analyser once: https://catseye.tc/installation/Matchbox < 1564156254 468411 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It's just a toy, but it can be fun to watch as it displays all the possible interleavings < 1564156601 605468 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :On the subject of programming languages, should I care about Pony? < 1564156649 205680 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: what do you think of this... there are water boilers with a mechanical switch that turn themselves off when the water is boiling. If you wait for the water to boil and switch them off, you can never be completely certain that they didn't switch themselves off first. < 1564156672 881949 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: That's a good analogy. Thank you! < 1564156728 715829 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Indeed, the electric kettle in my kitchen has exactly that feature. < 1564156748 231052 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :And in many kitchens across the country, one imagines < 1564156850 608036 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Pony looks better than I imagined it to be based on how twee it presents itself (that kind of presentation kind of turns me off y'know) < 1564156889 273211 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(What's the adjverbial form of the adjective twee? twee-ly?) < 1564156914 57332 :xkapastel!uid17782@gateway/web/irccloud.com/x-utqigiprosetfyzl QUIT :Quit: Connection closed for inactivity < 1564156918 887198 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :(Elm's presentation is also far too twee for my taste) < 1564157025 47715 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Do you mean the hand-holding ala "Working your way through the tutorial but in need of more help?"? < 1564157048 524114 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I didn't know "twee".) < 1564157167 761788 :int-e!~noone@int-e.eu PRIVMSG #esoteric :maybe shachaf could read https://www.ponylang.io/media/papers/opsla237-clebsch.pdf and tell us if it's any good. ("Fully Concurrent Garbage Collection of Actors on Many-Core Machines") < 1564157171 92072 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :In a tutorial, it's forgivable, you want to try to make it readable and friendly, I understand that. < 1564157196 938091 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Sometimes it starts to permeate an entire project though. < 1564157239 411876 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Related: including an emoji in the description of your project (very popular to do this on Github now.) < 1564157316 142689 :doesthiswork!~doesthisw@98.125.174.165 PRIVMSG #esoteric :uWu ~*what's this?*~ < 1564157317 113900 :int-e!~noone@int-e.eu PRIVMSG #esoteric :That reminds me of the fact that I never liked "Learn you a Haskell for Great Good", starting with the title, and the -- twee, I guess -- style. < 1564157351 166305 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Yeah I was going to mention that book as a sort of watershed moment in this regard < 1564157366 680198 :doesthiswork!~doesthisw@98.125.174.165 PRIVMSG #esoteric :you need to make the emojis an integral part of your language's syntax < 1564157634 56136 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :doesthiswork: That's a different matter. I approve of that, so long as they are grossly overused in incoherent ways in the program source. < 1564157692 359357 :doesthiswork!~doesthisw@98.125.174.165 PRIVMSG #esoteric :I suppose If I do that then the documentation must be as serious and professional as possible < 1564157917 489281 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"Incorrectness is simply not allowed." Thank you, Pony project, for engaging in that other rhetorical habit that irritates me: hyperbole. < 1564157956 845556 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Hyperbole is the worst possible thing that any form of writing could ever include, with the possible exception of irony < 1564158074 347801 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Taneb: That's very good, I'll have to remember that one. < 1564158116 575478 :Melvar!~melvar@ltea-178-014-120-010.pools.arcor-ip.net QUIT :Quit: thunderstorm < 1564158178 847940 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( Show me a proogramming language that ensures that all programs are correct and I'll show you a programming language that is useless. ) < 1564158220 441559 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: This computer has gone to sleep < 1564158595 960392 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Alas I must away. À la prochaine. < 1564158597 460240 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: WeeChat 1.4 < 1564159467 546074 :lldd_!~atrapado@unaffiliated/atrapado JOIN :#esoteric < 1564159729 263203 :lldd_!~atrapado@unaffiliated/atrapado QUIT :Client Quit < 1564159923 660987 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu JOIN :#esoteric < 1564160000 215103 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1564160493 884913 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :oh, that could be evil! make the language so that most things are written in ascii, but there's some rare feature that disables some optimization that you occasionally need to use in programs that do something tricky with pointer aliasing, and make the syntax for that rare syntax a brocoli emoji or something. < 1564160542 812725 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :when the next person to maintain your program sees that, they'll believe it's nonsense, because all programs they've seen are written in ascii only, they remove the brocoli from the source code, the program still compiles, but months later they'll get mysterious hard to debug failures when the phase of the moon influences the optimizer the wrong way. < 1564160606 573616 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :we should propose that for C++. < 1564161105 993382 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :or maybe for one of those features where the code doesn't compile unless you use some crazy incantation, and that incantation is a vomiting rocket emoji. the person learning rust can't figure out how to convince the borrow checker that some code is valid. he asks on StackOverflow or something. he gets an answer with working code with a vomiting rocket in the middle. he ignores that, thinking that must < 1564161112 3146 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :be a troll, no programming language actually uses vomiting rockets. < 1564161115 681607 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :the answer might even get deleted if other people don't take it seriously either. < 1564161317 244359 :doesthiswork!~doesthisw@98.125.174.165 PRIVMSG #esoteric :what is the vomiting cocket emoji? < 1564161372 744196 :doesthiswork!~doesthisw@98.125.174.165 PRIVMSG #esoteric :*rocket (a bit of a freudian slip there) < 1564162431 746033 :arseniiv!~arseniiv@136.169.234.37 PRIVMSG #esoteric :b_jonas: please let’s not do C++ that big a favor < 1564162668 79858 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :doesthiswork: https://www.xkcd.com/1813/ < 1564162701 656299 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :but that's just an example, other emoji characters could work < 1564162743 89304 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :presumably they would match the meaning somewhat, so the emoji spelling for std::launder would be a washing machine or something < 1564163924 691947 :doesthiswork!~doesthisw@98.125.174.165 PRIVMSG #esoteric :that's the same as what Steele was doing with fortress right? < 1564168037 189638 :Melvar!~melvar@ltea-178-014-120-010.pools.arcor-ip.net JOIN :#esoteric < 1564169445 944749 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: What about it? < 1564169470 582463 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The idea is that it can prevent global pauses by doing local GC? < 1564170029 500494 :adu!~ajr@pool-173-73-86-191.washdc.fios.verizon.net PRIVMSG #esoteric :shachaf: that's called Rust < 1564170222 891748 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No it isn't? < 1564170946 696058 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1564171052 316837 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 245 seconds < 1564171113 839850 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1564172334 708710 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :also I'm visiting London tomorrow, but only for three days < 1564173697 112649 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :You can make the syntax to use U+FFFE character < 1564174794 804143 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1564176010 629535 :xkapastel!uid17782@gateway/web/irccloud.com/x-zozhvacmdhxlwwru JOIN :#esoteric < 1564177385 386473 :moei!~moei@softbank221078042071.bbtec.net JOIN :#esoteric < 1564177994 624866 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :I'll be seeing the non-vacuum versions of the tube. < 1564178297 212423 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ooh < 1564178304 233456 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :what are your other plans in london? < 1564178323 700724 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :adu: Rust hasn't had local GC in a really long time, it was removed before 1.0 < 1564178343 288669 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and actually rustc's @T wasn't real GC, it was a janky refcounting system < 1564178367 680416 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :(but the rustboot implementation before that had real GC) < 1564178411 360872 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :there now are attempts to add hooks to enable GC libraries < 1564178429 521679 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :however I think Rust has enough "no GC" inertia that they're not going to end up with the D problem where half the libs depend on GC < 1564178433 549411 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it'll be more for specialized things < 1564178445 789690 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :Servo had a bunch of hooks to enable Rust objects to be managed by SpiderMonkey's GC < 1564178451 365128 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :that was really really janky < 1564178452 667853 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and unsafe < 1564178471 666737 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :not less safe than the way Gecko does it in C++, but not as safe as Rust is supposed to be < 1564178501 550856 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :in the early days, Rust was more like a native-code Erlang or a not dumbed down Go < 1564178510 161497 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it gradually evolved towards being a "bare metal" systems language < 1564180347 161942 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :nice, the big museums in London are open almost every day. I'm used to most museums being open only 6 days a week < 1564180363 155583 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :kmc: I don't have too much plans. I'm going with family, so the plan mostly involves being with them. < 1564180375 70137 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :i see < 1564180377 931598 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :I definitely want to visit museums, as well as just walk on the streets of the inner city, because both of those are my kinds of fun < 1564180379 198173 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :are they cool > 1564180394 367291 PRIVMSG #esoteric :14[[07Talk:An Odd Rewriting System14]]4 10 02https://esolangs.org/w/index.php?diff=64723&oldid=64719 5* 03Ais523 5* (+1304) 10what causes the issue with AORS < 1564180402 45821 :b_jonas!~x@catv-176-63-25-69.catv.broadband.hu PRIVMSG #esoteric :also they're planning to go to some sort of concert on saturday evening < 1564180756 234146 :arseniiv!~arseniiv@136.169.234.37 QUIT :Ping timeout: 246 seconds < 1564182946 706368 :sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 248 seconds < 1564183051 201706 :sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1564183873 584086 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :kmc, oh hey i talked to someone on discord the other day who swore that he had run into a bug where firefox's JS engine was garbage collecting live variables in the middle of a function < 1564183893 339974 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :i still don't really believe him but extremely lol if true < 1564184047 540297 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :Do you have a example program to test it? Then you can see if that is the case. < 1564184239 409885 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :i do not, and it sounded like one of those baffling bugs that's buried very deep in a giant project < 1564184328 577099 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :wouldn't be surprised if it turns out not to be reproducible. the guy was saying he suspected it might actually be some JS library or other instead < 1564184332 660905 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :but a man can dream