←2024-08-27 2024-08-28 2024-08-29→ ↑2024 ↑all
00:03:14 -!- mtm has quit (Ping timeout: 260 seconds).
00:06:03 -!- mtm has joined.
00:24:08 -!- amby has 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).
00:39:18 -!- zzo38 has joined.
01:19:07 -!- bookworms has quit (Remote host closed the connection).
01:23:33 -!- lynndotpy has quit (Quit: bye bye).
01:24:31 -!- lynndotpy has joined.
01:38:44 -!- ais523 has quit (Quit: quit).
01:44:50 <esolangs> [[User talk:Page crapper from explain xkcd]] https://esolangs.org/w/index.php?diff=136986&oldid=136977 * None1 * (+255)
01:52:40 <esolangs> [[User talk:Page crapper from explain xkcd]] https://esolangs.org/w/index.php?diff=136987&oldid=136986 * Tommyaweosme * (+300)
02:08:15 <esolangs> [[EINE]] N https://esolangs.org/w/index.php?oldid=136988 * None1 * (+2540) Created page with "{{lang|a=User:None1}} EINE means 1 in German, as opposed to [[NULL]], which means 0. ==Instructions== EINE has all the instructions in [[NULL]], but unlike [[NULL]], it has one dimension. {| class="wikitable" ! 2 | Select the next queue (wrapping around). |- ! 3 | Select th
02:16:24 <esolangs> [[Special:Log/upload]] upload * Tommyaweosme * uploaded "[[File:Tommy aweosme.png]]": derived from a non-public domain source, but so many significant croppings (down to 10x10) and resizings, filters, etc. etc. it is severely unrecognizable where it came from. (it came from sucess baby's face btw if you were wondering)
02:16:59 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=136990&oldid=136979 * Tommyaweosme * (+27)
02:20:38 <esolangs> [[User:Tommyaweosme]] https://esolangs.org/w/index.php?diff=136991&oldid=136990 * Tommyaweosme * (+124)
02:43:32 <esolangs> [[Talk:Copyright makes no sense]] https://esolangs.org/w/index.php?diff=136992&oldid=136856 * Hakerh400 * (+385)
02:48:15 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=136993&oldid=136883 * None1 * (+11) /* E */
02:49:49 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=136994&oldid=136884 * None1 * (+33)
02:50:42 <esolangs> [[EINE]] https://esolangs.org/w/index.php?diff=136995&oldid=136988 * None1 * (+11)
03:22:41 -!- Lord_of_Life_ has joined.
03:23:30 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
03:24:03 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:30:33 <esolangs> [[User talk:Page crapper from explain xkcd]] https://esolangs.org/w/index.php?diff=136996&oldid=136987 * None1 * (+268)
03:31:45 <esolangs> [[User talk:Page crapper from explain xkcd]] https://esolangs.org/w/index.php?diff=136997&oldid=136996 * None1 * (+71)
03:32:08 -!- bookworms has joined.
04:00:26 <esolangs> [[Template:Banned]] N https://esolangs.org/w/index.php?oldid=136998 * MihaiEso * (+65) Created page with "This user is banned. For more detail, goto [[Special:BlockList]]."
04:00:48 <esolangs> [[User:Page crapper from explain xkcd]] https://esolangs.org/w/index.php?diff=136999&oldid=134853 * MihaiEso * (-55) Switched to a template!
04:02:30 <esolangs> [[User talk:Page crapper from explain xkcd]] https://esolangs.org/w/index.php?diff=137000&oldid=136997 * MihaiEso * (+122)
04:03:35 <esolangs> [[User:Page crapper from explain xkcd 2]] N https://esolangs.org/w/index.php?oldid=137001 * MihaiEso * (+10) Created page with "{{Banned}}"
04:05:05 <esolangs> [[User:MihaiEso]] https://esolangs.org/w/index.php?diff=137002&oldid=136650 * MihaiEso * (+7) /* Some bonus stuff */
04:11:44 <esolangs> [[Hello world program in esoteric languages (B-C)]] https://esolangs.org/w/index.php?diff=137003&oldid=136177 * MihaiEso * (+124) /* Crazy */
04:13:57 <esolangs> [[User talk:Page crapper from explain xkcd 2]] N https://esolangs.org/w/index.php?oldid=137004 * MihaiEso * (+160) Created page with "==Soon== Will be a third one soon? Like "Page crapper from explain xkcd 3"? ~~~~"
04:45:09 <b_jonas> ok, so in the simpler case when the scoped constant isn't a mut reference then its value can be of any Copy type, as long as the value lives for the whole lifetime of the scope of the scoped constant. so it could be a shared reference with lifetime at least as long, or a struct that holds such a shared reference. whenever you call any function where a generic parameter mentions this scoped const, this
04:45:15 <b_jonas> desugars to passing a hidden copy of the value of that scoped const. so you could call a function where one function parameter is a &'s mut Vec<SparseBigInt<base>> where 's is a narrower scope, but you'll still just pass one top-level copy of the scoped const base, plus the mut reference to the vector.
04:45:42 <b_jonas> and I think in this case you could even declare the scoped const value as mut and mutate it in the scope, just as long as it's never empty during the lifetime of the scope.
04:46:36 <b_jonas> I think this case when the scoped constant isn't a mut reference mostly makes sense to me now and I can believe that it works out.
05:01:45 <b_jonas> Or you could eg. write let d: Box<SparseBigInt<base>> = Box<SparseBigInt<base>>::default(); where you aren't even passing any arguments, but it still passes a hidden copy of base which Box::default passes on when it calls SparseBigInt::default to construct a zero into the box. And then the box d will behave similarly to if it were a box of a shared reference, in particular you can't refer to that box
05:01:51 <b_jonas> outside of the scope of this scoped constant, because then you couldn't pass the hidden base parameter.
05:03:37 <zzo38> In esolangs wiki I have User:Zzo38/Untitled_2 and User:Zzo38/Untitled_3 and User:Zzo38/Untitled_4 but do you know what any of them will be called? (If you do, then they should be moved into the main namespace; currently they aren't in the main namespace only because I don't know what they are called.)
05:09:54 <b_jonas> although... you might actually want to disallow declaring the scoped constant value as mut in the rules, because if it were mut then you could just change the base within the lifetime of the scope, and then the functions that deal with those SparseBigInt couldn't rely on it being constant.
05:11:13 <b_jonas> so if you do want to mutate it then you'll have to make the scoped constant explicitly be of a type with interior mutability, such as a struct that contains a Cell (or a Vec<Cell> or whatever), at which point the type with such a generic argument knows explicitly that the scoped const value can interior change.
05:18:59 <b_jonas> zzo38: if you don't know what to call something then you can try to generate a name by picking a random name from the table https://en.wikipedia.org/wiki/List_of_Trojan_War_characters#Individuals , doing a search on the esowiki and an internet search to see if there's any esolang or other software-related thing that it could be confused to, and if not then you just use that name.
05:20:21 <b_jonas> this isn't fully general because eg. "Amicus" isn't on that list, but it should work the first few dozen times
05:21:04 <esolangs> [[User talk:Page crapper from explain xkcd 2]] https://esolangs.org/w/index.php?diff=137005&oldid=137004 * Unname4798 * (+237)
05:29:15 <b_jonas> Or another source for a similar such list of names that is smaller but more canonical is the nodes in homer.dat as documented in gb_books.w in Knuth's SGB "https://cs.stanford.edu/pub/sgb/sgb.tar.gz"
05:30:06 -!- Sgeo has quit (Read error: Connection reset by peer).
05:32:21 <esolangs> [[User talk:Page crapper from explain xkcd 2]] https://esolangs.org/w/index.php?diff=137006&oldid=137005 * Unname4798 * (+29) clarify
05:32:48 <esolangs> [[User talk:Page crapper from explain xkcd 2]] M https://esolangs.org/w/index.php?diff=137007&oldid=137006 * Unname4798 * (+1)
05:33:26 <b_jonas> I wonder where you can find the simlar list for names in the Aeneid rather than the Iliad. Maybe in some astronomy-related name catalog.
05:35:24 <zzo38> I will look. They say naming things is the difficult part of computer programming, so maybe Knuth had figured it out even though I had not.
05:37:23 <esolangs> [[User talk:Page crapper from explain xkcd]] https://esolangs.org/w/index.php?diff=137008&oldid=137000 * Unname4798 * (+203) reply
05:39:58 <esolangs> [[Fire resistance]] https://esolangs.org/w/index.php?diff=137009&oldid=136985 * Unname4798 * (-24) not yet a language
05:44:25 -!- bookworms has quit (Quit: I give the F*%k up! Have a nice day!).
05:53:06 <esolangs> [[Template:Seriousnotwikipedia]] M https://esolangs.org/w/index.php?diff=137010&oldid=130164 * Unname4798 * (+1) fix typos
05:54:41 <esolangs> [[4ME]] https://esolangs.org/w/index.php?diff=137011&oldid=135863 * Unname4798 * (+2) fix typos
05:58:03 <esolangs> [[User:PkmnQ/Alt Flow]] https://esolangs.org/w/index.php?diff=137012&oldid=136869 * PkmnQ * (+2233)
05:59:31 -!- Guest39 has joined.
05:59:49 -!- Guest39 has quit (Client Quit).
06:44:30 -!- tromp has joined.
07:19:06 -!- craigo_ has joined.
07:19:43 -!- lynndotpy2 has joined.
07:20:02 -!- moony1 has joined.
07:21:38 -!- perlbot has quit (Ping timeout: 246 seconds).
07:21:38 -!- craigo has quit (Read error: Connection reset by peer).
07:21:38 -!- lynndotpy has quit (Read error: Connection reset by peer).
07:21:39 -!- moony has quit (Read error: Connection reset by peer).
07:21:42 -!- moony1 has changed nick to moony.
07:21:42 -!- lynndotpy2 has changed nick to lynndotpy.
07:21:42 -!- perlbot_ has joined.
07:23:08 -!- perlbot_ has changed nick to perlbot.
07:50:56 <esolangs> [[Special:Log/upload]] overwrite * Unname4798 * uploaded a new version of "[[File:Tommy aweosme.png]]": uniform background
07:51:27 <esolangs> [[File:Tommy aweosme.png]] https://esolangs.org/w/index.php?diff=137014&oldid=137013 * Unname4798 * (+32)
07:51:40 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
08:18:20 <esolangs> [[Translated ORK/None1 again2]] N https://esolangs.org/w/index.php?oldid=137015 * None1 * (+826) Created page with "This is a crazier version than [[Translated ORK/PSTF Again]]. 1. Take the semiproduct: <pre> -Cable coverings. No, no, no. No, no, no. No, no, no. Archive not applicable to hobbits The Hobbit. You must lock the page. Kabul and Work No, no, no. Storage
08:18:38 <esolangs> [[Translated ORK/None1 again2]] M https://esolangs.org/w/index.php?diff=137016&oldid=137015 * None1 * (+30)
08:18:56 <esolangs> [[Translated ORK/None1 again2]] M https://esolangs.org/w/index.php?diff=137017&oldid=137016 * None1 * (+11)
08:21:14 <esolangs> [[Translated ORK/PSTF]] M https://esolangs.org/w/index.php?diff=137018&oldid=133138 * None1 * (+34)
08:22:59 -!- __monty__ has joined.
08:30:53 <esolangs> [[Talk:RNDM]] N https://esolangs.org/w/index.php?oldid=137019 * Yayimhere * (+128) Created page with "wtf is this. i cant understand at all... ~~~~"
08:38:17 <esolangs> [[Translated Poetic]] N https://esolangs.org/w/index.php?oldid=137020 * None1 * (+1591) Created page with "'''Translated Poetic''' is an esolang made by [[User:None1]]. It is [[Poetic]] but horribly translated by Google & Baidu. (however you can add more or choose a another pair of translators for an even more horrible translation!) Note that unlike most languages, P
08:40:12 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=137021&oldid=135557 * None1 * (+68) /* Horribly translated variants */
08:40:36 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=137022&oldid=136994 * None1 * (+62)
08:41:43 <esolangs> [[()()()]] N https://esolangs.org/w/index.php?oldid=137023 * Yayimhere * (+51) Created page with "{{displaytitle=()[]{}}} {{Wrongtitle|title=()[]{}}}"
08:42:27 <esolangs> [[()()()]] https://esolangs.org/w/index.php?diff=137024&oldid=137023 * Yayimhere * (+2)
08:42:45 <esolangs> [[()()()]] https://esolangs.org/w/index.php?diff=137025&oldid=137024 * Yayimhere * (+2)
09:40:44 <esolangs> [[PoeticFuck]] N https://esolangs.org/w/index.php?oldid=137026 * None1 * (+1587) Created page with "{{lang|a=User:None1|i=[[brainfuck]] and [[Poetic]]|f=made to represent [[Poetic]] in a brainfuck-like way}} ==Instructions== {| class="wikitable" ! PoeticFuck !! Poetic Digit equivalent !! Meaning |- | ; || 0 || End program execution here. |- | [ || 1 || If the curren
09:44:50 <esolangs> [[Poetic/Interpreter]] N https://esolangs.org/w/index.php?oldid=137027 * None1 * (+2118) Created page with "This is a: * [[Poetic]] interpreter * [[PoeticFuck]] interpreter * [[Poetic]] to [[PoeticFuck]] translator by [[User:None1]] in [[Python]]. <pre> import sys from random import randint def p2pf(code): # Translates PoeticFuck to Poetic res='' while code:
09:45:35 <esolangs> [[Poetic]] https://esolangs.org/w/index.php?diff=137028&oldid=103878 * None1 * (+72) /* Implementation */
09:45:59 <esolangs> [[Poetic]] https://esolangs.org/w/index.php?diff=137029&oldid=137028 * None1 * (+73) /* External links */
09:46:11 <esolangs> [[Poetic]] https://esolangs.org/w/index.php?diff=137030&oldid=137029 * None1 * (+18) /* Implementation */
09:46:40 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=137031&oldid=137022 * None1 * (+71) /* My Esolangs */
09:47:30 <esolangs> [[PoeticFuck]] https://esolangs.org/w/index.php?diff=137032&oldid=137026 * None1 * (+42) /* Examples */
09:48:48 <esolangs> [[Poetic/Interpreter]] https://esolangs.org/w/index.php?diff=137033&oldid=137027 * None1 * (+38)
10:27:05 -!- ais523 has joined.
10:27:34 <ais523> <b_jonas> although... you might actually want to disallow declaring the scoped constant value as mut in the rules, because if it were mut then you could just change the base within the lifetime of the scope, and then the functions that deal with those SparseBigInt couldn't rely on it being constant ← right – that would mean the wrong thing semantically, and most of these types want to rely on the fact that it's constant
10:27:41 <ais523> a scoped constant with interior mutability should work for that case
10:41:47 -!- wib_jonas has joined.
10:54:42 <esolangs> [[Combined() Task() Force()]] N https://esolangs.org/w/index.php?oldid=137034 * Yayimhere * (+2451) Created page with "{{Wrongtitle|title="Combined() Task[] Force{}"}} '''Combined() Task[] Force{}''' or just '''Combined Task Force''' is a esolang by [[User:Yayimhere]] based on the hierarchy of operations in arithmetic == memory == Combined() Task[] Force{} has these
10:54:58 <esolangs> [[Combined() Task() Force()]] https://esolangs.org/w/index.php?diff=137035&oldid=137034 * Yayimhere * (+0)
10:55:26 <esolangs> [[Combined() Task() Force()]] https://esolangs.org/w/index.php?diff=137036&oldid=137035 * Yayimhere * (-1)
10:57:36 <esolangs> [[Nope]] https://esolangs.org/w/index.php?diff=137037&oldid=136963 * Yayimhere * (+24) /* turing completeness proof */
11:10:38 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=137038 * Yayimhere * (+396) Created page with "{{Lowercase}} '''''' is a esolang CONCEPt by [[User:Yayimhere]]. is any programming language where this code: +------+ |/----\| || [] || |\----/| |>----<| |/----\| ||[n:]|| |\----/| |>----<| |/----\| ||l__]|| |\----/| |>----<| |/----\| ||_l/|| |\----/| +----
11:20:21 -!- simcop2387 has quit (Quit: ZNC 1.8.2+deb3.1 - https://znc.in).
11:20:21 -!- perlbot has quit (Quit: ZNC 1.8.2+deb3.1 - https://znc.in).
11:23:19 -!- simcop2387 has joined.
11:24:40 -!- perlbot has joined.
11:28:10 <wib_jonas> so as it turns out, in stable rust for a nullary struct/variant constructor, you can already use an empty pair of braces after the name of the constructor, either in an expression or a pattern. this is nice, and may be a better idea than the empty parenthesis that I recommended.
11:28:10 <wib_jonas> "https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=4d0f6fad13fb5ef7afcaa0fe71e6b07d" is an example, "https://github.com/llogiq/rfcs/blob/alloca/text/0218-empty-struct-with-braces.md" is the relevant RFC
11:28:52 <wib_jonas> you can use that to disambiguate a pattern to show that something is a constructor rather than a new binding
11:32:01 <wib_jonas> and you can in fact also use the @ mark to disambiguate for a newly bound name. this doesn't let you shadow an existing constructor, but it does give a compile error, which is enough. https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=6c88ffffed647ecc2a23f70df3441adf
11:35:42 <esolangs> [[()()()]] https://esolangs.org/w/index.php?diff=137039&oldid=137025 * Yayimhere * (-55) Blanked the page
11:39:58 <wib_jonas> it seems you can't shadow an existing constructor even if it's from a wildcard import, whether it's a wildcard from a mod (importing a nullary struct) or a wildcard from an enum (to import all its variant constructors)
11:41:46 <ais523> b_jonas: I'm not surprsied that Rust does that with {}, but I am surprised that there was an RFC specifically for the one feature
11:45:25 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[()()()]]": Author request: blanked by author shortly after creation, and has never had any content describing the language
11:53:15 <esolangs> [[Talk:4ME]] N https://esolangs.org/w/index.php?oldid=137040 * Yayimhere * (+107) Created page with "why is dis a stub?? ~~~~"
11:56:44 <esolangs> [[User talk:MihaiEso]] https://esolangs.org/w/index.php?diff=137041&oldid=136982 * Yayimhere * (+126) /* bring back the old sandbox war */
12:03:29 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=137042&oldid=136436 * Yayimhere * (+120) /* MiniStringFuck */
12:05:17 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=137043&oldid=137042 * Ais523 * (+358) /* MiniStringFuck */ r to Yayimhere
12:08:09 <esolangs> [[User talk:Ais523]] https://esolangs.org/w/index.php?diff=137044&oldid=137043 * Yayimhere * (+95) /* MiniStringFuck */
12:12:44 <wib_jonas> I'm just embarrassed that I didn't know that this worked. I suggested the empty parenthesis, which is not allowed, and should have realized that empty braces work instead.
12:13:13 <esolangs> [[]] https://esolangs.org/w/index.php?diff=137045&oldid=137038 * Yayimhere * (+293)
12:17:06 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=137046&oldid=136993 * Yayimhere * (+19) /* Non-alphabetic */
12:23:47 -!- dawids has joined.
12:27:06 -!- amby has joined.
13:00:19 -!- ManDeJan has quit (Remote host closed the connection).
13:00:28 -!- ursa-major has quit (Remote host closed the connection).
13:01:27 -!- ManDeJan has joined.
13:01:27 -!- ursa-major has joined.
13:03:51 <esolangs> [[Poetic/Interpreter]] M https://esolangs.org/w/index.php?diff=137047&oldid=137033 * None1 * (-31)
13:04:31 <esolangs> [[Translated Poetic]] https://esolangs.org/w/index.php?diff=137048&oldid=137020 * None1 * (+188)
13:08:54 <esolangs> [[Q]] https://esolangs.org/w/index.php?diff=137049&oldid=135997 * Yayimhere * (+264)
13:15:48 <ais523> in general I am not a huge fan of Rust's syntax
13:16:56 <ais523> it has a huge number of elisions, auto-derefs, etc. in order to make it look nicer, but that makes it harder to work out what a program is doing – it would be better if it were clearer in the first place
13:18:00 <ais523> I also don't like the way that trait methods are in the same namespace, even if they belong to different traits – that can cause collisions if a trait adds a new method, makes it hard to tell which trait you're using a method of, and the syntax to disambiguate is ugly (and frequently used in the sort of code I write)
13:18:36 <ais523> it would be nice to be able to say object.Trait::method(args) rather then <ObjectType as Trait>::method(trait, args)
13:18:55 <ais523> and to be to able to import individual trait methods, rather than needing to do the equivalent of a wildcard import
13:22:16 <esolangs> [[Microwave]] https://esolangs.org/w/index.php?diff=137050&oldid=130454 * Yayimhere * (-3) /* Looping Through Numbers 1-10 */
13:22:48 <wib_jonas> there are some parts of Rust syntax that I don't like either, but on the plus side it looks like they are now capable of using editions to introduce broken syntax changes in a way that you can compile crates with different editions together, and most of the time even use a macro written for an older edition in newer edition, kind of like every
13:22:49 <wib_jonas> token were tagged with the edition it's written in and the grammar supporting mixing tokens from different editions.
13:22:54 <esolangs> [[Microwave]] https://esolangs.org/w/index.php?diff=137051&oldid=137050 * Yayimhere * (+12) /* "Hello World!" */
13:23:27 <esolangs> [[Microwave]] https://esolangs.org/w/index.php?diff=137052&oldid=137051 * Yayimhere * (+4) /* Looping Through Numbers 1-10 */
13:23:44 <esolangs> [[Microwave]] https://esolangs.org/w/index.php?diff=137053&oldid=137052 * Yayimhere * (-2) /* "Hello World!" */
13:23:47 <wib_jonas> that means the syntax can be improved in future versions, or even forked so you have multiple syntaxes living in parallel and having access to Rust's extra features
13:24:16 <esolangs> [[Microwave]] https://esolangs.org/w/index.php?diff=137054&oldid=137053 * Yayimhere * (+0) /* Fibonacci */
13:25:03 <wib_jonas> because of this flexibility I'm more willing to invest into Rust despite some of the drawbacks of the syntax
13:28:00 <wib_jonas> ais523: is `<ObjectType as Trait>::method(trait, args)` a typo for `<ObjectType as Trait>::method(object, args)`, and can't you just write `Trait::method(object, args)` most of the time if the typechecker can determine ObjectType?
13:31:25 <ais523> yes, and possibly yes
13:31:36 <ais523> I have very weird trait disambiguation problems
13:34:30 <ais523> I guess that if the object conforms to the same trait twice in two different ways, you could still probably write Trait::<T>::method(object, args)?
13:35:08 <ais523> (it probably says something about me that I even know that syntax exists)
13:35:16 <ais523> two-ended turbofish?
13:38:33 <esolangs> [[Special:Log/newusers]] create * Windowsbuild3r * New user account
13:38:57 <esolangs> [[Collab]] https://esolangs.org/w/index.php?diff=137055&oldid=136964 * Qawtykit * (+748) fixed duplicate command, and added more commands and added examples
13:41:22 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137056&oldid=136568 * Yayimhere * (+9)
13:44:32 <esolangs> [[Collab]] M https://esolangs.org/w/index.php?diff=137057&oldid=137055 * Qawtykit * (+0) changed category
13:46:44 <esolangs> [[Anything]] https://esolangs.org/w/index.php?diff=137058&oldid=135204 * Qawtykit * (+20)
13:48:16 <esolangs> [[Anything]] https://esolangs.org/w/index.php?diff=137059&oldid=137058 * Qawtykit * (+726)
13:48:22 -!- tromp has joined.
13:59:30 -!- dawids has quit (Quit: Leaving).
14:05:37 <wib_jonas> I believe rust just doesn't allow an object to conform to the same trait twice (as in with two different impl blocks), and the rules for where you can put impl blocks imply the compiler will always detect when such an error could happen between any two impls, even if you never try to use a type with a trait where this would come up. If you do want
14:05:38 <wib_jonas> something like that then you usually have to wrap your object in a newtype and let one of the impl match that, eg. this is what you do when you have two orderings for a structure, you impl Ord for it as one of the orderings, and impl Ord for a newtype wrapper for the other ordering.
14:08:31 <wib_jonas> Something like this though not quite the same actually came up in my polyform program: eventually I need two different orderings for the polyforms, a simple one that I use internally to be able to filter out equal polyforms and leave only unique ones, and a second one that determines the order of the lists of smaller polyforms that I emit. I
14:08:32 <wib_jonas> haven't yet implemented the latter, and I'm not sure what the best order is, but I will eventually implement it.
14:20:55 <esolangs> [[Anything]] https://esolangs.org/w/index.php?diff=137060&oldid=137059 * Unname4798 * (-1040) clear tests
14:29:08 <wib_jonas> oh wait, do you mean you have a trait with extra generic parameters, like i32::from(0i8) and i32::from(0u8)? I think you would disambig those as <i32 as From<i8>>::from(0i8) and <i32 as From<u8>>::from(0u8)
14:30:53 <ais523> yes, same trait but different generics
14:31:04 <wib_jonas> but I guess you could also write { let r: i32 = From::<u8>::from(0i8); r }, or std::convert::identity::<i32>(From::<u8>::from(0i8), or 0i32 + From::<u8>::from(0i8)
14:31:28 <ais523> today I tried writing a trait that the same type could conform to multiple times with different *lifetime* generics, it didn't go very well
14:31:41 <wib_jonas> you need the i32 type somewhere because it would be ambiguous
14:32:03 <wib_jonas> I'm not even sure the addition is enough
14:32:04 <ais523> <wib_jonas> Something like this though not quite the same actually came up in my polyform program: eventually I need two different orderings for the polyforms, a simple one that I use internally to be able to filter out equal polyforms and leave only unique ones, and a second one that determines the order of the lists of smaller polyforms that I emit. ← in general Rust is bad at handling that sort of "I want to implement a standard trait in two different
14:32:06 <ais523> ways"
14:32:32 <ais523> newtype wrwappers often don't work because you need to take references, but the references need to be both outside and inside the wrapper
14:32:47 <ais523> there are a couple of potential ways to fix this, but both would need new language features I think
14:33:16 <ais523> I have something like four blog posts I want to write about improvements to Rust, but that one is far back in the pipeline because I haven't figured out the details yet
14:34:03 <ais523> (being able to safely transmute &/&mut T into &/&mut Wrapper(T) where Wrapper is #[repr(transparent)] and has exactly one field, which is public, would help, though – and I *think* it would be sound to implement but am not completely sure)
14:36:48 <wib_jonas> I don't understand, what do you mean by "the references need to be both outside and inside the warpper"?
14:37:46 <wib_jonas> ah, you want to be able to fmap a reference or slice or vector through the newtype wrapper or its inverse
14:38:38 <ais523> right – generic APIs tend to put the references in the wrong place
14:39:18 <wib_jonas> At the very least that should be allowed only if you have access to the name of that one field from the scope where you do the conversion
14:40:10 <wib_jonas> because the field could be private if a mod wants to ensure that the newtype always satisfies an invariant, or if it doesn't want you to access the field
14:40:31 <ais523> yes, I mentioned public field for a reason
14:40:49 <wib_jonas> I see
14:40:52 <ais523> it's clearly unsafe if the field isn't public and belongs to someone else
14:41:13 <ais523> (I am not sure if it's unsafe if the field isn't public but you can access it anyway – probably not?)
14:41:18 <wib_jonas> well I'm not sure if this should be allowed or not
14:42:04 <ais523> IIRC there's some sort of "safe transmute project" but I'm not sure if they care about this, or if it's more about the "reinterpret an &[u8] as an object" sort of transmute
14:45:08 <wib_jonas> especially transmuting a mut reference this way makes me a bit uneasy. Rust does allow transmuting for one-element arrays and slices, but slices are special so that doesn't mean this should be allowed for other newtypes
14:48:58 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137061&oldid=137056 * Yayimhere * (+68)
14:50:19 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137062&oldid=137061 * Yayimhere * (+74)
14:51:02 <wib_jonas> honestly I'm kind of surprised that rust traits can have generic type parameters and associated type parameters but not arbitrary fundeps between Self and the generic type parameters (yet).
14:51:23 <wib_jonas> but maybe it would just be harder to implement in the typechecker
14:57:00 <ais523> afk for a while
15:29:33 <esolangs> [[User talk:/w/wiki/index.php/Talk:index.php/Main page]] https://esolangs.org/w/index.php?diff=137063&oldid=136893 * BrightBlackHole * (+672) this page is beautiful
15:33:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:43:42 -!- bookworms has joined.
15:45:09 -!- craigo_ has quit (Remote host closed the connection).
15:53:29 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137064&oldid=137062 * Yayimhere * (+753) /* syntax */
16:04:56 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137065&oldid=137064 * Yayimhere * (+248)
16:07:20 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137066&oldid=137065 * Yayimhere * (-21)
16:07:34 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137067&oldid=137066 * Yayimhere * (+1) /* macros */
16:09:29 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137068&oldid=137067 * Yayimhere * (+77)
16:12:16 -!- tromp has joined.
16:14:21 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137069&oldid=137068 * Yayimhere * (+154)
16:14:54 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137070&oldid=137069 * Yayimhere * (+0) /* example */
16:15:39 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137071&oldid=137070 * Yayimhere * (+27) /* example */
16:19:09 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137072&oldid=137071 * Yayimhere * (+99) /* example */
16:19:47 -!- X-Scale has joined.
16:22:40 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137073&oldid=137072 * Yayimhere * (+136) /* computational class */
16:23:59 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137074&oldid=137073 * Yayimhere * (+78) /* syntax */
16:24:02 -!- wib_jonas has quit (Quit: Client closed).
16:25:38 <esolangs> [[A Question of Protocol]] https://esolangs.org/w/index.php?diff=137075&oldid=137074 * Yayimhere * (+39) /* syntax */
16:27:17 <esolangs> [[401]] M https://esolangs.org/w/index.php?diff=137076&oldid=136729 * PythonshellDebugwindow * (+127) Categories
16:36:20 <esolangs> [[Combined() Task() Force()]] M https://esolangs.org/w/index.php?diff=137077&oldid=137036 * PythonshellDebugwindow * (+47) Categories
16:36:51 <esolangs> [[Combined() Task() Force()]] M https://esolangs.org/w/index.php?diff=137078&oldid=137077 * PythonshellDebugwindow * (+9) Nowiki
16:37:17 -!- X-Scale has quit (Ping timeout: 256 seconds).
16:54:44 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:09:26 <ais523> back
17:09:50 -!- tromp has joined.
17:14:12 <bookworms> front
18:03:08 -!- mtm has quit (Read error: Connection reset by peer).
18:03:51 -!- mtm has joined.
18:29:18 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:38:47 -!- tromp has joined.
18:43:48 <esolangs> [[Talk:4ME]] https://esolangs.org/w/index.php?diff=137079&oldid=137040 * Ractangle * (+33)
18:44:04 <esolangs> [[Talk:4ME]] https://esolangs.org/w/index.php?diff=137080&oldid=137079 * Ractangle * (+120)
18:46:27 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=137081&oldid=136960 * Ractangle * (+58)
19:02:16 <esolangs> [[Larry]] https://esolangs.org/w/index.php?diff=137082&oldid=136973 * ArsenicCatnip * (+1379) added a paste section. Changed a word in the copy section for clarity.
19:24:57 <esolangs> [[Larry]] https://esolangs.org/w/index.php?diff=137083&oldid=137082 * ArsenicCatnip * (+1472) added a peripheral section, and moved it above each of the instruction descriptions
19:26:48 <esolangs> [[Special:Log/move]] move * Ractangle * moved [[Waretel BASIC]] to [[Yayimhere like esolang]]
19:26:57 <esolangs> [[Special:Log/move]] move * Ractangle * moved [[Yayimhere like esolang]] to [[Yayimhere-like esolang]]
19:30:04 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137088&oldid=137086 * Ractangle * (-678)
19:34:18 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137089&oldid=137088 * Ractangle * (+49)
19:35:42 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137090&oldid=137089 * Ractangle * (-8)
19:38:07 <esolangs> [[User:Zzo38/Untitled 5]] N https://esolangs.org/w/index.php?oldid=137091 * Zzo38 * (+2628) Created page with "The program essentially consists of a set of rules and an input. Each rule has a "old" part, a "new" part, and a "add" part. Each of these parts, and the input, consists of a sequence of characters. == Rules == The set of rules (after all implied rules are
19:40:31 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137092&oldid=137090 * Ractangle * (+29) /* Syntax */
19:51:35 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137093&oldid=137092 * Ractangle * (+100)
19:53:32 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137094&oldid=137093 * Ractangle * (+50) /* stack management */
19:58:03 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137095&oldid=137094 * Ractangle * (+60)
20:01:12 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137096&oldid=137095 * Ractangle * (+56) /* stack management */
20:13:51 <esolangs> [[Larry]] https://esolangs.org/w/index.php?diff=137097&oldid=137083 * ArsenicCatnip * (+3244) Added a cut section.
20:29:34 <esolangs> [[Special:Log/upload]] revert * Tommyaweosme * uploaded a new version of "[[File:Tommy aweosme.png]]": uniform background just makes this whole thing pointless
20:38:29 -!- molson has joined.
20:39:31 <esolangs> [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=137099&oldid=135089 * Ais523 * (+1807) /* File:Tommy aweosme.png */ new section
20:40:32 -!- moony7 has joined.
20:42:15 -!- moony has quit (Ping timeout: 252 seconds).
20:42:15 -!- moony7 has changed nick to moony.
20:45:24 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137100&oldid=137096 * Ractangle * (+27) /* syntax */
20:45:39 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137101&oldid=137100 * Ractangle * (+1) /* syntax */
20:45:44 <esolangs> [[Tommyaweosme unary]] N https://esolangs.org/w/index.php?oldid=137102 * Tommyaweosme * (+208) Created page with "{{lowercase}}tommyaweosme unary (or just tommyaweosme) is like [[unary]] but it uses repitions of the image below: [[File:Tommy_aweosme.png]] [[Category:Joke languages]][[Category:Concepts]][[Category:2024]]"
20:45:54 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137103&oldid=137101 * Ractangle * (+3) /* examples */
20:46:50 <esolangs> [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=137104&oldid=137099 * Tommyaweosme * (+272)
20:48:51 <esolangs> [[Tommyaweosme unary]] https://esolangs.org/w/index.php?diff=137105&oldid=137102 * Tommyaweosme * (+124)
20:49:46 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137106&oldid=137103 * Ractangle * (+30) /* stack management */
20:58:55 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:59:14 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137107&oldid=137106 * Ractangle * (+67) /* syntax */
21:06:44 <esolangs> [[Yayimhere-like esolang]] https://esolangs.org/w/index.php?diff=137108&oldid=137107 * Ractangle * (+31) /* Conditionals */
21:07:59 -!- tromp has joined.
21:35:02 <ais523> I hate that these repeated attempts to skirt the edges of the rules are beginning to potentially create something that could be defined as art (despite not necessarily tessellating into a rectangle) and thus might in some sense be valid esolangs?
21:38:23 <esolangs> [[User talk:MihaiEso]] https://esolangs.org/w/index.php?diff=137109&oldid=137041 * Tommyaweosme * (+32) /* bring back the old sandbox war */
21:38:34 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:39:59 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=137110&oldid=137046 * Tommyaweosme * (+20) /* D */
21:57:14 -!- X-Scale has joined.
22:00:59 -!- X-Scale has quit (Client Quit).
22:16:07 -!- __monty__ has quit (Quit: leaving).
22:59:17 -!- Sgeo has joined.
23:26:15 -!- ais523 has quit (Quit: quit).
←2024-08-27 2024-08-28 2024-08-29→ ↑2024 ↑all