< 1741651943 71620 :sprout!~sprout@84-80-106-227.fixed.kpn.net PRIVMSG #esolangs :sure, but a large number of applications have timing requirements < 1741651956 683305 :sprout!~sprout@84-80-106-227.fixed.kpn.net PRIVMSG #esolangs :and then everything turns out broken < 1741652015 426468 :sprout!~sprout@84-80-106-227.fixed.kpn.net PRIVMSG #esolangs :your compiler might use a random generator in some heuristical optimization, and the cpu might have a branch predictor which -despite it's name- gives unpredictable behavior < 1741652245 488295 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Timing would still be possible, if the program is given a capability that can be triggered according to the amount of time that has passed (all I/O would be using capabilities, in this system). That is how I would have any programs dealing with time to work. (This is a bit like timerfd_create, but it is not a system call; you need to be given the capability when starting the program or from another capability.) < 1741653727 859813 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net QUIT :Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement < 1741653765 952967 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Timing requirements don't ruin the Galois theory, I think. Instead of just talking about functions, we'd talk about functions equipped with some writing monad. > 1741654240 697111 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153683&oldid=153678 5* 03Hotcrystal0 5* (+76) 10 > 1741655519 526764 PRIVMSG #esolangs :14[[07Talk:.exe14]]4 N10 02https://esolangs.org/w/index.php?oldid=153684 5* 03Baldibacak 5* (+146) 10/* minecraft is not written in .exe */ new section > 1741657510 259735 PRIVMSG #esolangs :14[[07User:Zip14]]4 10 02https://esolangs.org/w/index.php?diff=153685&oldid=103764 5* 03Zip 5* (+139) 10 > 1741657747 917078 PRIVMSG #esolangs :14[[07User:Zip/Thue/CT14]]4 N10 02https://esolangs.org/w/index.php?oldid=153686 5* 03Zip 5* (+1073) 10Created page with "[[Bitwise Cyclic Tag#The_language_CT|CT]] interpreter in Thue. '''NOTE:''' Assumes that lines before the final ::= that don't contain ::= are comments. This is the behavior of Delic's Thue interpreter, but probably most interpreters don't > 1741658958 991023 PRIVMSG #esolangs :14[[07User:I am islptng/List of the users that is also in conwaylife.com14]]4 10 02https://esolangs.org/w/index.php?diff=153687&oldid=152249 5* 03Hotcrystal0 5* (+34) 10 < 1741661818 427211 :craigo!~craigo@user/craigo JOIN #esolangs craigo :realname > 1741661925 753015 PRIVMSG #esolangs :14[[07User talk:Stkptr14]]4 10 02https://esolangs.org/w/index.php?diff=153688&oldid=153472 5* 03I am islptng 5* (+593) 10 > 1741662073 291050 PRIVMSG #esolangs :14[[07User talk:Hotcrystal0/Deep14]]4 N10 02https://esolangs.org/w/index.php?oldid=153689 5* 03I am islptng 5* (+563) 10Created page with "I hope it'll be Turing-Complete. --~~~~" > 1741662355 686715 PRIVMSG #esolangs :14[[07User:I am islptng/Draft for Esolang14]]4 N10 02https://esolangs.org/w/index.php?oldid=153690 5* 03I am islptng 5* (+51) 10Created page with "Esolang is a language designed by islptng." < 1741665934 982239 :Sgeo_!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname < 1741666140 27588 :Sgeo!~Sgeo@user/sgeo QUIT :Ping timeout: 265 seconds > 1741667374 982851 PRIVMSG #esolangs :14[[07StackBBQ214]]4 N10 02https://esolangs.org/w/index.php?oldid=153691 5* 03I am islptng 5* (+748) 10Created page with "StackBBQ2 is a computation model / esolang created by islptng. It has a stack that holds bits, a queue Q that holds bits, and a stack P that holds queues. == Instructions == 1 push True to stack.
0 pops a, pops b, and pops c if !(a& > 1741667802 927644 PRIVMSG #esolangs :14[[07StackBBQ214]]4 10 02https://esolangs.org/w/index.php?diff=153692&oldid=153691 5* 03I am islptng 5* (-98) 10 > 1741668148 742416 PRIVMSG #esolangs :14[[07StackBBQ214]]4 10 02https://esolangs.org/w/index.php?diff=153693&oldid=153692 5* 03I am islptng 5* (-33) 10 > 1741668428 343888 PRIVMSG #esolangs :14[[07StackBBQ214]]4 10 02https://esolangs.org/w/index.php?diff=153694&oldid=153693 5* 03I am islptng 5* (+793) 10 > 1741668773 541987 PRIVMSG #esolangs :14[[07StackBBQ214]]4 10 02https://esolangs.org/w/index.php?diff=153695&oldid=153694 5* 03I am islptng 5* (-124) 10/* Interpreter */ > 1741669035 71683 PRIVMSG #esolangs :14[[07314]]4 10 02https://esolangs.org/w/index.php?diff=153696&oldid=147633 5* 03I am islptng 5* (+1) 10"ZCX" -> "I am" > 1741669358 282983 PRIVMSG #esolangs :14[[07User talk:Stkptr14]]4 10 02https://esolangs.org/w/index.php?diff=153697&oldid=153688 5* 03Stkptr 5* (+944) 10 < 1741669475 27581 :mtm!~textual@47.202.75.129 QUIT :Ping timeout: 265 seconds < 1741669579 599739 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Also, some versions of UNIX philosophy specify to use text, but I would instead use a type-length-value format, somewhat like DER, although there are some differences, including what types are available, as well as other differences. < 1741669587 593630 :mtm!~textual@47.202.75.129 JOIN #esolangs mtm :Textual User < 1741669787 303162 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :UNIX philosophy also intend every program should be made as a filter, and in this case it should also intend, and the TLV format can be used. (The operating system does not enforce to use the TLV format, but it should be expected, that the included software, and other software designed for it, should use it. However, it does enforce that all I/O can be filtered.) < 1741669899 986897 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(And, also, it would not use Unicode.) < 1741670013 815557 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(There are three character string types: ASCII string, TRON string, and string of 8-bit characters of a specified character set (of which ASCII is a special case, which is common enough to be given its own code; ASCII also has a special case having to do with keyboard handling in command mode (rather than other modes such as text entry mode)).) < 1741670143 874844 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I did make a list of what some of the data types will be. In addition to those ones, there is also the common stuff such as integer, sequence, key/value list, boolean, null, etc; but also such things as: text document, diagram, time series, tagged data, calculation, etc. < 1741670568 831005 :ski!~ski@remote11.chalmers.se JOIN #esolangs * :Stefan Ljungstrand > 1741671114 611788 PRIVMSG #esolangs :14[[07User:Stkptr14]]4 10 02https://esolangs.org/w/index.php?diff=153698&oldid=126825 5* 03Stkptr 5* (+1107) 10 > 1741671901 888966 PRIVMSG #esolangs :14[[07User talk:Stkptr14]]4 10 02https://esolangs.org/w/index.php?diff=153699&oldid=153697 5* 03I am islptng 5* (+16) 10/* StackBBQ */ > 1741672821 296522 PRIVMSG #esolangs :14[[07Piet-Q14]]4 10 02https://esolangs.org/w/index.php?diff=153700&oldid=74480 5* 03Stkptr 5* (-12) 10 < 1741673352 33992 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :(I would also have many other differences. Such as, application programs can request what character set is wanted for text input, as well as other keyboard modes. Another will be locales working. Some things do not belong in the locale setting and belong in a different setting instead, and some things do belong but should be made differently than other systems are doing.) > 1741674561 6723 PRIVMSG #esolangs :14[[07ParScript14]]4 10 02https://esolangs.org/w/index.php?diff=153701&oldid=140505 5* 03Stkptr 5* (+100) 10/* Turing-completeness */ > 1741674671 855690 PRIVMSG #esolangs :14[[07Spleenmap14]]4 10 02https://esolangs.org/w/index.php?diff=153702&oldid=39734 5* 03Stkptr 5* (-6) 10FSM > 1741674952 903443 PRIVMSG #esolangs :14[[07User:I am islptng/List of "x bits, y bytes"14]]4 10 02https://esolangs.org/w/index.php?diff=153703&oldid=151641 5* 03I am islptng 5* (+36) 10 < 1741675294 944991 :Trigon!~Trigon@c-24-10-151-155.hsd1.ut.comcast.net QUIT :Ping timeout: 260 seconds > 1741675350 463793 PRIVMSG #esolangs :14[[072 digits, 50 digytes14]]4 N10 02https://esolangs.org/w/index.php?oldid=153704 5* 03I am islptng 5* (+514) 10Created page with "This language has 99 5-digit number memory, numbered 00-98. (99 is used for I/O.) Instruction set: 0 let f t: f = t 1 add f t: f += t 2 sub f t: f -= t 3 mul f t: f *= t (mod 105) 4 div f t: f /= t 5 mod f t: f %= t 6 ant f t: f &= ~t > 1741675466 496336 PRIVMSG #esolangs :14[[07User:I am islptng14]]4 10 02https://esolangs.org/w/index.php?diff=153705&oldid=153491 5* 03I am islptng 5* (+71) 10/* My esolangs */ > 1741675487 331337 PRIVMSG #esolangs :14[[07User:I am islptng14]]4 10 02https://esolangs.org/w/index.php?diff=153706&oldid=153705 5* 03I am islptng 5* (+27) 10 < 1741675842 110184 :Sgeo_!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1741677133 54944 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord < 1741677206 857758 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 272 seconds < 1741677214 883261 :Lord_of_Life_!~Lord@user/lord-of-life/x-2819915 NICK :Lord_of_Life < 1741677680 215723 :Guest26!~Guest26@73.64.2.110.ap.yournet.ne.jp JOIN #esolangs * :[https://web.libera.chat] Guest26 < 1741677710 330646 :Guest26!~Guest26@73.64.2.110.ap.yournet.ne.jp QUIT :Client Quit > 1741678337 814436 PRIVMSG #esolangs :14[[07User:C0ffee14]]4 10 02https://esolangs.org/w/index.php?diff=153707&oldid=152616 5* 03C0ffee 5* (+11) 10 > 1741678439 681176 PRIVMSG #esolangs :14[[07User:C0ffee14]]4 10 02https://esolangs.org/w/index.php?diff=153708&oldid=153707 5* 03C0ffee 5* (+14) 10 > 1741678470 392483 PRIVMSG #esolangs :14[[07User:C0ffee14]]4 10 02https://esolangs.org/w/index.php?diff=153709&oldid=153708 5* 03C0ffee 5* (-16) 10 > 1741678484 610718 PRIVMSG #esolangs :14[[07User:C0ffee14]]4 10 02https://esolangs.org/w/index.php?diff=153710&oldid=153709 5* 03C0ffee 5* (+6) 10 > 1741678571 577548 PRIVMSG #esolangs :14[[07User:C0ffee14]]4 10 02https://esolangs.org/w/index.php?diff=153711&oldid=153710 5* 03C0ffee 5* (-2) 10 > 1741681740 195591 PRIVMSG #esolangs :14[[07Targs14]]4 10 02https://esolangs.org/w/index.php?diff=153712&oldid=124719 5* 03Stkptr 5* (+11) 10no loops < 1741689763 12139 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1741689799 436778 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : zzo38: last time I looked, I had the impression that CPUs are built such that it's hard to eliminate all the non-determinacy from programs that deliberately try to be non-deterministic by doing weird things, and I think the only way around that would be some kind of overkill like a whole virtual machine. but I could be wrong. ← most of that sort of nondeterminism is only observable using either a) race conditions, b) observation of timing, or c) < 1741689800 838034 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :obscure and not-widely-used CPU instructions < 1741689841 229713 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :a) and b) can mostly be eliminated by locking programs to a single thread at a time, and giving them no access to any timing sources < 1741689856 749355 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :c) is harder because not all such instructions can be turned off < 1741689889 917339 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's easy enough to enforce determinism in programs if you compile them from some other language rather than just running arbitrary machine code, though < 1741690212 433301 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :yes, plus there's a lot of timing inefficiency, so you have to be prepared to wait a LOT for a program that happens to run slower than expected so that the timeout can't be detected < 1741690253 795563 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and yes, compiling with a trusted compiler does make it much easier < 1741690915 140991 :APic!apic@apic.name PRIVMSG #esolangs :H* < 1741690916 669213 :APic!apic@apic.name PRIVMSG #esolangs :Hi * > 1741692654 489901 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153713&oldid=153683 5* 03Hotcrystal0 5* (+444) 10 > 1741695517 888920 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153714&oldid=153713 5* 03Hotcrystal0 5* (+116) 10 > 1741695548 470213 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153715&oldid=153714 5* 03Hotcrystal0 5* (+0) 10 > 1741695563 559422 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153716&oldid=153715 5* 03Hotcrystal0 5* (-75) 10 > 1741695583 874542 PRIVMSG #esolangs :14[[07User talk:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153717&oldid=153689 5* 03Hotcrystal0 5* (+135) 10 > 1741695893 411791 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153718&oldid=153716 5* 03Hotcrystal0 5* (+226) 10 < 1741697410 481197 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: actually the "I only want to run code that's been compiled with a trusted compiler" problem is one that I will probably have to end up solving at some point < 1741697445 21453 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you would need the compiler to somehow sign that the code had been compiled correctly, but it's not obvious how you would prevent incorrectly code being signed the same way < 1741697511 460661 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess the solutions involve either a) some sort of central compile-and-sign authority which everyone trusts (Apple is moving in that direction, although I don't think they're there yet), or b) every computer has its own set of signing keys, and does a compile-and-sign with its own keys, and those keys aren't readable by anything but the compiler (e.g. because you don't run code without first proving that it cannot read them) < 1741697748 280171 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh, you could also have a list somewhere of hashes of code that was known to have been compiled correctly, that's probably a better option < 1741697781 694793 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :i.e. you build it yourself and then add the hash of the resulting code to the list of code that's known to be OK – that doesn't require blocking read access to the list to untrusted programs, just write access < 1741697820 982535 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: yes, I think java and webassembly are kind of trying to work that way, with a slower compiler emitting an intermediate representation that can be verified and compiled on the machine that will run it. but deterministic execution is harder than just that. I was thinking a bit about that for multiplayer games where one machine can send untrusted code that other machines have to run as well, and < 1741697826 990602 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :you want the code to run deterministically on multiple machines so that the game state stays synced among machines. < 1741697844 441938 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think nondeterminism is a capability < 1741698229 143059 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :there's also multiple grades of deterministic execution, eg. (a) do you want to allow remote side effects within an execution environment eg. because the program can read the address of allocations, which are the same everywhere becuase you're using the same deterministic allocator, but can depend on what unrelated parts of the code do, (b) do you want stability among different versions of the compiler < 1741698235 186638 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :or runtime so if you upgrade the result of the execution doesn't change, or even everything specified so deterministically that a clean reimplementation from the spec can result in the same execution, (c) do you want the same results on different underlying hardware, especially CPU architecture, (d) do you want to forbid timeouts, guarantee that if the code doesn't time out on one machine then you can < 1741698241 159275 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :run to completion in a reasonable time on your machine too. < 1741698333 572495 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess you also have to make decisions like "make allocation addresses deterministic" versus "make the program unable to act differently based on allocation addresses" < 1741698447 897770 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :something I have been thinking about for a while is that it might be more efficient for programs to control their own memory map < 1741698453 635579 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: yes, the latter you do by allowing the user to declare user-defined types that have a nominal address, which you just assign sequentially using a global counter, regardless of the actual address < 1741698464 330231 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :i.e. it's the program rather than the OS that decides where in virtual memory to allocate the allocations < 1741698482 409823 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that way you could get some tagging bits for free < 1741698508 29218 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :e.g. you could tell what allocator allocated an object just by looking at a particular part of the address < 1741698508 100801 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :also dictionaries are hard to define in a deterministic way < 1741698529 856152 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(that said, I don't know much about the performance of weirdly placed memory mappings) < 1741698556 144184 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and even sorting if you allow the user to define custom comparison functions < 1741698572 540130 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :there's like ten different compromises for how you can handle these < 1741698589 560198 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh, I see, the problem is not so much making it determinstic as defining what the deterministic behaviour is < 1741698593 740027 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :because many of the details will be really arbitrary < 1741698659 980080 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :for sorting, I think it is sufficient to a) make the sort stable and b) force the comparison function to be entirely pure, i.e. it cannot affect the program in any way other than its return value < 1741698668 24751 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :the OS assigning addresses isn't really a problem unless you want to make a very efficient compiled program, I just want a less efficient interpreter so there the actual absolute address won't matter, only the relative address within the small number of memory pools into which I address relatively with an index < 1741698739 943492 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think forcing the address might be a simpler solution anyway than having a separate, parallel address scheme – although it would depend on what program you were running, most likely < 1741698766 962528 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :but if you want to control the actual address, you are already allowed to do that, but of course then you may need some architecture-dependent code because not all addresses may be allowed < 1741698772 752821 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the main disadvantage of forcing the address is that you don't get ASLR, although I guess in a deterministic execution scheme ASLR wouldn't matter as it couldn't have any effect on the program anyway < 1741698790 152053 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :yes, it is possible to control the address even on modern computers, just people don't normally bother < 1741698805 492476 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :my plans for that are along the lines of "keep the kernel the same but replace the dynamic loader" < 1741698840 614153 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: I don't think even ASLR would be incompatible, as long as you don't let the untrusted program get a pointer to anything that's randomized, only to areas that you allocate, and you divide the address space to areas that the randomization can use and ones to where you allocate in advance < 1741698863 21130 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, or you could randomize certain bits of the pointer but not others < 1741698869 971759 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I just think you could run into problems on an alien architecture where eg. all your pointers are negative, if on normal architectures all your pointers are positive, or something like that < 1741698881 382983 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ASLR already doesn't randomize the low bits < 1741698907 350403 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: oh, my plans involved the compiler taking advantage of this but the source code not taking advantage of it, so it can easily be architecture-specific < 1741698974 118663 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I don't see how ASLR not randomizing the low bits helps < 1741698995 318354 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it doesn't – but my plan would involve not randomizing some of the middle bits < 1741699003 163019 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I see < 1741699005 224399 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and that doesn't seem conceptually different from not randomizing the low bits < 1741699219 54694 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I mean, if ASLR doesn't randomize the high bits so eg. your runtime is loaded above 0x00004000_00000000 and you allocate the untrusted program's data below 0x00004000_00000000 then you have no conflicts; but if ASLR doesn't randomize the low bits so it always loads at a 16k boundary that won't help you because you want continuous chunks so you can't just use memory that's not 16k aligned for the < 1741699225 20235 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :untrusted data < 1741699273 340958 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right, tagging bits should ideally be as high as possible (while staying within virtual address space) so that you have more contiguous memory if you need it – although I fear that might make the page tables less efficient < 1741699324 56757 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :what? no, tagging bits should be low because you'll only have pointers to aligned data anyway < 1741699348 854944 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :well that depends on what you mean by tagging bits < 1741699350 709872 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I mean, "free" tagging bits that you get by actually allocating the memory there, rather than masking them off < 1741699364 773149 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :if you are masking away the bits then you want them at the bottom < 1741699388 923703 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ah yes < 1741699465 207305 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I haven't thought much about these actual addresses because I'm mostly thinking of a not too optimized interpreter implementation < 1741699525 795996 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :so I wouldn't handle native pointers, but like indexes into a small fixed number of arenas that the interpreter can allocate anywhere < 1741699545 130574 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :right < 1741699558 536974 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm basically thinking of a similar system except where the arenas have fixed addresses < 1741699575 696684 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :that would also add to memory safety because even if I mess up and have a corrupted pointer data it will point into valid memory of the simulated program < 1741699612 700108 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :(there may be multiple types of pointers that point to different sets of arenas, but that's fine) < 1741699637 857080 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh, I see, the reason it increases safety is that it is necessarily pointing to data rather than, say, a return address on the stack < 1741699645 770776 :sprout!~sprout@84-80-106-227.fixed.kpn.net QUIT :Remote host closed the connection < 1741699653 817231 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and because you are protected from wild pointers already, it doesn't matter if you corrupt a pointer value < 1741699698 318395 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I have been considering a scheme where allocations are power-of-2 size and array indexing is masked to wrap around the array – that would gain memory safety in a similar manner (and as a bonus fixes one of the variants of Spectre) < 1741699782 196950 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and what I really want is that some of the arenas are just mapped read-only fixed data that's created when I compile the interpreter, so that there's little overload for spinning up new interpreter instances, even if they load a lot of built-in objects, to avoid the stereotypical 90s problem where a tiny little Java program needs to consume hundreds of megabytes to load some libraries. or ideally it's < 1741699788 223396 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :not even separate arenas, but just a read-only section mapped over the start of the normal arena, so that half of the code doesn't even have to distinguish the read-only and read-write section < 1741699817 437108 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :one of the motivations for my "free tagging" scheme in the first place was so that you could have string pointers that could point to either heap data or static data, and deallocate them only if they were on the heap < 1741699844 286814 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess you can do that even without free-tagging – it's possible to check where the static data is and/or where the heap is – but there might be some overhead in storing the location < 1741699852 537095 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that seems pretty similar to your plans < 1741699865 810292 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :yeah < 1741700005 269448 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and this kind of memory safety can be used either alone, which is useful if you want a C interpreter that can run existing C code, since type safety can't be guaranteed there; or you can use it together with a type system and memory safety system that guarantees that all pointers are valid, as another line of defense < 1741700221 480625 :sprout!~sprout@84-80-106-227.fixed.kpn.net JOIN #esolangs sprout :sprout > 1741701375 540626 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Huywallz 5* 10New user account > 1741701606 922957 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=153719&oldid=153632 5* 03Huywallz 5* (+188) 10/* Introductions */ < 1741702146 875440 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs amby :realname > 1741702817 930446 PRIVMSG #esolangs :14[[07Stillbrithiarngialpielroinuslislislislislisquattostamiswackilduasliesfris14]]4 N10 02https://esolangs.org/w/index.php?oldid=153720 5* 03PrySigneToFry 5* (+4416) 10Created page with "Stillbrithiarngialpielroinuslislislislislisquattostamiswackilduasliesfris (or Stilbrith if you can't pronounce this, or even Stilllbrillbritillbrithithiarithiarngiarngiarngialbrithiarngialpialpielpi > 1741702835 733432 PRIVMSG #esolangs :14[[07Stillbrithiarngialpielroinuslislislislislisquattostamiswackilduasliesfris14]]4 10 02https://esolangs.org/w/index.php?diff=153721&oldid=153720 5* 03PrySigneToFry 5* (+1) 10 > 1741703011 222772 PRIVMSG #esolangs :14[[07User:PrySigneToFry/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=153722&oldid=152928 5* 03PrySigneToFry 5* (+100) 10 > 1741703195 558100 PRIVMSG #esolangs :14[[07Talk:Albuquerque challenge14]]4 10 02https://esolangs.org/w/index.php?diff=153723&oldid=151708 5* 03PrySigneToFry 5* (+2351) 10 > 1741703306 232766 PRIVMSG #esolangs :14[[07UserEdited/Versions14]]4 10 02https://esolangs.org/w/index.php?diff=153724&oldid=153381 5* 03Hotcrystal0 5* (+36) 10 > 1741703336 982618 PRIVMSG #esolangs :14[[07UserEdited14]]4 10 02https://esolangs.org/w/index.php?diff=153725&oldid=153382 5* 03Hotcrystal0 5* (-7) 10 > 1741703347 642449 PRIVMSG #esolangs :14[[07UserEdited/Versions14]]4 10 02https://esolangs.org/w/index.php?diff=153726&oldid=153724 5* 03Hotcrystal0 5* (-4) 10 > 1741703464 85118 PRIVMSG #esolangs :14[[07UserEdited14]]4 10 02https://esolangs.org/w/index.php?diff=153727&oldid=153725 5* 03Hotcrystal0 5* (+338) 10 > 1741703929 253470 PRIVMSG #esolangs :14[[07UserEdited14]]4 10 02https://esolangs.org/w/index.php?diff=153728&oldid=153727 5* 03Hotcrystal0 5* (-1) 10fixed Arabian -> Arabic > 1741704357 341777 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153729&oldid=153718 5* 03Hotcrystal0 5* (+92) 10 > 1741704402 502961 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153730&oldid=153729 5* 03Hotcrystal0 5* (+20) 10 > 1741704434 99022 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153731&oldid=153730 5* 03Hotcrystal0 5* (+2) 10 > 1741704461 352893 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153732&oldid=153731 5* 03Hotcrystal0 5* (+42) 10 > 1741704481 528319 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153733&oldid=153732 5* 03Hotcrystal0 5* (+12) 10 > 1741704489 852789 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153734&oldid=153733 5* 03Hotcrystal0 5* (+1) 10 > 1741704502 816795 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153735&oldid=153734 5* 03Hotcrystal0 5* (+18) 10 > 1741704801 135275 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153736&oldid=153735 5* 03Hotcrystal0 5* (+138) 10 < 1741704982 215644 :yayimhere!~yayimhere@94.147.203.75 JOIN #esolangs * :[https://web.libera.chat] yayimhere > 1741705307 753938 PRIVMSG #esolangs :14[[07Stillbrithiarngialpielroinuslislislislislisquattostamiswackilduasliesfris14]]4 10 02https://esolangs.org/w/index.php?diff=153737&oldid=153721 5* 03Hotcrystal0 5* (+4) 10 > 1741705339 204865 PRIVMSG #esolangs :14[[07Stillbrithiarngialpielroinuslislislislislisquattostamiswackilduasliesfris14]]4 10 02https://esolangs.org/w/index.php?diff=153738&oldid=153737 5* 03Hotcrystal0 5* (+8) 10 > 1741705350 923168 PRIVMSG #esolangs :14[[07Stillbrithiarngialpielroinuslislislislislisquattostamiswackilduasliesfris14]]4 10 02https://esolangs.org/w/index.php?diff=153739&oldid=153738 5* 03Hotcrystal0 5* (+6) 10 > 1741705578 387656 PRIVMSG #esolangs :14[[07User:Hotcrystal0/User chart14]]4 10 02https://esolangs.org/w/index.php?diff=153740&oldid=151992 5* 03Hotcrystal0 5* (+250) 10 > 1741705643 401464 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 N10 02https://esolangs.org/w/index.php?oldid=153741 5* 03Hotcrystal0 5* (+71) 10Created page with "islptng made one for conwaylife.com, so why not the TBG forums as well?" > 1741705747 131546 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153742&oldid=153741 5* 03Hotcrystal0 5* (+232) 10 > 1741705758 940139 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153743&oldid=153742 5* 03Hotcrystal0 5* (+10) 10 > 1741705782 659946 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153744&oldid=153743 5* 03Hotcrystal0 5* (+0) 10 > 1741705938 307217 PRIVMSG #esolangs :14[[07User:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=153745&oldid=153669 5* 03Hotcrystal0 5* (+130) 10 > 1741705948 602377 PRIVMSG #esolangs :14[[07User:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=153746&oldid=153745 5* 03Hotcrystal0 5* (-1) 10Typo fix > 1741705976 8835 PRIVMSG #esolangs :14[[07User:I am islptng/List of the users that is also in conwaylife.com14]]4 10 02https://esolangs.org/w/index.php?diff=153747&oldid=153687 5* 03Hotcrystal0 5* (+0) 10capitalization fix > 1741706029 861445 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=153748&oldid=140294 5* 03Hotcrystal0 5* (+237) 10 > 1741706229 654128 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=153749&oldid=153445 5* 03Hotcrystal0 5* (+98) 10 > 1741706441 723882 PRIVMSG #esolangs :14[[07User talk:PkmnQ14]]4 10 02https://esolangs.org/w/index.php?diff=153750&oldid=153676 5* 03Hotcrystal0 5* (+117) 10 > 1741706456 579174 PRIVMSG #esolangs :14[[07User talk:PkmnQ14]]4 10 02https://esolangs.org/w/index.php?diff=153751&oldid=153750 5* 03Hotcrystal0 5* (+93) 10forgot signature < 1741706579 747585 :yayimhere!~yayimhere@94.147.203.75 QUIT :Quit: Client closed > 1741706652 992742 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153752&oldid=153744 5* 03Hotcrystal0 5* (+45) 10 > 1741706738 409877 PRIVMSG #esolangs :14[[07User:Hotcrystal0/User chart14]]4 10 02https://esolangs.org/w/index.php?diff=153753&oldid=153740 5* 03Hotcrystal0 5* (+10) 10 > 1741706766 466406 PRIVMSG #esolangs :14[[07User:Hotcrystal0/User chart14]]4 10 02https://esolangs.org/w/index.php?diff=153754&oldid=153753 5* 03Hotcrystal0 5* (-315) 10Replaced content with "This is cancelled." < 1741707148 66207 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Non-determinism is a property of the machine, not an optional capability, because it's a structural property. Categorically speaking, Rel and Set don't have the same monoidal structure. < 1741707167 783861 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I'm a little surprised to hear folks talking of trusting cryptography over proofs. Cryptography might not be well-founded. < 1741707248 775970 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :If there's interest, I could add a section to the E article, or start an entirely new article, about the design of data structures and algorithms for repeatable deterministic behavior when replicated across a network. > 1741707300 816684 PRIVMSG #esolangs :14[[07User:Hotcrystal0/User chart14]]4 10 02https://esolangs.org/w/index.php?diff=153755&oldid=153754 5* 03Hotcrystal0 5* (+98) 10 < 1741707321 499295 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :FWIW I think that worrying about pointer values is already too low-level to talk about determinism, unless you want the *underlying machine* to behave deterministically and you're specifying *its* behavior instead of the algorithm under study. > 1741707674 927920 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=153756&oldid=153748 5* 03Gilbert189 5* (+124) 10 > 1741707763 835746 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153757&oldid=153752 5* 03Gilbert189 5* (+16) 10 < 1741707796 85199 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : ais523: Non-determinism is a property of the machine, not an optional capability ← I meant at the language level – you can define a language such that anything that allows the program to observe nondeterminism requires a value of a particular type to use < 1741707827 605413 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I do appreciate that deterministic behaviour cross-network is much harder than doing it in a single-threaded program, though! < 1741707913 451758 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Sure. Actually, that's another instance of the same idea; The Network is always partially ordered, but it's fairly simple to implement a system that builds an idempotent commutative monoid ("CRDT") on top. > 1741707918 381375 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=153758&oldid=153756 5* 03Hotcrystal0 5* (+159) 10 > 1741707930 789368 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=153759&oldid=153758 5* 03Hotcrystal0 5* (+51) 10 > 1741707966 803360 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153760&oldid=153757 5* 03Hotcrystal0 5* (+17) 10 < 1741707968 456250 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :But if that's acceptable, then I think that Galois theory of algorithms is *extremely* relevant, as it concerns when two different algorithms implement the same function, or when two different programs implement the same algorithm, etc. < 1741708011 579472 :APic!apic@apic.name PRIVMSG #esolangs :ACTION → Bathtub 🐳 < 1741708173 443903 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :ais523: Also, I know that folks were fixated on timing, but there are some non-deterministic systems that have deterministic outputs modulo timing and throughput; the classic example is Petri nets, which model non-deterministic stoichiometry of chemical reactions. < 1741708225 499504 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I might be coming at this from a different angle; I long ago realized that questions like "But how will I do I/O if I'm isolated?" are not even wrong. > 1741708233 886673 PRIVMSG #esolangs :14[[07Talk:IPALang14]]4 N10 02https://esolangs.org/w/index.php?oldid=153761 5* 03Hotcrystal0 5* (+183) 10Created page with "Does this mean every program can be pronounced? So this esolang has a spoken form as well? ~~~~" < 1741711120 674308 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :is there a usermode way to clear the branch predictor state on Intel x86-64 processors? (I know you can clear the indirect branch predictor nowadays because of Spectre – but don't think that affects the predictor for direct branches, although I might be wrong) < 1741711173 692425 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the purpose would be to be able to benchmark code without the branch predictor already being trained on it > 1741711825 733162 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=153762&oldid=153759 5* 03Gilbert189 5* (+253) 10 > 1741711834 884906 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=153763&oldid=153762 5* 03Gilbert189 5* (+0) 10 < 1741712604 615935 :mtm!~textual@47.202.75.129 QUIT :Ping timeout: 244 seconds < 1741712797 77340 :mtm!~textual@47.202.75.129 JOIN #esolangs mtm :Textual User > 1741712876 781427 PRIVMSG #esolangs :14[[07Topple14]]4 M10 02https://esolangs.org/w/index.php?diff=153764&oldid=153408 5* 03H33T33 5* (+261) 10 > 1741713438 348951 PRIVMSG #esolangs :14[[07Topple14]]4 M10 02https://esolangs.org/w/index.php?diff=153765&oldid=153764 5* 03H33T33 5* (+356) 10 > 1741713539 720878 PRIVMSG #esolangs :14[[07Topple14]]4 M10 02https://esolangs.org/w/index.php?diff=153766&oldid=153765 5* 03H33T33 5* (+0) 10 > 1741713793 708361 PRIVMSG #esolangs :14[[07Braincrap14]]4 N10 02https://esolangs.org/w/index.php?oldid=153767 5* 03Huywallz 5* (+4032) 10Created page with "{{lowercase}} {{infobox proglang | name = Braincrap | paradigms = imperative | author = [[Huywallz]] | year = [[:Category:2025|2025]] |memsys=[[:Category:Cell-based|Cell-based]] | class=[[:Category:Turing complete|Turing complete]] | majorimpl = C | influence = [[Bra > 1741714141 706842 PRIVMSG #esolangs :14[[07User:Hakerh400/Rectangle with rational side length14]]4 N10 02https://esolangs.org/w/index.php?oldid=153768 5* 03Hakerh400 5* (+9846) 10Created page with "=== Statement === Any rectangle that is tiled with finitely many rectangles that have at least one rational side, also has at least one rational side. === Proof === We perform strong induction on the number of small rectan > 1741714162 912375 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153769&oldid=153760 5* 03Hotcrystal0 5* (+48) 10 > 1741714164 68739 PRIVMSG #esolangs :14[[07User:Hakerh40014]]4 10 02https://esolangs.org/w/index.php?diff=153770&oldid=153537 5* 03Hakerh400 5* (+93) 10/* Proofs */ > 1741714298 915152 PRIVMSG #esolangs :14[[07User:Hakerh400/Rectangle with rational side length14]]4 10 02https://esolangs.org/w/index.php?diff=153771&oldid=153768 5* 03Hakerh400 5* (+3) 10/* Statement */ > 1741714460 539222 PRIVMSG #esolangs :14[[07User:Hakerh400/Rectangle with rational side length14]]4 M10 02https://esolangs.org/w/index.php?diff=153772&oldid=153771 5* 03Hakerh400 5* (+1) 10/* Proof */ > 1741714801 264607 PRIVMSG #esolangs :14[[07User:Hakerh400/Rectangle with rational side length14]]4 10 02https://esolangs.org/w/index.php?diff=153773&oldid=153772 5* 03Hakerh400 5* (+95) 10 > 1741715082 561302 PRIVMSG #esolangs :14[[07User:Hakerh400/Rectangle with rational side length14]]4 10 02https://esolangs.org/w/index.php?diff=153774&oldid=153773 5* 03Hakerh400 5* (+0) 10 > 1741715207 678732 PRIVMSG #esolangs :14[[07User:Hakerh400/Rectangle with rational side length14]]4 M10 02https://esolangs.org/w/index.php?diff=153775&oldid=153774 5* 03Hakerh400 5* (+2) 10 > 1741715304 619050 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153776&oldid=153736 5* 03Hotcrystal0 5* (-28) 10 > 1741715380 331922 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153777&oldid=153776 5* 03Hotcrystal0 5* (+52) 10 > 1741715392 12311 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153778&oldid=153777 5* 03Hotcrystal0 5* (+3) 10 < 1741715841 357515 :craigo!~craigo@user/craigo QUIT :Ping timeout: 276 seconds > 1741716655 847336 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153779&oldid=153778 5* 03Hotcrystal0 5* (-1) 10 > 1741716811 917182 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153780&oldid=153779 5* 03Hotcrystal0 5* (+203) 10 < 1741716902 865937 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Another way to avoid some of the non-determinism is to design the CPU to avoid the issues that cause this problem. In a message above, ais523 had mentioned conditions a), b), c); conditions a) and b) can already easily be avoided but c) (obscure and not-widely-used CPU instructions) could be avoided by designing the CPU and instruction set. < 1741716941 117769 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Perhaps a variant of RISC-V could be used, since I think implementations of RISC-V and compilers that target it are probably common enough in order to do this. > 1741717009 369462 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153781&oldid=153780 5* 03Hotcrystal0 5* (+236) 10 > 1741717224 534416 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153782&oldid=153781 5* 03Hotcrystal0 5* (-6) 10 > 1741717271 568506 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153783&oldid=153782 5* 03Hotcrystal0 5* (-7) 10 < 1741717340 537450 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :Deterministic allocation is clearly what is necessary too, which is also mentioned. As b_jonas has mention there is also multiple grades of deterministic execution. < 1741717416 333153 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :It is not necessary to forbid timeouts that are set by other programs that have permission to handle timing and to control the permission of that program, but otherwise timeouts cannot be set (although a program could ask someone else to do so, if it has a capability to send the message to the other one; the sender doesn't know that the receiver actually will do so, but conventions will specify what is expected). < 1741720837 518370 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :perhaps timeouts could be measured in terms of CPU instructions (or the equivalent) rather than time < 1741721785 159566 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :`olist 1320 < 1741721787 512743 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :olist : shachaf oerjan Sgeo boily nortti b_jonas Noisytoot < 1741722763 368670 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :That could be another way, although I had also describe how capabilities can be used if you do want to measure time. > 1741722963 181378 PRIVMSG #esolangs :14[[07User talk:Zopium14]]4 10 02https://esolangs.org/w/index.php?diff=153784&oldid=153661 5* 03Zopium 5* (+86) 10/* Quote */ < 1741723701 856441 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: you can do that, but then you can't use caches efficiently, so I think some more complicated system might be worth. I was thinking that you could have five special pointer registers (one of them the stack pointer) that each point to a one page long array, each come with a mask of 64 bits tracking which of the 64 cache lines starting from that you have already accessed since you modified that < 1741723707 861968 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :index register, and if you access a value through that index register in a cache line that you've already loaded then it's presumed to likely be in the L1 cache and so costs less nominal time. Or you could have something higher level where you can do array loops with multiple simd instructions cheaper. < 1741723719 476682 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :In any case you'd pre-calculate the nominal time cost in each block between jumps. < 1741723781 211129 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :Or I guess you could have just the top of the stack fast plus four one-page long by-value vector registers that are faster to access. < 1741723801 533809 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I dunno < 1741723823 335296 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :it's a hard question and I might not want to eliminate all the timing side channels < 1741725574 275797 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: why would that prevent you using caches? < 1741725634 654559 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :if the processor used caches a lot that would simply just effectively make the timeout shorter, in order to maintain a deterministic moment-of-timing-out according to the program's execution < 1741725662 929155 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(the idea is to eliminate timing side channels not by making the time constant but by making the time unobservable) < 1741725762 304144 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: I'm thinking of code where most of the time is spent on instructions operating on caches, which is typical in some numeric computation. So if you're counting instructions to set timeouts then you'll grossly overestimate how slow the code is and time it out early. But then that's probably not the kind of code that you will want to run in the deterministic interpreter, especially if you give that < 1741725768 315072 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :interpreter access to some high-level builtin functions that are deterministic, like for compression/decompression or cryptographic primitives. > 1741725872 638252 PRIVMSG #esolangs :14[[07Deadfih14]]4 10 02https://esolangs.org/w/index.php?diff=153785&oldid=152788 5* 03Zopium 5* (+39) 10/* Implementation */ < 1741726039 415666 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :and I guess you should run as little as possible in the deterministic interpreter context, eg. you could have graphics rendering for the user that needn't be deterministic, and it can time out in which case the UI will lag, as long as the deterministic code can't observe that < 1741726078 752119 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :(or observe it but only at a high latency and low throughput so the information about lag can be synchronized between the nodes) < 1741726148 168748 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: basically I'm playing a lot of Factorio, and it naturally makes me wonder what it takes to make a game that is both network multiplayer and can run untrusted mods < 1741726262 706349 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :oh, and real time > 1741726625 44729 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=153786&oldid=153679 5* 03Buckets 5* (+14) 10 > 1741726693 74044 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=153787&oldid=153680 5* 03Buckets 5* (+13) 10 > 1741726715 55843 PRIVMSG #esolangs :14[[07Evinocu14]]4 N10 02https://esolangs.org/w/index.php?oldid=153788 5* 03Buckets 5* (+778) 10Created page with "Evinocu is an Esoteric programming language created by [[User:Buckets]] in 2022. {| class="wikitable" |- ! Commands !! Instructions |- | A() || This is A function. |- | = || Sets the Function/variable to Something on the other Side. |- | [i] || Input. |- | [Letter other > 1741726731 585894 PRIVMSG #esolangs :14[[07Deadfih14]]4 10 02https://esolangs.org/w/index.php?diff=153789&oldid=153785 5* 03Zopium 5* (-64) 10/* Implementation */ < 1741732929 206099 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :TeX uses floating point numbers which may be differenton different computers but does not allow their results to affect any decisions made for typesetting other than the positions of some things. < 1741733035 946007 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname > 1741735673 640253 PRIVMSG #esolangs :14[[07User:Hotcrystal0/List of users who are also on the TBG forums14]]4 10 02https://esolangs.org/w/index.php?diff=153790&oldid=153769 5* 03PkmnQ 5* (+4) 10 > 1741737158 149080 PRIVMSG #esolangs :14[[07User:Hotcrystal0/Deep14]]4 10 02https://esolangs.org/w/index.php?diff=153791&oldid=153783 5* 03I am islptng 5* (+540) 10You can revert if I am not allowed to edit!