> 1747702711 927289 PRIVMSG #esolangs :14[[07APGsembly14]]4 N10 02https://esolangs.org/w/index.php?oldid=158080 5* 03I am islptng 5* (+11920) 10Just want to port this here.
> 1747703986 253239 PRIVMSG #esolangs :14[[07Mlatu-614]]4 10 02https://esolangs.org/w/index.php?diff=158081&oldid=157857 5* 03Dadsdy 5* (+111) 10/* External Resources */
> 1747705796 669415 PRIVMSG #esolangs :14[[07Burnlike14]]4 M10 02https://esolangs.org/w/index.php?diff=158082&oldid=157417 5* 03PkmnQ 5* (+3) 10/* Ruleset */ this seems more fitting
< 1747706214 218496 :Guest66!~Guest66@87.70.210.80 JOIN #esolangs * :[https://web.libera.chat] Guest66
< 1747706875 262552 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b JOIN #esolangs * :[https://web.libera.chat] impomatic
< 1747707175 221784 :Guest66!~Guest66@87.70.210.80 QUIT :Quit: Client closed
< 1747709885 207839 :Oj742!~Oj742@50.39.130.160 JOIN #esolangs * :[https://web.libera.chat] Oj742
< 1747710480 515388 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :I had read about reversible computing that they will save power compared with other computers. However, maybe there might also be possibility making a kind of hybrid computing if it helps.
< 1747710506 679528 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :ChaCha20 has a reversible part and then a final part that is not reversible.
< 1747710611 139504 :zzo38!~zzo38@host-24-207-52-143.public.eastlink.ca PRIVMSG #esolangs :If you have C operators += -= ^= then you can also have locking, with shared locking for each use of each variable on the right, and exclusive locking for each use of each variable on the left (but, you would also have array bound checking and without using other kind of pointers). A counted loop will have shared locking on the repeat count and on the variable to count each iteration.
< 1747710631 235026 :zemhill!bfjoust@selene.zem.fi PRIVMSG #esolangs :Oj742.quicklock: points -7.71, score 14.82, rank 36/47 (+7)
> 1747711623 346495 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Noewaeda 5* 10New user account
< 1747714680 970797 :zemhill!bfjoust@selene.zem.fi PRIVMSG #esolangs :Oj742.maddash: points -9.31, score 13.08, rank 46/47
> 1747716133 104867 PRIVMSG #esolangs :14[[07Wheddo14]]4 N10 02https://esolangs.org/w/index.php?oldid=158083 5* 03Rombito 5* (+2080) 10Created page with "'''Wheddo''' is an esolang made and posted onto this wiki by [[user:Rombito]]. ==The Languages== A singular line in a Wheddo Program is structured into 2 parts: # The ID # and the Code Here, there will only be an explanation of the ID since the code is self-explanatory.
> 1747716300 531179 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158084&oldid=158083 5* 03Rombito 5* (+72) 10
> 1747716323 331130 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158085&oldid=158084 5* 03Rombito 5* (-21) 10
> 1747716434 316954 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158086&oldid=158085 5* 03Rombito 5* (+7) 10
> 1747716542 698181 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158087&oldid=158086 5* 03Rombito 5* (+22) 10
> 1747716586 527671 PRIVMSG #esolangs :14[[07User:Rombito14]]4 N10 02https://esolangs.org/w/index.php?oldid=158088 5* 03Rombito 5* (+63) 10Created page with "I am rombito, and I do rombito things"
< 1747716603 499020 :Oj742!~Oj742@50.39.130.160 QUIT :Quit: Client closed
< 1747716961 39858 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 265 seconds
< 1747716985 118253 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord
> 1747718867 155811 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158089&oldid=158087 5* 03Rombito 5* (-6) 10
> 1747718927 41375 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158090&oldid=158089 5* 03Rombito 5* (+24) 10
> 1747719551 868371 PRIVMSG #esolangs :14[[07User talk:PrySigneToFry14]]4 10 02https://esolangs.org/w/index.php?diff=158091&oldid=157938 5* 03Cycwin 5* (+366) 10/* Any interests on joining our Esolang Tencent QQ group? */
> 1747719647 317574 PRIVMSG #esolangs :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=158092&oldid=158064 5* 03Rombito 5* (+13) 10/* W */
> 1747720229 533166 PRIVMSG #esolangs :14[[07User talk:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=158093&oldid=157966 5* 03Cycwin 5* (+29) 10/* Where are you from, and how can you understand Chinese? */
> 1747721326 508944 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158094&oldid=158090 5* 03Rombito 5* (+246) 10
< 1747721329 953916 :tromp!~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee JOIN #esolangs * :Textual User
> 1747721347 857837 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158095&oldid=158094 5* 03Rombito 5* (-2) 10
> 1747721362 371869 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158096&oldid=158095 5* 03Rombito 5* (+0) 10
< 1747723815 939355 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer
< 1747725428 552743 :tromp!~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee QUIT :Quit: My iMac has gone to sleep. ZZZzzz…
< 1747725467 885601 :tromp!~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee JOIN #esolangs * :Textual User
< 1747726347 375625 :tromp!~textual@2001:1c00:3487:1b00:e83d:1e4b:bd0c:14ee QUIT :Quit: My iMac has gone to sleep. ZZZzzz…
> 1747726866 582085 PRIVMSG #esolangs :14[[07Fn14]]4 10 02https://esolangs.org/w/index.php?diff=158097&oldid=156970 5* 03C0ffee 5* (-1) 10/* Examples */
< 1747728326 340215 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b QUIT :Quit: Client closed
> 1747728895 111263 PRIVMSG #esolangs :14[[07Brafunge14]]4 N10 02https://esolangs.org/w/index.php?oldid=158098 5* 03C0ffee 5* (+1324) 10Created page with "'''Brafunge''' is a cell-based language inspired by [[brainfuck]] and [[Befunge]]. == Commands == {| class="wikitable" !Commands !Description |- | >
|| Move the pointer to right. |- | <
|| Move the pointer to left. |- | +
|| Incr
> 1747728909 289918 PRIVMSG #esolangs :14[[07Brafunge14]]4 10 02https://esolangs.org/w/index.php?diff=158099&oldid=158098 5* 03C0ffee 5* (-8) 10
> 1747730286 949885 PRIVMSG #esolangs :14[[07Brafunge14]]4 10 02https://esolangs.org/w/index.php?diff=158100&oldid=158099 5* 03C0ffee 5* (+192) 10
> 1747730303 756982 PRIVMSG #esolangs :14[[07Brafunge14]]4 10 02https://esolangs.org/w/index.php?diff=158101&oldid=158100 5* 03C0ffee 5* (+1) 10/* Examples */
> 1747730462 987042 PRIVMSG #esolangs :14[[07Brafunge14]]4 10 02https://esolangs.org/w/index.php?diff=158102&oldid=158101 5* 03C0ffee 5* (+27) 10/* Commands */
> 1747730488 94402 PRIVMSG #esolangs :14[[07User:C0ffee14]]4 10 02https://esolangs.org/w/index.php?diff=158103&oldid=156973 5* 03C0ffee 5* (+15) 10
> 1747730536 415430 PRIVMSG #esolangs :14[[07Brafunge14]]4 10 02https://esolangs.org/w/index.php?diff=158104&oldid=158102 5* 03C0ffee 5* (-3) 10/* Examples */
< 1747731430 148818 :ais523!~ais523@user/ais523 JOIN #esolangs ais523 :(this is obviously not my real name)
< 1747731639 738563 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : woah something has gone seriously wrong with clang's register allocation in this case: https://paste.rs/ca13U.txt ← if this is hot code, I would seriously consider moving the movabs-es outside the loop, although I *think* they're not the limiting factor here (a good approximation is that you can decode 12 instructions while doing a multiplication nowadays, and there are 10 instructions in the body of the loop if you count cmp+je and cmp+jb as one
< 1747731641 171505 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :instruction each, so it shouldn't be blocked on decode)
< 1747731689 918995 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but gcc's move into %rdx is clearly movable outside the loop except in cases where %rdx needs to be preserved if the first iteration does the jump to .L24
< 1747732068 87350 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :int-e: was the clang code compiled without optimisation? it moves a constant into %rax then immediately adds a constant to %rax, and I'd expect just about any compiler to be able to optimise that
< 1747733594 296527 :chiselfu1e!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse
< 1747733700 100255 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Ping timeout: 264 seconds
< 1747733756 729277 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :b_jonas: I think many modern languages have been avoiding postfix [] for naming array types because they have a prefix operator that acts on types (e.g. pointer/reference formation), and it can make types hard to read and write unambiguously if you have both prefix and postfix operators
< 1747733795 262901 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Rust's [T; LENGTH] notation is clever because being circumfix, it's unambiguous no matter what operators you put inside or around it
< 1747733843 915318 :APic!apic@apic.name PRIVMSG #esolangs :Hi
< 1747733905 208003 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu JOIN #esolangs b_jonas :[https://web.libera.chat] wib_jonas
< 1747733954 967114 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :hi APic
< 1747733958 249377 :APic!apic@apic.name PRIVMSG #esolangs :☺
< 1747734012 335693 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :now I'm thinking about how array formation is one of the few two-argument operators that acts on types, but I'm not sure I've seen an infix syntax for it in any remotely recent language
< 1747734028 753865 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think there's some really old language where you can do INTEGER*100 or the like to make an array, but forget which one, and doubt it nests
< 1747734072 362682 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :forming product types is also a two-argument operator that acts on types, that's normally called (T, U) but I think I've seen * for it
< 1747734105 287779 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and forming sum types is interesting as that often doesn't have syntax at all, even in languages with sum types
< 1747734112 356667 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ais523: well C++ kind of has std::array
< 1747734135 454857 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :wib_jonas: that's similar to the Rust way of doing things
< 1747734201 838094 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess you don't want to be able to declare something as "Int + String" (disjoint union) as that makes actual uses of the type difficult; because it could be "Int + Int" the syntax for accessing cases would have to be written by index
< 1747734294 416032 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :OCaml lets you do [`I of int | `S of string] to create a disjoint union on the fly, with custom names for the variants
< 1747734390 783952 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I have been thinking for a while that possibly a good solution to this is to have newtypes that can be created on the fly, plus unions where all the options have to be different newtypes
< 1747734888 490113 :strerror!~strerror@user/strerror PRIVMSG #esolangs :T*N would be a confusing array syntax as it isn't associative: (T*N)*M ≠ T*(N*M)
< 1747734995 225623 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's sort-of associative, the former gives you a two-dimensional array, the latter gives you a one-dimensional array with the same total number of elements
< 1747735005 755301 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the types would be identical in a language that indexed by byte count rather than element count
< 1747735027 237572 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :err, if it were weakly typed enough
< 1747735748 117821 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ais523: so in naming types, the problem with the C syntax is that the variable name goes in the middle. everyone realized that this was a bad idea, so in a variable declaration, digitalmars D always puts the variable name after the whole type name, while Rust and golang and ziglang put the variable name before the whole type name. IIUC digitalmars
< 1747735748 626075 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :D and golang still uses the order return type then function name then argument list to define functions, but this only applies at the top nesting level, and for declaring function pointers a different syntax is used that keeps the whole typename together with the variable name still after the type in D and before the type in golang.
< 1747735918 648235 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :FORTRAN has a `TYPE*n` syntax, but it's not for arrays, it's for indicating different "variants" of the same type. So you have (standard) `CHARACTER*n` for any n > 0 for a fixed-length string; and you have (nonstandard) `INTEGER*2`, `INTEGER*4` and `INTEGER*8` types for different-sized integers; and you have `REAL*4` and `REAL*8` for two kinds of floats.
< 1747736015 512539 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :wib_jonas: right, in general I think it is useful to be able to name a type without having a specific identifier representing the type name in the middle of the syntax
< 1747736027 371916 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this comes up in C with function pointers – they need an argument list but the arguments aren't named
< 1747736155 65164 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :(Looks like Fortran 90 changed `CHARACTER*123` into `character(len=123)`, too.)
< 1747736278 793133 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ooh, I just realised that maybe type * type should be a syntax for declaring a map type (value * key)
< 1747736288 465140 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :but there's a something strange here: in digitalmars D type operators go on the right of the base type like `double[8] v;` or around it; in Rust and golang and zig type operators go on the left of the base type like `v: &mut double` in rust and `v [8]f64` in golang and `v: [8]f64` in ziglang, or around it. so the simple type operators always go in
< 1747736288 964105 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :the middle. how come nobody is using a syntax where there are simple type operators that go only on one side of the type, but they're on the far side of the variable name?
< 1747736306 291162 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that generalizes the idea of type * int being an array, because an array is a map from indexes to values
< 1747736366 910978 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :wib_jonas: I'm almost wondering if there's some parser ambiguity in doing that, but I can't immediately think of one
< 1747736391 450825 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(also, "double" isn't a Rust type)
< 1747736395 370236 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(it's called "f64")
< 1747736424 967738 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :uh yes, double is a golang type
< 1747736425 960638 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :so `v: &mut f64` in rust and `v [8]dobule` in golang and `v: [8]f64` in ziglang
< 1747736429 18294 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :it's confusing
< 1747736448 553289 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :C++ `std::tuple` has that property where you can access the individual fields by type if but only if they're distinct types, and have to fall back to indices if not.
< 1747736473 764588 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :`double` isn't a Go type either, the types are `float32` and `float64`.
< 1747736476 499234 :HackEso!~h@techne.zem.fi PRIVMSG #esolangs :double`? No such file or directory
< 1747736587 866250 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think using lowercase names for primitive types in Rust was a mistake, given that all the standard-library-defined types are upper-camelcase
< 1747736611 499973 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I've definitely written code that had a bunch of temporary variables i1, i2, i3, etc.
< 1747736632 98257 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and although you can name a variable the same thing as a primitive type in Rust, so when I reached i8 the code still worked, it looked weird in an editor
< 1747736673 921022 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(Rust always needs to know whether it's parsing a type or a value so that it can work out whether >> is a bitshift or two closing brackets, so it allows types and values to have the same name as each other)
< 1747736717 335766 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ok hold on, doesn't standard ML put the type constructor on the right and its argument on the left, and the name before the type, so you effectively end up with an order like `v: int list` which is similar to putting type operators on the outside?
< 1747736770 653485 :strerror!~strerror@user/strerror PRIVMSG #esolangs :I guess Rust's `t: &mut T` was chosen to mimic the operator `&mut t`. (Just like in C, `T t[N];` was chosen to mimic the operator `t[n]`. Why would anyone find that confusing?)
< 1747736811 654840 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :so now we just need to find a language that can put the type modifier first, then the type, then the variable name.
< 1747736886 430185 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :and if there's no such language yet then we have to make one
< 1747736886 652788 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :wib_jonas: OCaml uses that order too
< 1747736890 715555 :strerror!~strerror@user/strerror PRIVMSG #esolangs :Speaking of parsing, the normal way round might be easier because there's usually not many ways to write a variable name
< 1747736895 23651 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :which isn't surprising, also being an ML
< 1747736940 711332 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but, I think you're misinterpreting the ML order
< 1747736957 88741 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :because for two-argument type constructors the syntax is IIRC dict: (string, int) map
< 1747736966 280717 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :so, "int" is modifying "list" here rather than vice versa
< 1747737014 20491 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess you could compare to Haskell, which uses a similar syntax but in reverse: dict :: Map String Int
< 1747737093 448751 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :Go's map types are named `map[K]V`, is that a circumfix or a prefix operator, or both, or neither?
< 1747737148 597976 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's precircumfix
< 1747737169 781631 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :postcircumfix is fairly common (object.method(args)), but I don't think I've seen a precircumfix operator before
< 1747737328 983985 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess [8]f64 is precircumfix too, so Go is being consistent there
< 1747737358 431791 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :huh, http://rosettacode.org/ is not reachable. that would be a useful way to look for various syntax.
< 1747737462 732705 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :Wikipedia says it's www.rosettacode.org but that isn't reachable either
< 1747737491 65513 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :cppreference.com was being unusuably slow for me as well (wanted to double-check the std::tuple thing).
< 1747737539 943680 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I wonder whether these are side effects of the scraperbots
< 1747737557 131372 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although Rosetta Code was acting like it was intentionally down rather than overloaded
< 1747737559 368123 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ais523: I think precircumfix for declaring arrays, with the type on the right and the size in the middle, is used in algol and pascal, so it's very old
< 1747737571 678870 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :I _think_ std::variant does the same thing as std::tuple w.r.t. allowing std::get(x) if `type` uniquely determines the member.
< 1747737586 454065 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :(And std::get(x) with an index in any case.)
< 1747737637 209142 :wib_jonas70!~wib_jonas@business-37-191-60-209.business.broadband.hu JOIN #esolangs b_jonas :[https://web.libera.chat] wib_jonas
< 1747737653 855405 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu QUIT :Killed (NickServ (GHOST command used by wib_jonas70))
< 1747737658 310051 :wib_jonas70!~wib_jonas@business-37-191-60-209.business.broadband.hu NICK :wib_jonas
< 1747737663 13250 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :fizzie: I think I have a downloaded copy of the important parts of cppreference.com at home, in case it disappears
< 1747737702 624213 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oddly I don't think I've used it
< 1747737710 463355 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :generally for reading up on C and C++ I use draft standards
< 1747737733 130854 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that said, I don't program in C++ much – mostly it's just to modify pre-existing C++ programs, and the ones I work with are generally written in very old dialects of C++
< 1747737875 610121 :fizzie!irc@selene.zem.fi PRIVMSG #esolangs :It's convenient for (informally) checking which standard version introduced a thing, since they're pretty good at having "since C++17" style annotations where appropriate.
< 1747737922 208082 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ais523: in Haskell, `let { DECLARATIONS } in EXPRESSION` is a postcircumfix operator that gives an expression
< 1747737957 3556 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :you mean precircumfix?
< 1747737961 946845 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :yes, precircumfix
< 1747737967 15705 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :OCaml does that too, let a = b in c
< 1747738012 419743 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :also C typecasts are precircumfix like (double)4
< 1747738020 3743 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I should probably learn C23 at some point, primarily out of curiosity – newer versions of C don't seem so useful given that I expect most newer programs to be written in some safer language nowadays
< 1747738150 490586 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :I'm trying to understand something about the library interface of inter-thread synchronization, I asked yesterday starting from https://logs.esolangs.org/libera-esolangs/2025-05-19.html#l3 , I think some of you might be able to help because I think I'm missing something here
< 1747738403 330474 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :also, the SIGBOVIK 2025 proceedings have been released for like a week now. I have read only little of it so far, but it's SIGBOVIK so there'll probably be parts interesting or inspiring to this community in there
< 1747738429 264000 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it wouldn't surprise me if the pthreads API fundamentally didn't make sense
< 1747738512 623891 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :wib_jonas: The pthread_mutex_destroy() function shall destroy the mutex object referenced by mutex; the mutex object becomes, in effect, uninitialized.
< 1747738538 883170 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I think this explains it: it *uninitialises* a mutex obejct, which is why calling it twice is UB (because you're calling it on an uninitialised variable)
< 1747738610 704455 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I can imagine a pthreads implementation where statically initialised mutexes are pointers to static variables that store mutex state, whereas pthread_mutex_init()ed mutexes are pointers to dynamically allocated memory
< 1747738625 815556 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I'm not sure that that's necessarily a sensible implementation, but it seems to be consistent with the standard
< 1747738649 731432 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ais523: pthread_mutex_destroy twice is an undefined behavior makes sense, sure, my problem is why the manual says that pthread_mutex_init twice is an undefined behavior instead of just a resource leak. unless there is some pre-initialization that I must do before I call pthread_mutex_init, but if there is I don't know of it
< 1747738691 685947 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the POSIX rationale talks about machines which have a special sort of memory for storing mutexes, and where statically initialised mutexes allocate it lazily
< 1747738769 603640 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :oh, it does mention why double-initialising is UB – it's to allow the implementation to return an unlisted error code in cases where it detects that that happens, rather than silently accepting it and leaking memory
< 1747738789 692244 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :this would be better off as unspecified behaviour, I think: "either leaks memory or returns EBUSY"
< 1747738838 284688 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that said, I can see potential anything-happens UB if it ends up unlocking the mutex in the process of reinitialising it
< 1747738874 107970 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :oh, so you mean there'd be a separate table that has the mutex insides, and this has pointers back to the pthread_mutex_init handles that points into it, and pthread_mutex_init would look up what the existing handle points to with bounds checking and checks if the back pointer points back, and that way it can detect double initialization which is
< 1747738874 606786 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :often a sign of a leak?
< 1747738955 850252 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the Rationale doesn't explain how they expected implementations to check for double-initialisation, just that they were expecting that some could
< 1747738991 43269 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :scanning a list of allocated mutexes seems like the only possibility?
< 1747739046 820760 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :or, well, wouldn't have to be a linear scan, you could have a hashmap of them or something
< 1747739068 580962 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :no, it's not the only possibility. if you can rely on reading uninitialized memory as an integer array index without UB then you can do the back pointer thing.
< 1747739094 323317 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :ah right – that's a sort of map in its own way, of course
< 1747739108 652350 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I forget what it's called
< 1747739170 686449 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :yeah, it's just one that's hard to use with the way current language standards handle reading from uninitialized memory. but if you're implementing a mutex you can probably able to rely on some machine-specific low-level detail that can bypass that.
< 1747739186 657846 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it has lead to a lot of acrimony in the Rust community because it can't be correctly implemented in Rust atm, not even by (e.g.) reading the potentially uninitialised memory with inline asm
< 1747739247 692931 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :and the Rust developers don't want to add a way to do it until someone can prove it correct, which would probably need documenting the exact assumptions the optimiser was allowed to make in every possible scenario, which is a lot of work
< 1747739301 832952 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :yes, but even if you don't want to do this in a new library, an existing old library could be doing this and someone wanted to implement a pthreads interface over it
< 1747739303 742721 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :the issue is that it's fine at the hardware level, but very difficult to prove that you aren't violating some assumption that the optimiser might theoretically be able to rely on in future, even if it doesn't at the moment
< 1747739366 243915 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :even if it's possible, I don't like this restriction in the library interface though.
< 1747739369 953397 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :(partly because what the optimiser is and isn't allowed to do isn't specified anywhere)
< 1747739411 538820 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I got as far as proving that it's safe if the optimiser doesn't assume anything based about program executions that actually occurred based on program executions that could have occurred, but didn't
< 1747739456 863771 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :or, well, not that exactly, it was a related operation (reading from memory that might be racily updated in paralle,)
< 1747739473 677256 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :* in parallel, but ignoring the read value unless you can prove after that fact that no race happened
< 1747739593 347606 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :you can still use that sort of "uninitialized" structure if you only do it on memory that's low-level initialized earlier and you're just reusing such memory for a new array without reinitializing it, but that doesn't work in this weird mutex case
< 1747739929 103102 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :in any case, this has convinced me that the POSIX decisions aren't completely ridiculous
< 1747739942 995498 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but I suspect it'd make more sense to use something Valgrindish than trying to do it from within the program
< 1747739997 583945 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I guess some sort of asan-like thing would make sense, but if it's defined as UB then detected UB should core dump rather than just returning an error code
< 1747740018 186782 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :I can see why the language definition people are worried about reading uninitialized memory because it could be a problem for future optimizations. If it's ever allowed I think it would be better to use some special primitive operation that copies bytes from potentially uninitialized memory, rather than allow it for ordinary reads.
< 1747740119 136334 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :wib_jonas: the debate is about adding such a primitive
< 1747740140 149323 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :I agree it should definitely be a separate primitive – but the Rust developers don't want to commit to the primitive even being possible to implement
< 1747740147 242361 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :yeah, and that'd have to be done on the llvm side
< 1747740153 729330 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :LLVM already has such a primitive
< 1747740162 282096 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :llvm does?
< 1747740168 402915 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :it's called "freeze"
< 1747740184 758704 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :although it's awkward naming because the word "freeze" is also used in other contexts
< 1747740224 24832 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but the semantics are "given an uninitialised/poisoned/undef input, return an arbitrary bit pattern, otherwise return the value of the input"
< 1747740357 554033 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :I wonder if there also exists some old or exotic hardware where reading a word of memory that hasn't been initialized since poweron causes actual hardware level undefined behavior because an unclear signal from the bus can poison the CPU. Of course on such hardware you'd typically low-level initialize all the memory before you start to do anything
< 1747740358 54574 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :useful, so it wouldn't come up in practice.
< 1747740365 123729 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that said, I am somewhat unconvinced by the way LLVM makes decisions about optimiser semantics
< 1747740378 855284 :amby!~ambylastn@ward-15-b2-v4wan-167229-cust809.vm18.cable.virginm.net JOIN #esolangs * :realname
< 1747740441 280359 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :there was a bug a while ago where two optimisations conflicted with each other, optimising a correct program into an incorrect one, and LLVM decided to work around the problem by changing the semantics of load operations so that they would load undef if racing with a write (rather than doing UB) in order to make one of the optimisations valid
< 1747740464 682560 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :but I'm not sure they checked all the other optimisations to make sure they were consistent with the change (rather than just the optimisation that was assuming that it would be UB)
< 1747741732 144836 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :how does that even work? is it not UB only if the load or the conflicting store is done from code compiled with llvm as opposed to code compiled by something else and linked?
< 1747742220 657745 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :and then there's the whole thing about how the language lets the programmer do floating-point arithmetic with the floating-point control bits changed. most code is compiled assuming that the control bits must be at the default as the ABI requires. so C introduced a new pragma for this, to say that a part of your code doesn't assume that. then in
< 1747742221 157505 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :code surrounded with such a pragma, you can change the control bits. that's the rounding mode, the bit for input operand denormals are zeros, the bit for output operand denormals are zeros, and the floating point exception mask. I personally don't care much about the last one, and the rounding modes are probably best handled by new built-in and
< 1747742221 657144 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :library functions that do operations with a certain rounding mode. but the two denormal flags are harder, you do often want to run a longer calculation with those enabled, and it would be inconvenient to write all code that works that way without some more convenient syntax than named library functions, but the code doing that still has a different
< 1747742222 156811 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :ABI from normal so the pragma seems like the best solution. IIRC rust doesn't seem to have an equivalent of the pragma yet.
< 1747742294 407791 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu PRIVMSG #esolangs :and this can be tricky on the compiler and optimizer, because they suddenly have to know a lot specifically about the floating-point control flags, like what commutes with changing them because it does no floating-point operations etc.
> 1747742749 201758 PRIVMSG #esolangs :14[[07User:Cycwin/sandbox14]]4 N10 02https://esolangs.org/w/index.php?oldid=158105 5* 03Cycwin 5* (+221) 10Created page with " There will be my ideas there. You can edit them any time(please let me know who you edited this page are). ==About onechar== in onechar we only have :loop a (b) jp loop
So how can we jump above >2 lines code?"
> 1747743641 845094 PRIVMSG #esolangs :14[[07User:Cycwin/sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=158106&oldid=158105 5* 03Cycwin 5* (+0) 10/* About onechar */
< 1747745867 214466 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b JOIN #esolangs * :[https://web.libera.chat] impomatic
< 1747745974 850634 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b PRIVMSG #esolangs :ais523: basic scissors can be done in 5 instructions.
< 1747746007 877759 :ais523!~ais523@user/ais523 PRIVMSG #esolangs :that's actually quite impressive
< 1747746083 993116 :ais523!~ais523@user/ais523 PRIVMSG #esolangs : how does that even work? is it not UB only if the load or the conflicting store is done from code compiled with llvm as opposed to code compiled by something else and linked? ← it's not UB in general, it just reads an undefined value – all the hardware LLVM supports will return *some* value upon a racy read, even if it has no connection to reality, rather than (e.g.) crashing
< 1747746172 177635 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b PRIVMSG #esolangs :There's actually quite a good spread of strategies, and the settings are pretty good if you want to evolve a competitor using genetic algorithms.
< 1747746907 929123 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b QUIT :Quit: Client closed
< 1747747477 219741 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b JOIN #esolangs * :[https://web.libera.chat] impomatic
< 1747747938 738549 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b QUIT :Quit: Client closed
> 1747747994 739366 PRIVMSG #esolangs :14[[07Irma14]]4 10 02https://esolangs.org/w/index.php?diff=158107&oldid=157944 5* 03Neon 5* (+2282) 10
< 1747749827 685395 :molson!~molson@2001-48F8-7040-0-0-0-0-1593-dynamic.midco.net QUIT :Remote host closed the connection
< 1747749837 876223 :molson!~molson@2001:48f8:7040::1593 JOIN #esolangs molson :realname
> 1747750187 500814 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Bits bytes 5* 10New user account
> 1747750362 833132 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=158108&oldid=157973 5* 03Bits bytes 5* (+169) 10
< 1747751703 23996 :visilii_!~visilii@46.61.242.71 QUIT :Ping timeout: 265 seconds
< 1747752095 599963 :isabella!izabera@user/meow/izabera NICK :iza
< 1747752222 210399 :wib_jonas!~wib_jonas@business-37-191-60-209.business.broadband.hu QUIT :Ping timeout: 240 seconds
> 1747752533 191527 PRIVMSG #esolangs :14[[07User talk:I am islptng14]]4 10 02https://esolangs.org/w/index.php?diff=158109&oldid=158022 5* 03Hotcrystal0 5* (+334) 10
< 1747754991 227504 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b JOIN #esolangs * :[https://web.libera.chat] impomatic
< 1747755221 192297 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 JOIN #esolangs * :Textual User
< 1747755275 638457 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 QUIT :Client Quit
< 1747755437 138469 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 JOIN #esolangs * :Textual User
< 1747756224 953076 :visilii!~visilii@213.24.134.172 JOIN #esolangs * :ZNC - https://znc.in
< 1747757041 349932 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 QUIT :Quit: My iMac has gone to sleep. ZZZzzz…
< 1747758422 923560 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 JOIN #esolangs * :Textual User
< 1747758557 293258 :FreeFull!~freefull@79.186.59.252.ipv4.supernova.orange.pl QUIT :Quit: Lost terminal
> 1747759572 484324 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158110&oldid=158078 5* 03Hotcrystal0 5* (+47) 10
> 1747759702 695007 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158111&oldid=158110 5* 03Hotcrystal0 5* (+0) 10
< 1747760458 781962 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 QUIT :Quit: My iMac has gone to sleep. ZZZzzz…
> 1747760556 806198 PRIVMSG #esolangs :14[[07Nya~*kwrgsfish+-HQ9`:'"rbtAzxdi814]]4 10 02https://esolangs.org/w/index.php?diff=158112&oldid=151994 5* 03Qawtykit 5* (+695) 10laying out the commands into tables so its easier to read
> 1747761710 61369 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158113&oldid=158111 5* 03Helpeesl 5* (+88) 10
< 1747762023 818289 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 JOIN #esolangs * :Textual User
> 1747762409 851634 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Draft14]]4 10 02https://esolangs.org/w/index.php?diff=158114&oldid=158012 5* 03TenBillionPlusOne 5* (+502) 10
< 1747762949 166500 :Melvar!~melvar@dslb-092-074-060-136.092.074.pools.vodafone-ip.de QUIT :Quit: WeeChat 4.6.0
> 1747763266 177701 PRIVMSG #esolangs :14[[07Burn14]]4 10 02https://esolangs.org/w/index.php?diff=158115&oldid=134283 5* 03Aadenboy 5* (+31) 10/* see also */
> 1747763712 241963 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Draft14]]4 10 02https://esolangs.org/w/index.php?diff=158116&oldid=158114 5* 03TenBillionPlusOne 5* (+316) 10
< 1747763883 639700 :Melvar!~melvar@dslb-092-074-060-136.092.074.pools.vodafone-ip.de JOIN #esolangs Melvar :melvar
< 1747764498 382985 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b QUIT :Quit: Client closed
< 1747764518 222938 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b JOIN #esolangs * :[https://web.libera.chat] impomatic
< 1747765601 894553 :APic!apic@apic.name PRIVMSG #esolangs :cu
> 1747766300 435160 PRIVMSG #esolangs :14[[07Main Page/lex14]]4 N10 02https://esolangs.org/w/index.php?oldid=158117 5* 03Neon 5* (+1810) 10Created page with "==Introduction== Lex is a variant of pseudocode consisting of mainly letters and symbols. It was inspired by the P" (P double prime) primitive programming language created by Corrado Bohm. It is not meant to have be executed and is instead meant to illustrate the str
> 1747767375 276277 PRIVMSG #esolangs :14[[07Talk:Main Page/lex14]]4 N10 02https://esolangs.org/w/index.php?oldid=158118 5* 03Aadenboy 5* (+322) 10Created page with "why is this a subpage of the main page? ~~~~"
> 1747767428 206981 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03TheKillerBunny 5* 10New user account
> 1747767667 439045 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=158119&oldid=158108 5* 03TheKillerBunny 5* (+131) 10
> 1747767686 282187 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=158120&oldid=158119 5* 03TheKillerBunny 5* (+78) 10
< 1747767829 895260 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b QUIT :Quit: Client closed
> 1747768381 586461 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158121&oldid=158113 5* 03Hotcrystal0 5* (+132) 10
< 1747768448 224204 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b JOIN #esolangs * :[https://web.libera.chat] impomatic
> 1747768467 423091 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158122&oldid=158121 5* 03Hotcrystal0 5* (+36) 10
> 1747768554 147176 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Draft14]]4 10 02https://esolangs.org/w/index.php?diff=158123&oldid=158116 5* 03TenBillionPlusOne 5* (+153) 10/* Examples */
> 1747768796 203893 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Draft14]]4 10 02https://esolangs.org/w/index.php?diff=158124&oldid=158123 5* 03TenBillionPlusOne 5* (+198) 10
> 1747768849 240501 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Draft14]]4 10 02https://esolangs.org/w/index.php?diff=158125&oldid=158124 5* 03TenBillionPlusOne 5* (+8) 10/* Examples */
> 1747768938 913301 PRIVMSG #esolangs :14[[07Special:Log/move14]]4 move10 02 5* 03TenBillionPlusOne 5* 10moved [[02User:TenBillionPlusOne/Draft10]] to [[Transformation is complete]]: Finished the esolang
< 1747768962 882816 :HackEso!~h@techne.zem.fi QUIT :Ping timeout: 252 seconds
> 1747768976 602001 PRIVMSG #esolangs :14[[07Transformation is complete14]]4 10 02https://esolangs.org/w/index.php?diff=158128&oldid=158126 5* 03TenBillionPlusOne 5* (+65) 10
< 1747769008 64902 :HackEso!~h@techne.zem.fi JOIN #esolangs HackEso :HackEso
> 1747769097 3866 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne14]]4 10 02https://esolangs.org/w/index.php?diff=158129&oldid=157834 5* 03TenBillionPlusOne 5* (-34) 10
> 1747769144 58724 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Draft14]]4 10 02https://esolangs.org/w/index.php?diff=158130&oldid=158127 5* 03TenBillionPlusOne 5* (-40) 10Blanked the page
> 1747769290 254987 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=158131&oldid=157984 5* 03TenBillionPlusOne 5* (-1020) 10/* Transformation is complete */
> 1747769342 423524 PRIVMSG #esolangs :14[[07User:TenBillionPlusOne/Sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=158132&oldid=158131 5* 03TenBillionPlusOne 5* (+67) 10
> 1747769394 242961 PRIVMSG #esolangs :14[[07Transformation is complete14]]4 M10 02https://esolangs.org/w/index.php?diff=158133&oldid=158128 5* 03TenBillionPlusOne 5* (+13) 10
> 1747771227 231686 PRIVMSG #esolangs :14[[07Transformation is complete14]]4 10 02https://esolangs.org/w/index.php?diff=158134&oldid=158133 5* 03TenBillionPlusOne 5* (-23) 10/* Natural numbers */
> 1747772356 535970 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158135&oldid=158096 5* 03Rombito 5* (-1) 10
> 1747772703 589523 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158136&oldid=158135 5* 03Rombito 5* (+26) 10
> 1747773134 377802 PRIVMSG #esolangs :14[[07Wheddo14]]4 10 02https://esolangs.org/w/index.php?diff=158137&oldid=158136 5* 03Rombito 5* (-30) 10
> 1747773699 590225 PRIVMSG #esolangs :14[[07Caca14]]4 10 02https://esolangs.org/w/index.php?diff=158138&oldid=156783 5* 03Mari 5* (+175) 10Cell-based, unknown computational class, rather than all relative increments or decrements
< 1747775015 599925 :tromp!~textual@2001:1c00:3487:1b00:8936:d4:f59:5d83 QUIT :Quit: My iMac has gone to sleep. ZZZzzz…
> 1747775202 281437 PRIVMSG #esolangs :14[[07User:XKCD Random Number14]]4 10 02https://esolangs.org/w/index.php?diff=158139&oldid=153906 5* 03Mari 5* (+463) 10add Caca
> 1747776066 368414 PRIVMSG #esolangs :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=158140&oldid=158092 5* 03Buckets 5* (+11) 10
> 1747776092 966374 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=158141&oldid=158065 5* 03Buckets 5* (+10) 10
> 1747776104 580537 PRIVMSG #esolangs :14[[07Whyn14]]4 N10 02https://esolangs.org/w/index.php?oldid=158142 5* 03Buckets 5* (+900) 10Created page with "Whyn is an Esoteric programming language created by [[User:Buckets]] in 2021. The Starting Direction is 45 Degrees Clockwise then Normal. {| class="wikitable" |- ! Commands !! Instructions |- | R || Turn 90 Degrees Clockwise. |- | L || Turn 90 Degrees Anti-Clockwise. |- |
< 1747778162 786078 :impomatic!~impomatic@2a00:23c7:5fc9:5401:7c7a:13c0:eca4:c47b QUIT :Quit: Client closed
< 1747779039 733211 :slavfox!~slavfox@193.28.84.183 QUIT :Quit: ZNC 1.8.2 - https://znc.in
< 1747779060 822541 :slavfox!~slavfox@193.28.84.183 JOIN #esolangs slavfox :slavfox
> 1747780759 19264 PRIVMSG #esolangs :14[[07User:Buckets14]]4 M10 02https://esolangs.org/w/index.php?diff=158143&oldid=158141 5* 03Buckets 5* (+0) 10
> 1747782480 647591 PRIVMSG #esolangs :14[[07Special:Log/newusers14]]4 create10 02 5* 03Idkwhatever 5* 10New user account
> 1747783263 97998 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158144&oldid=158122 5* 03I am islptng 5* (+219) 10
< 1747783946 936174 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname
> 1747784020 187203 PRIVMSG #esolangs :14[[07Esolang:Introduce yourself14]]4 M10 02https://esolangs.org/w/index.php?diff=158145&oldid=158120 5* 03Idkwhatever 5* (+59) 10
> 1747784032 873248 PRIVMSG #esolangs :14[[07Unibrain14]]4 10 02https://esolangs.org/w/index.php?diff=158146&oldid=74115 5* 03Kaveh Yousefi 5* (+168) 10Added a hyperlink to my implementation of the Unibrain programming language on GitHub.
< 1747784037 677909 :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
> 1747784514 838415 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158147&oldid=158144 5* 03Hotcrystal0 5* (+21) 10
> 1747784540 662281 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158148&oldid=158147 5* 03Hotcrystal0 5* (+0) 10
> 1747784674 109934 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158149&oldid=158148 5* 03Hotcrystal0 5* (-44) 10
> 1747784685 582492 PRIVMSG #esolangs :14[[07User programmed14]]4 10 02https://esolangs.org/w/index.php?diff=158150&oldid=158149 5* 03Hotcrystal0 5* (-4) 10
> 1747785217 44182 PRIVMSG #esolangs :14[[07User talk:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=158151&oldid=158093 5* 03Hotcrystal0 5* (+324) 10
> 1747785227 10247 PRIVMSG #esolangs :14[[07User talk:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=158152&oldid=158151 5* 03Hotcrystal0 5* (-1) 10
> 1747785239 518911 PRIVMSG #esolangs :14[[07User talk:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=158153&oldid=158152 5* 03Hotcrystal0 5* (+24) 10
> 1747785284 388571 PRIVMSG #esolangs :14[[07User talk:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=158154&oldid=158153 5* 03Hotcrystal0 5* (+75) 10
> 1747785312 560279 PRIVMSG #esolangs :14[[07User talk:Hotcrystal014]]4 10 02https://esolangs.org/w/index.php?diff=158155&oldid=158154 5* 03Hotcrystal0 5* (+289) 10
> 1747785426 283180 PRIVMSG #esolangs :14[[07User talk:Ais52314]]4 10 02https://esolangs.org/w/index.php?diff=158156&oldid=158029 5* 03Hotcrystal0 5* (+431) 10/* Filter 16 */ new section
> 1747785443 642059 PRIVMSG #esolangs :14[[07User talk:Ais52314]]4 10 02https://esolangs.org/w/index.php?diff=158157&oldid=158156 5* 03Hotcrystal0 5* (-3) 10
> 1747785461 736689 PRIVMSG #esolangs :14[[07User talk:Ais52314]]4 M10 02https://esolangs.org/w/index.php?diff=158158&oldid=158157 5* 03Hotcrystal0 5* (+0) 10
> 1747785539 865143 PRIVMSG #esolangs :14[[07User talk:Ais52314]]4 10 02https://esolangs.org/w/index.php?diff=158159&oldid=158158 5* 03Hotcrystal0 5* (+58) 10