< 1749691188 418683 :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 > 1749692309 959314 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159697&oldid=159677 5* 03TheMCoder 5* (-3) 10H3LL0 T3R3Z1 > 1749692340 308589 PRIVMSG #esolangs :14[[07~ATH implementation attempt14]]4 10 02https://esolangs.org/w/index.php?diff=159698&oldid=159697 5* 03TheMCoder 5* (+3) 10 > 1749696901 732607 PRIVMSG #esolangs :14[[07Finity14]]4 N10 02https://esolangs.org/w/index.php?oldid=159699 5* 03Silver 5* (+3217) 10created > 1749697025 90134 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=159700&oldid=159692 5* 03Silver 5* (+13) 10added Finity > 1749697246 638693 PRIVMSG #esolangs :14[[07Finity14]]4 M10 02https://esolangs.org/w/index.php?diff=159701&oldid=159699 5* 03Silver 5* (+103) 10categories > 1749697328 652373 PRIVMSG #esolangs :14[[07Finity14]]4 M10 02https://esolangs.org/w/index.php?diff=159702&oldid=159701 5* 03Silver 5* (+32) 10first paragraph formatting to match other pages > 1749697373 780195 PRIVMSG #esolangs :14[[07User:Silver14]]4 M10 02https://esolangs.org/w/index.php?diff=159703&oldid=86807 5* 03Silver 5* (+13) 10added finity > 1749697395 895016 PRIVMSG #esolangs :14[[07User:Silver14]]4 M10 02https://esolangs.org/w/index.php?diff=159704&oldid=159703 5* 03Silver 5* (-1) 10pronouns > 1749697442 88644 PRIVMSG #esolangs :14[[07Finity14]]4 M10 02https://esolangs.org/w/index.php?diff=159705&oldid=159702 5* 03Silver 5* (+57) 10mention optimiser implementation > 1749699261 508518 PRIVMSG #esolangs :14[[07Nonstraightforward14]]4 M10 02https://esolangs.org/w/index.php?diff=159706&oldid=159605 5* 03RaiseAfloppaFan3925 5* (+863) 10Added the tiers of immutability since they can be quite confusing + updated interface syntax to match C8 > 1749699450 68788 PRIVMSG #esolangs :14[[07Talk:Calculation14]]4 N10 02https://esolangs.org/w/index.php?oldid=159707 5* 03BestCoder 5* (+65) 10Created page with "Wait this is turing complete, how, this only has 26 max variables" > 1749700091 93285 PRIVMSG #esolangs :14[[07Talk:Nonstraightforward14]]4 N10 02https://esolangs.org/w/index.php?oldid=159708 5* 03RaiseAfloppaFan3925 5* (+1203) 10Asking if Nonstraightforward counts as pseudonatural > 1749700189 169556 PRIVMSG #esolangs :14[[07Nonstraightforward14]]4 M10 02https://esolangs.org/w/index.php?diff=159709&oldid=159706 5* 03RaiseAfloppaFan3925 5* (-19) 10This page is NOT a stub anymore and was never a stub, why did I think it was a stub lol > 1749700440 988810 PRIVMSG #esolangs :14[[07Tired14]]4 N10 02https://esolangs.org/w/index.php?oldid=159710 5* 03BestCoder 5* (+86) 10Created page with "in [[Tired]], every program prints go to sleep because you are looking at this at 2 am" > 1749700951 198935 PRIVMSG #esolangs :14[[07Triolang14]]4 N10 02https://esolangs.org/w/index.php?oldid=159711 5* 03BestCoder 5* (+446) 10Created page with "[[Triolang]] is an esolang that has 3 commands =Specs= 0 - reverses the program, without moving the cursor 1 - adds the program to the end of the program 2 - removes all code before this command after all of these commands, inbetween, it moves the cursor to the nex > 1749700972 921234 PRIVMSG #esolangs :14[[07User:BestCoder14]]4 10 02https://esolangs.org/w/index.php?diff=159712&oldid=144367 5* 03BestCoder 5* (+18) 10 > 1749701562 565862 PRIVMSG #esolangs :14[[07Light Switch14]]4 10 02https://esolangs.org/w/index.php?diff=159713&oldid=130878 5* 03BestCoder 5* (+182) 10 > 1749701906 542125 PRIVMSG #esolangs :14[[07Light Switch14]]4 10 02https://esolangs.org/w/index.php?diff=159714&oldid=159713 5* 03BestCoder 5* (-2184) 10/* Example */ < 1749703592 110310 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1749704396 614117 :APic!apic@apic.name PRIVMSG #esolangs :Hi < 1749704406 469087 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 252 seconds < 1749704468 974451 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord > 1749705171 278914 PRIVMSG #esolangs :14[[07DVector14]]4 N10 02https://esolangs.org/w/index.php?oldid=159715 5* 03None1 5* (+1804) 10Created page with "{{lowercase}} '''dVector''' is an [[OISC]] invented by [[User:None1]] and inspired by [[Vector]], it uses a 3-dimensional vector. ==Data== As said above, Vector uses a 3D vector called ''A'', it is initially (0,0,0). A vector literal is represented by 3 real numbers sep > 1749705185 985089 PRIVMSG #esolangs :14[[07DVector14]]4 M10 02https://esolangs.org/w/index.php?diff=159716&oldid=159715 5* 03None1 5* (-2) 10 > 1749705239 688880 PRIVMSG #esolangs :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=159717&oldid=159700 5* 03None1 5* (+14) 10/* D */ > 1749705296 553107 PRIVMSG #esolangs :14[[07User:None114]]4 10 02https://esolangs.org/w/index.php?diff=159718&oldid=158879 5* 03None1 5* (+91) 10/* My Esolangs */ < 1749709107 569112 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1749709507 509982 :ProofTechnique_!sid79547@id-79547.ilkley.irccloud.com QUIT :*.net *.split > 1749709585 259000 PRIVMSG #esolangs :14[[07User talk:Gilbert18914]]4 10 02https://esolangs.org/w/index.php?diff=159719&oldid=159690 5* 03Gilbert189 5* (+147) 10 < 1749709833 399093 :ProofTechnique_!sid79547@id-79547.ilkley.irccloud.com JOIN #esolangs * :ptech < 1749710707 19580 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"a closure is just sugar for an anonymous struct that implements FnOnce/FnMut/Fn" => ok, so if you try to put the impl FnOnce into the scope with your scoped generic, would it be able to access the value of your scoped generic when it calls eg. Default::default? < 1749712195 590327 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User < 1749712518 298937 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :that's the first part; the second part is if it could refer to the scope generic value somehow, can you hide it well enough that the type of the closure structure is such that the lifetime rules don't stop you from leaking it from the scope, or from starting a thread or scoped thread with it < 1749712664 458057 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :"just sygar for an anonymous struct" only helps if you follow through with the translation, and I don't know how that would work with rust scoped generics, and I also don't know how a scoped impl works < 1749712792 587488 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I think I don't even understand rust's lifetime rules enough when it comes to types with lifetime parameters. I only understand the special case when you can have local variables with some of their recursive struct member fields borrowed or mut borrowed, but no references or mut references appear inside struct/enum types < 1749717460 177913 :Everything!~Everythin@77.120.244.38 JOIN #esolangs Everything :Everything < 1749719439 898470 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749719693 543533 :Everything!~Everythin@77.120.244.38 QUIT :Quit: leaving < 1749720962 942550 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User > 1749721122 714853 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Blah-bla-blah-1 5* 10New user account < 1749725406 34262 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749726130 646514 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu JOIN #esolangs b_jonas :[https://web.libera.chat] wib_jonas > 1749726152 949883 PRIVMSG #esolangs :14[[07Vts14]]4 N10 02https://esolangs.org/w/index.php?oldid=159720 5* 03JORE 5* (+5372) 10Created page with "== VTS Programming Language == '''VTS''' is a modification of python. It also makes code harder to read. {| class="wikitable" |+ Command Set |- ! VTS !! Python !! Description |- | n >> x || x=n || Assignment |- | n *> x || x=x*n 1749726442 445279 PRIVMSG #esolangs :14[[07Vts14]]4 10 02https://esolangs.org/w/index.php?diff=159721&oldid=159720 5* 03JORE 5* (+37) 10 > 1749726465 760538 PRIVMSG #esolangs :14[[07VTS14]]4 10 02https://esolangs.org/w/index.php?diff=159722&oldid=158680 5* 03JORE 5* (+37) 10/* Code Examples */ < 1749726659 246762 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :why are those two pages with identical content? < 1749727596 99517 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :I guess I'll have to wait a day to see if they'll be edited to differ significantly, to describe a pair of sister esoteric languages; if they aren't then just change one to a redirect to the other. < 1749728615 348778 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User < 1749729330 107080 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs amby :realname > 1749729870 763941 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03O 5* 10New user account > 1749730943 543080 PRIVMSG #esolangs :14[[07Unlambda14]]4 10 02https://esolangs.org/w/index.php?diff=159723&oldid=154977 5* 03B jonas 5* (+2) 10/* External resources */ frickin' new homepage for IOCC broke links < 1749732175 578542 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749732603 245651 :int-e!~noone@int-e.eu PRIVMSG #esolangs :wib_jonas: why...: I hope it's just ignorance about redirects > 1749732751 955371 PRIVMSG #esolangs :14[[07Vts14]]4 10 02https://esolangs.org/w/index.php?diff=159724&oldid=159721 5* 03Int-e 5* (-5392) 10Surely a redirect is better than having the exact same page twice. < 1749732832 7188 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname > 1749732913 56006 PRIVMSG #esolangs :14[[07VTS14]]4 M10 02https://esolangs.org/w/index.php?diff=159725&oldid=159722 5* 03Int-e 5* (+0) 10"Python" is used as a proper name > 1749732985 884265 PRIVMSG #esolangs :14[[07User:I am islptng/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=159726&oldid=159684 5* 03I am islptng 5* (+8) 10 > 1749733215 108711 PRIVMSG #esolangs :14[[07User:B jonas/List14]]4 10 02https://esolangs.org/w/index.php?diff=159727&oldid=157392 5* 03B jonas 5* (+597) 10Brain-Flak, Mini-Flak < 1749734471 666023 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu QUIT :Ping timeout: 272 seconds < 1749736666 978310 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User > 1749737159 388484 PRIVMSG #esolangs :14[[07User:Tommyaweosme14]]4 10 02https://esolangs.org/w/index.php?diff=159728&oldid=159196 5* 03Tommyaweosme 5* (+571) 10 > 1749738299 626532 PRIVMSG #esolangs :14[[07Talk:Calculation14]]4 10 02https://esolangs.org/w/index.php?diff=159729&oldid=159707 5* 03PkmnQ 5* (+161) 10 < 1749738591 646119 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu JOIN #esolangs b_jonas :[https://web.libera.chat] wib_jonas < 1749738919 982070 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu QUIT :Quit: Client closed > 1749740471 871681 PRIVMSG #esolangs :14[[07User:I am islptng/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=159730&oldid=159726 5* 03Hotcrystal0 5* (+575) 10 < 1749740933 296624 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749741054 241403 :FreeFull!~freefull@79.186.185.216.ipv4.supernova.orange.pl QUIT : < 1749741291 645606 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu JOIN #esolangs b_jonas :[https://web.libera.chat] wib_jonas < 1749741389 10812 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :huh, the start page of Python documentation no longer says "keep this under your pillow" to describe the standard library documentation, they changed it from Python 3.10 to 3.11. did they get health complaints from the princess and the pea? < 1749741572 365364 :FreeFull!~freefull@79.186.185.216.ipv4.supernova.orange.pl JOIN #esolangs FreeFull :FreeFull < 1749742493 47627 :int-e!~noone@int-e.eu PRIVMSG #esolangs :wib_jonas: it was traded for "clarity": https://github.com/python/cpython/pull/116914 < 1749742616 107672 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(Quotes mainly because I'm not interested in discussing whether this adds clarity or not; I don't care either way.) < 1749742691 522562 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I mean, was "keep this under your pillow" cute? Sure. Does it really add to the documentation? I don't think so. < 1749742836 270541 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :no complaint from the princess then < 1749743344 94046 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1749743370 838219 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: so it took me ages to find, but the relevant rule seems to be "«T: 'a» means that all lifetime parameters of «T» outlive «'a»." < 1749743408 919687 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :if a struct or the like wants to include a type that has a lifetime, then the lifetime of that type is lifetime parameter of the struct < 1749743489 618847 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this seems a bit weird when combined with contravariace – it implies that a contravariant struct can be non-'static but possible to coerce into something that is 'static < 1749743513 86381 :int-e!~noone@int-e.eu PRIVMSG #esolangs :There's variance too, https://doc.rust-lang.org/reference/subtyping.html#r-subtyping.variance < 1749743544 46474 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :int-e: yes, the thing that surprised me is that variance isn't directly relevant here, I thought it would be < 1749743591 877894 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm I am surprised that there's no example of a contravariant lifetime... does that not happen? < 1749743642 640474 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it is possible, a struct can contain a function that takes it as argument < 1749743651 782420 :int-e!~noone@int-e.eu PRIVMSG #esolangs :oh it des happen, https://doc.rust-lang.org/reference/subtyping.html#r-subtyping.variance.user-composite-types has an invariant lifetime example < 1749743660 489783 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(phew) < 1749744556 448242 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ais523: yes, in particular std::thread::spawn is declared similar to `fn spawn ...) + Send + 'static, ...>(f: F) -> JoinHandle<...>;` in which the `F: 'static` type parameter bound guarantees that the type of the starting closure `f` has a type that doesn't mention any scope on your call stack. So that starting closure can have < 1749744556 947131 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :upvalues, and those upvalues could hold references to 'static values such as globals or leaked boxes. But `t` can't have a reference to the caller's stack, which makes sense because the thread may run in the background even after the calling function and its callers etc return. < 1749744774 780343 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :https://doc.rust-lang.org/nightly/reference/trait-bounds.html#lifetime-bounds describes the lifetime bound syntax < 1749745184 309501 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User < 1749746344 471492 :ais523!~ais523@user/ais523 QUIT :Quit: sorry about my connection > 1749746579 697928 PRIVMSG #esolangs :14[[07User:Tommyaweosme14]]4 10 02https://esolangs.org/w/index.php?diff=159731&oldid=159728 5* 03Tommyaweosme 5* (+80) 10 < 1749747588 208008 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ais523: ok, here's the thing. https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=f976adfc6792bbfa0d008347ea6ab090 < 1749747623 289382 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :this works, it has a closure that has an upvalue whose type mentions a non-static lifetime, but f still counts as having a 'static lifetime so you can run in another thread < 1749747836 655583 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :so I think what you have to figure out is that when f has an upvalue whose type mentions a scoped const in such a way that it can access the scoped const value by eg. calling default, then what is the rule to determine the lifetime of f, or more generally what is the lifetime of any closure when scoped generics are involved < 1749747871 776480 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :or maybe some such closures are just compile-time errors < 1749747996 466774 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :but you want a backwards-compatible language extension, so it should still say that the above example is valid because the type of f is :'static < 1749748141 954843 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749748429 76705 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu QUIT :Quit: Client closed < 1749748547 174684 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name) < 1749748611 425654 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :int-e: invariant lifetimes are fairly common in Rust, contravariant lifetimes do exist but are rare (e.g. `fn &'a ()` is contravariant) < 1749748969 272493 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: right, the non-scoped thread spawn has to require the new thread's main function to be 'static because it could outlive the calling thread < 1749748988 942101 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User < 1749749143 644817 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :in your example, the «fn(&mut i32)» in it is lifetime-generic rather than containing a particular lifetime, I think – so the lifetime isn't being sent between threads (as the function runs on the main thread) < 1749749278 469497 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: here: https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=d70efd8b150f331b7ed30f29c10f5ab5 < 1749749305 177227 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the function inside the mutex is being called with values of two different lifetimes, so it isn't hardcoded-lifetime but rather lifetime-generic < 1749749331 330096 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so the lifetime is never actually being sent between threads > 1749750706 89035 PRIVMSG #esolangs :14[[07Ultragolf14]]4 N10 02https://esolangs.org/w/index.php?oldid=159732 5* 03JORE 5* (+47684) 10Created page with "'''Ultragolf''' is a golfing language made by JOrE. == Features: == * 16-bit System registers: R0, R1, R2, R3 * 10K 64-bit stack * 100K 32-bit memory * JLV for jumping * BSR (Big System Register) with a whooping 65536 bytes size!! (max. about 10e20000) * Also ASC > 1749751170 890 PRIVMSG #esolangs :14[[07Ultragolf14]]4 10 02https://esolangs.org/w/index.php?diff=159733&oldid=159732 5* 03JORE 5* (+278) 10 < 1749751418 450163 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :nah, what wib_jonas asked is still not the right question I think < 1749751491 35100 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: yes < 1749753295 664768 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d JOIN #esolangs * :[https://web.libera.chat] impomatic < 1749753317 963674 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :note to myself: the above not relevant example is simpler to write with a OnceLock instead of a Mutex: https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=659326de6ac6bc2043049c4eb2cc4c2f < 1749753337 100822 :oren!~oren@ec2-44-201-23-133.compute-1.amazonaws.com PRIVMSG #esolangs :under what possible circumstance would I want to type nullptr instead of NULL < 1749753475 624026 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :oren: in C23 or in C++11? < 1749753518 831269 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :oren: if it's in C++11 then nullptr has a bit more typesafety because `int x = NULL;` may compile without error but `int x = nullptr;` is an error < 1749753556 309386 :oren!~oren@ec2-44-201-23-133.compute-1.amazonaws.com PRIVMSG #esolangs :pointer to integer without a cast isn't an error? < 1749753658 789651 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :oren: pointer to integer implicit conversion like `int a = "";` is an error in C++, but nullptr isn't a pointer so this is not exactly the same as the previous example < 1749753685 704480 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oren: NULL is not necessarily a pointer < 1749753693 679236 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it is valid for the system header files to contain #define NULL 0 < 1749753712 429933 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :in C, I think it is more common to see #define NULL (void *)0 < 1749753721 986575 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but I'm not sure that definition is even valid in C++ < 1749753749 249664 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :Going the other way around, I learned C++ in the era where we're supposed to write e.g. `virtual whatever = 0;` instead of `virtual whatever = NULL;` < 1749753754 456566 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :oren: also with explicit cast `int a = (int)"";` may be an error in C++ if pointers are wider than intd < 1749753776 479594 :oren!~oren@ec2-44-201-23-133.compute-1.amazonaws.com PRIVMSG #esolangs :uhh... they should have just fixed the definition of NULL instead of adding a second way to say NULL < 1749753777 365717 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :That looks wrong for some reason. Maybe I'm finally forgetting C++! < 1749753791 85632 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :korvo: that's another thing again, there's no pointer nor integer involved there, the =0 is literal syntax < 1749753793 651194 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :pure virtual functions have such strange synax < 1749753795 456818 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* syntax < 1749753881 782732 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: I learned C++ on Windows 95/98, where int could be either 16 or 32 bits and pointers could be either 16 or 32 bits and they didn't always match, although it was more common for them to match than not < 1749753905 461230 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :actually, function pointers could be a different size from data pointers, if int was 16 bits < 1749753931 725442 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(which is probably a major part of the reason why C doesn't necessarily allow casting between function and data pointers) < 1749753934 604049 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and either could be bigger < 1749753943 315492 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :oren: the original definition of NULL was (void *)0 and that's still the definition used in C and probably won't change because it would break compatibility with some code that uses varargs. but that doesn't work in C++ because `int *a = (void *)0;` would be an error, so C++ redefined NULL. it probably shouldn't have, it should have used a different name instead of NULL, but it's too late now, C++ has < 1749753949 326332 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :to define NULL as 0 for compatibility with code that writes that. < 1749753951 548001 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :blame Stroustrup for this one < 1749753998 982430 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: didn't that version of C++ allow `int x = (int)"";` even if "" is 32-bit wide though? < 1749754010 502204 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :probably < 1749754019 517353 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I hadn't read the standards back at the time, I'd learned from textbooks < 1749754039 397903 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and the textbook I learned from recommended experimentally determining, e.g., whether you could write to the rightmost and bottommost lines of the screen < 1749754062 444604 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(it gave an example where writing to the edges worked, but writing to the bottom-right corner didn't – presumably that's because it made the screen scroll) < 1749754077 903486 :int-e!~noone@int-e.eu PRIVMSG #esolangs :. o O ( How to PEEK and POKE in C++ ) < 1749754088 366674 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I assume it was also based around a nonstandard set of libraries, standard C doesn't have a way to write to absolute positions on the screen < 1749754097 66216 :int-e!~noone@int-e.eu PRIVMSG #esolangs :BASIC was such a dirty language. < 1749754117 502726 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :int-e: I think you just reinterpret_cast an int into a volatile pointer and write through it < 1749754136 906863 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this is of course UB but actual compiler/hardware combinations can define the behaviour if they want to < 1749754274 409481 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I suspect that poking absolute addresses is actually less likely to miscompile on modern compilers than writing to the program's own memory through weirdly obtained pointesr < 1749754306 711798 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that said, inline asm is probably best for this sort of thing, you are doing something very system-specific anyway so may as well generate the exact asm you want < 1749754348 396486 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :The definition of `NULL` in C isn't `(void *)0`; an unadorned `0` is also allowed. < 1749754351 515424 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :C11 7.19p3: "The macros are `NULL` which expands to an implementation-defined null pointer constant; --`, C11 6.3.2.3p3: "An integer constant expression with the value 0, *or* such an expression cast to type `void *`, is called a /null pointer constant/", emphasis added. < 1749754377 714719 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :s/isn't/& necessarily/ < 1749754423 594352 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :fizzie: yes, in the standard, but in practice it's (void *)0 because 0 can break legacy code involving C varargs < 1749754462 106779 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :In C23, it may also be defined as `nullptr`. (C23 6.3.2.3p3: "An integer constant expression with the value 0, such an expression cast to type `void *`, or the predefined constant `nullptr` is called a /null pointer constant/.") < 1749754560 34628 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :the standard lies because it wants to discourage you from writing that sort of dodgy code < 1749754654 712750 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :fizzie: what does nullptr decay to as an argument to a no-prototype function or vararg argument? < 1749754765 782848 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Its type is `nullptr_t`, which (7.21.2p2) "is an unqualified complete scalar type that is different from all pointer or arithmetic types and is neither an atomic or array type and has exactly one value, `nullptr`." < 1749754853 632501 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :fizzie: which regex syntax does that with a bare &, as opposed to \& or $&? < 1749754876 549473 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :ais523: I think sed. < 1749754903 405700 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :`` echo foo | sed -e 's/foo/& &/' < 1749754905 17046 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :foo foo < 1749754952 68235 :oren!~oren@ec2-44-201-23-133.compute-1.amazonaws.com PRIVMSG #esolangs :basic regexes do that < 1749754966 714879 :oren!~oren@ec2-44-201-23-133.compute-1.amazonaws.com PRIVMSG #esolangs :$& is Perl < 1749754995 705057 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :`` echo foo | /bin/sed -e 's/foo/& &/' # sed is a hackeso program so I don't trust it < 1749754997 442135 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :foo foo < 1749755053 466799 :oren!~oren@ec2-44-201-23-133.compute-1.amazonaws.com PRIVMSG #esolangs :it seems to me that if you are writing new code you can #define NULL correctly yourself, and old code will not magically update to use nullptr instead of NULL, so the addition of nullptr solves nothing in C < 1749755099 209920 :oren!~oren@ec2-44-201-23-133.compute-1.amazonaws.com PRIVMSG #esolangs :except i suppose forward compatibility to C++? < 1749755107 205488 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :maybe we should use a different PATH to look up commands for HackEso top level (right after the invocation backtick) than for shells so that you can override a command like sed or ls or paste or whoami only when you use it at top level < 1749755163 899383 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :oren: redefining NULL would be a questionable idea because any macro in an old header that you include could refer to it < 1749755188 799198 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :`` ls -l /hackenv/bin/sed < 1749755190 449971 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :​-rwxr-xr-x 1 1000 1000 101 Apr 7 2018 /hackenv/bin/sed < 1749755202 444586 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :`` cat /hackenv/bin/sed < 1749755203 825512 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :​#!/bin/bash \ /bin/sed "$@" && if [[ $# == "3" && "/$1" == "/-i" ]]; then echo -n "$3//"; cat "$3"; fi < 1749755226 965560 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :ais523: cat is also shadowed by a script so I don't trust it either < 1749755229 838102 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: probably right to distrust it, I wonder what that override is doing < 1749755240 461938 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :no wait, cat isn't < 1749755259 97744 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :cat is fine, I'm just always afraid that someone will define it in some incompatible way some day < 1749755274 372511 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :`` /bin/cat /hackenv/bin/sed < 1749755275 391379 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :​#!/bin/bash \ /bin/sed "$@" && if [[ $# == "3" && "/$1" == "/-i" ]]; then echo -n "$3//"; cat "$3"; fi < 1749755337 59607 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh, I see – sed -i does inplace edits, the wrapper around sed detects that you are running sed -i and prints the resulting state of the file you edited < 1749755354 290226 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that does seem like a useful wrapper for hackeso use < 1749755370 118540 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :I'm the most angry about shadowing paste , because the scripts shadowing sed and ls at least *try* to be mostly compatible with the unix utility, while ping and whoami are shadowing programs that would not be very useful on HackEso, but paste shadows a useful program with something completely incompatible < 1749755413 578737 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :but I don't like any of these shadowings. < 1749755420 578408 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :w is also in the same category as sed and whoami < 1749755481 848234 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :`` /usr/bin/w < 1749755483 280013 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :​ 19:11:22 up 0 min, 0 users, load average: 0.00, 0.00, 0.00 \ USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT < 1749755510 857915 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think this isn't useful on HackEso because the sandbox prevent it reading any of the information it's supposed to return < 1749755518 131083 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :fizzie: would it make sense to have a directory where HackEso looks up top-level commands first before it looks them up in PATH (but after it looks for a builtin)? < 1749755524 300373 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :argh yes < 1749755531 787237 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :correction, w is also in the same category as ping and whoami < 1749755547 601308 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :`if < 1749755549 111776 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :bash: -c: line 1: syntax error: unexpected end of file < 1749755549 750286 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err < 1749755551 196906 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :`id < 1749755552 240430 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :uid=1000 gid=1000 groups=1000 < 1749755593 15543 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :fizzie: also do you happen to know if most of the unwanted requests on the wiki come through IPV4? < 1749755652 795479 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :It could make sense, though at least `paste` (the one that creates links, I mean) is pretty useful in a pipeline as well. < 1749755662 573987 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :And yes, all scraping I've seen so far has been over IPv4. < 1749755718 293575 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Speaking of which, someone's doing a particularly bursty/spiky kind of scraping recently, leading to pretty severe lag spikes: https://zem.fi/tmp/spikes.png < 1749755738 592325 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Haven't done anything about it yet, since it hasn't been completely unreasonable. < 1749755752 297550 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :those graphs look like the server is holding up even during the spikes < 1749755789 531668 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :It's been going on from June 3 or so, at a similar not entirely predictable frequency. < 1749755793 836819 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :fizzie: if the script that creates links is useful in a pipeline then is should have a new alias in the PATH that doesn't clash with an existing well-known utility < 1749755804 705216 :b_jonas!~x@88.87.242.184 PRIVMSG #esolangs :IPV4, thank you < 1749755986 344837 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I looked at one of the recent spikes, and it was quite different from the previous scraping, in that all requests were from a single IP (in the Google cloud), it may have been following robots.txt (or at least it definitely wasn't violating that), and it had a user agent linking to scrapy.org (which appears to be a "data extraction framework"). < 1749756141 424159 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749756348 863769 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca QUIT :Ping timeout: 272 seconds < 1749756609 646433 :lurker97!~lurker97@2607:f010:2a7:2022:c982:ee46:df25:c45 JOIN #esolangs * :[https://web.libera.chat] lurker97 < 1749756627 497128 :lurker97!~lurker97@2607:f010:2a7:2022:c982:ee46:df25:c45 PART :#esolangs < 1749756994 756849 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it is nice to see a bot actually following the rules < 1749757612 421913 :korvo!~korvo@2604:a880:4:1d0::4d6:d000 PRIVMSG #esolangs :I've used Scrapy quite a bit. It is built from Twisted Python; it's basically a minimum viable spidering library. The out-of-box defaults are a little aggressive, but it generally respects every community signal, including robots.txt. < 1749758583 86671 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 JOIN #esolangs * :Textual User > 1749759295 331049 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Tand0x 5* 10New user account > 1749760066 55457 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=159734&oldid=159656 5* 03Tand0x 5* (+93) 10/* Introductions */ < 1749760126 640791 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca JOIN #esolangs zzo38 :zzo38 < 1749762427 963599 :tromp!~textual@2001:1c00:3487:1b00:6467:8157:f7e9:c425 QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1749766806 31369 :ais523!~ais523@user/ais523 QUIT :Quit: quit < 1749767245 470479 :impomatic!~impomatic@2a00:23c7:5fc9:5401:24ec:b052:cced:828d QUIT :Quit: Ping timeout (120 seconds)