←2024-09-09 2024-09-10 2024-09-11→ ↑2024 ↑all
00:02:59 -!- mtm has quit (Ping timeout: 260 seconds).
00:05:44 -!- mtm has joined.
00:34:26 -!- 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:35:48 -!- Argorok has quit (Ping timeout: 245 seconds).
00:38:25 -!- Argorok has joined.
00:39:08 -!- dnm has quit (Ping timeout: 245 seconds).
00:42:13 -!- dnm has joined.
01:11:33 <esolangs> [[User talk:Guy Fawkes Rep]] https://esolangs.org/w/index.php?diff=138656&oldid=90556 * Tommyaweosme * (+408)
01:32:00 <esolangs> [[User talk:Guy Fawkes Rep]] https://esolangs.org/w/index.php?diff=138657&oldid=138656 * Ais523 * (-408) Undo revision [[Special:Diff/138656|138656]] by [[Special:Contributions/Tommyaweosme|Tommyaweosme]] ([[User talk:Tommyaweosme|talk]]) offtopic, and trying to communciate with banned users is potentially directly counterproductive
01:33:02 <esolangs> [[Special:Log/delete]] revision * Ais523 * Ais523 changed visibility of a revision on page [[User talk:Guy Fawkes Rep]]: content hidden: safety concerns wrt trying to contact a banned user offwiki
01:36:02 <esolangs> [[Blip]] M https://esolangs.org/w/index.php?diff=138658&oldid=129298 * Ais523 * (+0) fix formatting apparently that template combination is broken if they're written in the wrong order
01:37:42 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[User talk:Guy Fawkes Rep]]": old-fashioned revision delete
01:38:28 <esolangs> [[Special:Log/delete]] restore * Ais523 * undeleted "[[User talk:Guy Fawkes Rep]]": restoring revisions prior to the ones that needed to be deleted
01:39:28 <esolangs> [[Special:Log/protect]] protect * Ais523 * protected "[[User talk:Guy Fawkes Rep [edit=sysop] (indefinite)[move=sysop] (indefinite)]]": talk page of banned user, currently being misused
01:54:58 -!- wryl has quit (Ping timeout: 245 seconds).
01:58:11 -!- wryl has joined.
02:22:28 -!- pikhq has quit (Ping timeout: 245 seconds).
02:26:22 -!- pikhq has joined.
02:46:30 -!- craigo has joined.
03:03:18 -!- yuu has quit (Ping timeout: 245 seconds).
03:06:29 -!- yuu has joined.
03:30:10 -!- Lord_of_Life_ has joined.
03:30:33 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
03:31:35 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:53:03 <korvo> Sgeo: Biological metaphors might help. Kay was fascinated by what's known as the "central dogma" of genetics: a strand of DNA is encoded instructions to a certain kind of protein.
03:53:48 <korvo> It turns out that there's more than one encoding and also that DNA isn't the only encoding medium. I imagine Kay was thinking of the same sort of change-of-encoding situation.
05:27:57 <esolangs> [[Special:Log/move]] move_redir * Unname4798 * moved [[Gd auto level]] to [[GD auto level]] over redirect: Correct captalisation
05:27:57 <esolangs> [[Special:Log/delete]] delete_redir * Unname4798 * Unname4798 deleted redirect [[GD auto level]] by overwriting: Deleted to make way for move from "[[Gd auto level]]"
05:30:02 -!- Sgeo has quit (Read error: Connection reset by peer).
05:32:18 <esolangs> [[GD auto level]] M https://esolangs.org/w/index.php?diff=138662&oldid=138660 * Unname4798 * (+0) correct captalisation, punctuatiom
05:47:56 -!- tromp has joined.
05:58:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
06:00:48 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138663&oldid=138647 * Ractangle * (-9)
06:32:46 <esolangs> [[Kava]] https://esolangs.org/w/index.php?diff=138664&oldid=138036 * Ractangle * (+1) /* Truth-machine */
06:36:33 -!- X-Scale has quit (Quit: Client closed).
06:42:56 -!- X-Scale has joined.
07:00:53 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138665&oldid=138663 * Ractangle * (-2) /* Truth-machine */
07:01:25 <esolangs> [[Truth-machine]] https://esolangs.org/w/index.php?diff=138666&oldid=138648 * Ractangle * (-2) /* How dare you fuck the brain */
07:06:17 -!- tromp has joined.
07:07:28 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138667&oldid=138665 * Ractangle * (+31) /* Examples */
07:11:10 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138668&oldid=138667 * Ractangle * (+21) /* Disan Count */
07:13:38 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138669&oldid=138644 * Ractangle * (+8) /* C */
07:18:14 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138670&oldid=138669 * Ractangle * (+150) /* C/C++ */
07:19:11 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138671&oldid=138670 * Ractangle * (+32) /* C# */
08:42:01 -!- X-Scale has quit (Quit: Client closed).
08:57:46 -!- wib_jonas has joined.
08:59:10 <wib_jonas> HTML question. Do browsers these days have some built-in CSS stuff to make the column widths of a table resizable by the user, such as by dragging the borders in the header row, or is this only available as client-side scripts?
09:02:02 <wib_jonas> hmm, there's a CSS property called resize. I'll have to test that.
09:23:55 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:38:21 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=138672&oldid=138621 * B4k3d * (+262)
09:40:10 <esolangs> [[User talk:B4K3D]] N https://esolangs.org/w/index.php?oldid=138673 * B4k3d * (+39) Created page with "Hi can't wait to sumbit my eso-slang ;D"
09:45:04 <esolangs> [[User:B4k3d]] N https://esolangs.org/w/index.php?oldid=138674 * B4k3d * (+112) Created page with "> Refining syntax > formal specification > custom interpreter or compiler for programs > will provide examples"
09:52:40 -!- tromp has joined.
10:00:12 -!- __monty__ has joined.
10:01:49 <esolangs> [[Special:Log/move]] move * Unname4798 * moved [[GD auto level]] to [[GD Auto level]]
10:02:12 <esolangs> [[Gd auto level]] https://esolangs.org/w/index.php?diff=138677&oldid=138661 * Unname4798 * (+0) fix double redirect
10:26:44 -!- m5zs7k has quit (Quit: m5zs7k).
10:27:08 -!- m5zs7k has joined.
10:58:08 <esolangs> [[User:B4K3D]] N https://esolangs.org/w/index.php?oldid=138678 * B4k3d * (+2) Created page with "hi"
11:06:18 -!- X-Scale has joined.
11:13:33 -!- X-Scale has quit (Ping timeout: 256 seconds).
11:22:20 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:24:47 -!- tromp has joined.
11:37:11 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=138679&oldid=131181 * None1 * (+159)
11:38:41 <esolangs> [[Special:Log/move]] move * None1 * moved [[Project Euler]] to [[Project Euler (language)]]: Move project euler language to another page so that project euler problems can have its page properly
11:38:41 <esolangs> [[Special:Log/move]] move * None1 * moved [[Talk:Project Euler/1]] to [[Talk:Project Euler (language)/1]]: Move project euler language to another page so that project euler problems can have its page properly
11:41:29 <esolangs> [[Special:Log/move]] move_redir * None1 * moved [[Talk:Project Euler (language)/1]] to [[Talk:Project Euler/1]] over redirect: Move accidentally moved page back
11:41:29 <esolangs> [[Special:Log/delete]] delete_redir * None1 * None1 deleted redirect [[Talk:Project Euler/1]] by overwriting: Deleted to make way for move from "[[Talk:Project Euler (language)/1]]"
11:42:11 <esolangs> [[Project Euler]] M https://esolangs.org/w/index.php?diff=138686&oldid=138681 * None1 * (-7) Changed redirect target from [[Project Euler (language)]] to [[User:ProjectEuler]]
11:43:04 <esolangs> [[Scratch]] N https://esolangs.org/w/index.php?oldid=138687 * None1 * (+26) Redirected page to [[User:Scratch]]
11:43:56 <esolangs> [[Talk:Project Euler (language)/1]] M https://esolangs.org/w/index.php?diff=138688&oldid=138685 * None1 * (-34) Blanked the page
11:45:36 <esolangs> [[User:ProjectEuler]] https://esolangs.org/w/index.php?diff=138689&oldid=125477 * None1 * (+75)
11:46:55 <esolangs> [[User:None1/InDev]] M https://esolangs.org/w/index.php?diff=138690&oldid=138679 * None1 * (+26)
11:47:55 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=138691&oldid=138690 * None1 * (+86)
11:55:27 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=138692&oldid=138691 * None1 * (+501)
11:56:18 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=138693&oldid=138692 * None1 * (+20) /* Parts of a pinyin */
12:04:00 -!- mtm has quit (Ping timeout: 246 seconds).
12:06:58 -!- mtm has joined.
12:12:29 <esolangs> [[User:None1/InDev]] https://esolangs.org/w/index.php?diff=138694&oldid=138693 * None1 * (+681) /* Parts of a pinyin */
12:19:12 -!- amby has joined.
12:23:05 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:26:57 -!- tromp has joined.
12:52:32 -!- wWwwW has joined.
13:11:15 -!- SGautam has joined.
13:16:20 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138695&oldid=138671 * None1 * (+59) /* C/C++ */
13:18:22 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138696&oldid=138695 * None1 * (+64) /* C# */ C# has document comments (I think they are almost useless anyway)
13:21:08 <esolangs> [[Comment]] M https://esolangs.org/w/index.php?diff=138697&oldid=138696 * None1 * (+13) /* /// */
13:24:45 <esolangs> [[Expansion]] M https://esolangs.org/w/index.php?diff=138698&oldid=123856 * None1 * (-7) /* A+B Problem */ Formatting does not work in pre
13:25:10 <esolangs> [[Comment]] M https://esolangs.org/w/index.php?diff=138699&oldid=138697 * None1 * (+119) /* /// */
14:01:49 -!- lisbeths has joined.
14:12:30 <esolangs> [[BIO]] https://esolangs.org/w/index.php?diff=138700&oldid=85448 * Yayimhere * (-13) if there is a non userpage it should be linked to
14:14:55 <esolangs> [[GD Auto level]] https://esolangs.org/w/index.php?diff=138701&oldid=138675 * Tommyaweosme * (+0) stop it now unname4798
14:15:54 <esolangs> [[Gd auto level]] https://esolangs.org/w/index.php?diff=138702&oldid=138677 * Tommyaweosme * (-27) Blanked the page
14:18:00 <esolangs> [[GD Auto level]] https://esolangs.org/w/index.php?diff=138703&oldid=138701 * Tommyaweosme * (-1131) Replaced content with "{{Lowercase}} im sorry, you must mean [[gd auto level|this]]"
14:18:11 <esolangs> [[Gd auto level]] https://esolangs.org/w/index.php?diff=138704&oldid=138702 * Tommyaweosme * (+1191)
14:21:34 <esolangs> [[Talk:Scratch is dumb]] https://esolangs.org/w/index.php?diff=138705&oldid=138611 * Xyzzy * (+405)
14:22:36 <esolangs> [[Talk:Ting Vit]] https://esolangs.org/w/index.php?diff=138706&oldid=138592 * Xyzzy * (+152)
14:25:06 <esolangs> [[Talk:5iasm]] https://esolangs.org/w/index.php?diff=138707&oldid=137331 * Xyzzy * (+133)
14:25:21 <esolangs> [[Akdrfsbathnede knem]] https://esolangs.org/w/index.php?diff=138708&oldid=135677 * Qawtykit * (+42)
14:26:29 <esolangs> [[Talk:ETA]] N https://esolangs.org/w/index.php?oldid=138709 * Xyzzy * (+166) Created page with "suprised no one has talked yet --~~~~ - the person behind the instruction table on this page"
14:26:50 <esolangs> [[Talk:5iasm]] https://esolangs.org/w/index.php?diff=138710&oldid=138707 * Yayimhere * (+136)
14:28:16 -!- FreeFull has quit.
14:28:31 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=138711&oldid=136214 * Xyzzy * (+78)
14:39:53 <esolangs> [[Main Page]] https://esolangs.org/w/index.php?diff=138712&oldid=138711 * PkmnQ * (-78) Answer: Both links were removed on July 3, 2024
14:45:13 -!- gkgoat1 has quit (Quit: Client closed).
14:45:19 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138713&oldid=138668 * Xyzzy * (+882)
14:45:45 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138714&oldid=138713 * Xyzzy * (+19)
14:45:52 <esolangs> [[Akdrfsbathnede knem]] https://esolangs.org/w/index.php?diff=138715&oldid=138708 * Qawtykit * (+2)
14:46:18 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138716&oldid=138714 * Xyzzy * (+22)
14:46:38 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138717&oldid=138716 * Xyzzy * (-2)
14:50:57 <wWwwW> i had an idea to make a esolang based on turnabelism
14:54:04 <korvo> Sure. Have you seen the various notations that have been invented in the past couple decades?
14:54:43 <wWwwW> its a pretty weird idea
14:55:25 <wWwwW> you have too tapes or whatever
14:55:31 <wWwwW> with looping marks n' stuff
14:55:58 <wWwwW> and recors onto another tape
14:59:40 <wWwwW> and if there becomes an over record(so we dont stop in time) we will rterecord
14:59:42 <wWwwW> that my idea
15:05:11 <wWwwW> korvo now
15:05:19 <wWwwW> *no
15:07:52 <korvo> wWwwW: One notation is DJ Radar's notation; I gather that it's used to teach at Berklee but can't find any details online.
15:07:58 <korvo> Another is S-notation: https://www.tenor-conference.org/proceedings/2016/07_Sonnenfeld_tenor2016.pdf
15:09:11 <wWwwW> i would like to make mi own(cuz i hate myself) but oh well
15:09:52 -!- FreeFull has joined.
15:10:46 <korvo> wWwwW: Well, what's the goal?
15:11:59 <korvo> It might surprise you to learn that many of us have specific aims when creating new languages. For example, I do PLT research and I call some projects "esoteric" so that I don't have to argue about what's "practical" or "marketable".
15:12:33 <korvo> Several folks are working on fundamentals of computability theory. Some folks want to make languages that are difficult to use. Some folks are making art.
15:12:40 <wWwwW> my goal is to have something to do cuz im always bored cuz im a loner:(
15:12:56 <wWwwW> my goal is to keep myself sane ig:)
15:12:58 <sprout> this is the way
15:13:12 <wWwwW> lol
15:13:26 <korvo> Oh! Try Touhou. You will not be bored but you might lose some sanity.
15:14:00 <wWwwW> oh no im not a gamer
15:14:08 <wWwwW> also i cant play it cuz i use old puter
15:14:09 <korvo> There's nothing wrong with recreational conlangs, but keep in mind that languages are for *communicating*. It might not be the best solo activity.
15:14:41 <wWwwW> for me no
15:14:46 <wWwwW> for me esolangs are
15:14:51 <wWwwW> to experiment
15:14:56 <wWwwW> do special stuff
15:14:59 <wWwwW> do new stuff
15:15:38 <wWwwW> but non esolang's are like that yea
15:17:40 <korvo> No worries. As long as you're having fun and following community guidelines, we invite folks to make art and experiment.
15:17:54 <wWwwW> k
15:17:55 <wWwwW> thx
15:19:57 * sprout idly wonders what a recreational conlang is
15:35:02 <wWwwW> anyway is my esolang idea good korvo
15:35:09 <wWwwW> and can i get some help
15:36:01 <korvo> wWwwW: That's why I asked what your goal is.
15:36:15 <wWwwW> oh
15:36:39 <wWwwW> well now you know ig:)
15:38:25 <sprout> I don't see why an esolang would need a goal?
15:39:10 <wWwwW> idk
16:04:39 <sprout> wWwwW: my only advice is to start with something tiny
16:04:51 <wWwwW> ok
16:05:20 <sprout> since it probably won't be used by anyone it's usually not worth the effort to invest a lot of time into a language
16:06:28 <wWwwW> idc
16:06:36 <wWwwW> time doest matter to me lol
16:38:29 <esolangs> [[How dare you fuck the brain]] M https://esolangs.org/w/index.php?diff=138718&oldid=138717 * PythonshellDebugwindow * (-2) /* Erase data in a cell */ Header, formatting
16:44:09 <wWwwW> what would happen ona computer if you fr just adeed two things that are underfined together?
16:44:12 <wWwwW> like just did that
16:44:16 <wWwwW> with no care in the world
16:44:24 <wWwwW> WHAT WOULD HAPPEN?
16:49:36 <sprout> ask chatgpt
16:49:49 <wWwwW> gud idea lol
16:49:51 <korvo> How do you have something undefined on a computer?
16:50:18 <wWwwW> like lets say python where you do a + b but none of them are defined??
16:50:25 <wWwwW> BUT YOU JUST LET IT HAPPEN
16:50:28 <wWwwW> sor for caps
16:50:36 <wWwwW> without gigving an error?
16:50:38 <wWwwW> *giving
16:54:20 -!- wib_jonas has quit (Quit: Client closed).
17:12:33 <wWwwW> asked chatgpt
17:12:36 <wWwwW> no gud answer
17:12:56 <int-e> what a twist
17:13:30 <wWwwW> lol
17:18:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:24:55 <wWwwW> im so bored idk what to do
17:32:34 -!- tromp has joined.
17:39:37 -!- SGautam has quit (Quit: Connection closed for inactivity).
17:54:00 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138719&oldid=138718 * Ractangle * (-102) /* Interpreter */
17:55:04 <korvo> wWwwW: It might be hard to think about, but technically a CPU never has undefined behavior. Similarly, every Python name refers to some object, and Python's VM defines their interactions.
17:55:21 <wWwwW> interesting
17:55:30 <wWwwW> so what would happen
17:55:35 <wWwwW> wouæd i just get garbage?
17:55:46 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138720&oldid=138719 * Ractangle * (+17) /* Syntax */
17:56:19 <korvo> wWwwW: I'm asking you how the situation arises in the first place.
17:59:54 <wWwwW> well i said. but now when you say that
18:00:00 <wWwwW> it wouldnt be undefined
18:00:44 <korvo> In Python, it's not possible to get into this situation without manually writing bytecode. The VM will LOAD_FAST both `a` and `b`, then BINARY_OP them with `+`.
18:01:08 <wWwwW> oh
18:01:09 <wWwwW> kk
18:01:17 <korvo> The typical CPU can't really do this either. If you ask it to ADD two registers, then it'll do that regardless of whether you put values into those registers.
18:02:06 <korvo> When folks say that a behavior is undefined, they are usually being *epistemic*, not *ontic*. They're talking about *what we know* about the CPU, not *what it actually does*.
18:03:14 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138721&oldid=138699 * Ractangle * (+55) /* Languages with halting instructions/infinite loops */
18:05:05 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138722&oldid=138721 * Ractangle * (+35) /* ////Thue/Expansion */
18:07:05 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138723&oldid=138722 * Ractangle * (+9) /* ////Thue/Expansion/A=B */
18:07:19 <wWwwW> well
18:07:22 <wWwwW> i have an answer
18:08:37 <wWwwW> and another question
18:08:39 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138724&oldid=138723 * Ractangle * (+17) /* Languages with halting instructions/infinite loops */
18:10:25 <wWwwW> and that is what if you just let the CPU do whatever
18:12:07 <zzo38> I think some instructions in 6502 are unstable, although this is different from the undefined behaviour in programming languages such as C.
18:17:22 <esolangs> [[Comment]] https://esolangs.org/w/index.php?diff=138725&oldid=138724 * Ractangle * (+161) /* ////Thue/Expansion/A=B */
18:19:00 <korvo> wWwwW: Then you get what we call a "weird machine": https://en.wikipedia.org/wiki/Weird_machine
18:19:19 <korvo> Even here, though, we see that the CPU tends to enter stable "weird states" which are programmable with "weird instructions".
18:19:48 <wWwwW> oooo
18:20:02 <wWwwW> i would like to see a esolang like dis
18:20:42 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138726&oldid=138720 * Ractangle * (+66)
18:21:57 <wWwwW> imma make a weirdmachie rn
18:22:01 <wWwwW> idk how
18:22:03 <wWwwW> but i will
18:26:13 <wWwwW> plz help
18:26:24 <wWwwW> how would you do it?
18:28:26 -!- craigo has quit (Remote host closed the connection).
18:29:41 -!- wWwwW83 has joined.
18:33:17 -!- wWwwW has quit (Ping timeout: 256 seconds).
18:34:52 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138727&oldid=138726 * Ractangle * (+34) /* Interpreter */
18:35:11 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138728&oldid=138727 * Ractangle * (+8) /* Interpreter */
18:36:19 <esolangs> [[Talk:Triforce]] N https://esolangs.org/w/index.php?oldid=138729 * Yayimhere * (+124) Created page with "a space is not a triangle(lol) -x-~~~~"
18:42:42 <korvo> wWwwW83: Weird machines usually arise from security vulnerabilities. To start building an understanding, maybe look up heap-spraying attacks in Web browsers: https://en.wikipedia.org/wiki/Heap_spraying
18:43:05 <wWwwW83> im not trying to hack lol
18:43:19 <korvo> The instructions normally would be interpreted as allocating objects in a loop. But they are actually weird instructions for confusing the underlying garbage collector.
18:44:50 <wWwwW83> wouldnt that be [-] for currentm cell in bf(lol?)
18:44:53 <wWwwW83> sounds like it
18:44:55 <wWwwW83> but idk
18:46:53 <wWwwW83> wait
18:47:07 <wWwwW83> i think ive made one
18:47:08 <wWwwW83> idk
18:53:15 <wWwwW83> i did it it think
18:53:17 <wWwwW83> less gooo
18:59:24 -!- wWwwW83 has quit (Quit: Client closed).
19:10:52 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138730&oldid=138728 * Ractangle * (+229) /* Examples */
19:11:02 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138731&oldid=138730 * Ractangle * (+1) /* Hello, world! */
19:11:08 -!- lisbeths has quit (Quit: Connection closed for inactivity).
19:12:57 <esolangs> [[Hello world program in esoteric languages (H-M)]] https://esolangs.org/w/index.php?diff=138732&oldid=136081 * Ractangle * (+242) /* Homespring */
19:18:52 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138733&oldid=138731 * Ractangle * (+114) /* Examples */
19:19:01 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138734&oldid=138733 * Ractangle * (+1) /* =Move data from a cell to an another cell */
19:19:10 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:23:18 -!- tromp has joined.
19:50:42 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138735&oldid=138734 * Ractangle * (+75) /* Truth-machine */
19:54:07 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138736&oldid=138735 * Ractangle * (+1) /* Hello, world! */
19:54:13 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138737&oldid=138736 * Ractangle * (+1) /* Hello, world! */
19:54:30 <esolangs> [[How dare you fuck the brain]] https://esolangs.org/w/index.php?diff=138738&oldid=138737 * Ractangle * (-1) /* Hello, world! */
19:56:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:57:24 -!- tromp has joined.
20:29:45 <esolangs> [['interbasic]] https://esolangs.org/w/index.php?diff=138739&oldid=136454 * Ractangle * (-3) /* Truth-machine */
20:32:00 <esolangs> [[FlipFlop]] https://esolangs.org/w/index.php?diff=138740&oldid=135022 * Ractangle * (-8)
20:33:16 <esolangs> [[FlipFlop]] https://esolangs.org/w/index.php?diff=138741&oldid=138740 * Ractangle * (+1)
20:34:17 <esolangs> [[Old Branjunk]] https://esolangs.org/w/index.php?diff=138742&oldid=137710 * Ractangle * (-1) /* Syntax */
21:16:52 -!- __monty__ has quit (Quit: leaving).
21:23:03 -!- X-Scale has joined.
21:25:18 <esolangs> [[Special:Log/move]] move * Ais523 * moved [[GD Auto level]] to [[Gd auto level]]: history merge to revert pagemove vandalism
21:25:18 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Gd auto level]]": Deleted to make way for move from "[[GD Auto level]]"
21:25:33 <esolangs> [[Special:Log/delete]] restore * Ais523 * undeleted "[[Gd auto level]]": history merge
21:25:58 <esolangs> [[Gd auto level]] https://esolangs.org/w/index.php?diff=138744&oldid=138743 * Ais523 * (+1131) set top revision after history merge
21:26:41 <esolangs> [[Special:Log/protect]] protect * Ais523 * protected "[[Gd auto level [move=sysop] (indefinite)]]": move warring lock this at the name the creator of the language chose
21:27:14 <esolangs> [[GD auto level]] https://esolangs.org/w/index.php?diff=138746&oldid=138676 * Ais523 * (+0) fix double redirect after move war
21:30:04 <esolangs> [[User talk:Tommyaweosme]] https://esolangs.org/w/index.php?diff=138747&oldid=138563 * Ais523 * (+654) /* gd auto level */ new section
21:38:18 <esolangs> [[User talk:Unname4798]] https://esolangs.org/w/index.php?diff=138748&oldid=138277 * Ais523 * (+1107) warning for move warring, and a reminder about what changes are acceptable to pages about esolangs other people created
21:39:06 -!- amby has quit (Read error: Connection reset by peer).
21:39:23 -!- amby has joined.
21:40:45 -!- ais523 has joined.
21:42:02 <ais523> <korvo> wWwwW: It might be hard to think about, but technically a CPU never has undefined behavior. ← I'm not convinced I agree – many CPUs have instructions documented as having behaviour that isn't defined in all circumstances, and in some cases (e.g. the 6502) the behaviour is not consistent in practice either
21:43:46 <ais523> although there are also cases where the behaviour is documented as undefined, but is in fact 100% consistent, and the manufacturer has kept it consistent for compatibility reasons even though it would be more efficient to change it
21:44:20 <ais523> e.g. on x86/x86-64, BSF on a register holds 0 (documented as undefined by Intel, and as leaving the register unchanged by AMD – Intel's behaviour in practice is the same as AMD's)
21:44:49 -!- X-Scale has quit (Ping timeout: 256 seconds).
21:44:51 <ais523> but there are plenty of cases where the behaviour depends on analog effects, and those in turn can depend on noise
21:46:43 <ais523> also I think most CPUs can't get into a state where a register doesn't have a value – but it's quite common to get "open bus" behaviour when older CPUs attempt to read a memory address that doesn't correspond to physical memory
21:47:44 <ais523> which typically returns some value that was recently read or written using the same wires, or some default value if they weren't recently used, but in between you get a mix and the length of time it takes to go from one state to the other varies based on analog factors
22:24:41 -!- X-Scale has joined.
22:28:46 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:31:02 -!- Sgeo has joined.
23:13:38 <b_jonas> Yeah. Also, not undefined behavior, but x86 has a bunch of cases for old instructions where the documentation says that some or all of the arithmetic FLAGS bits are left with an undefined value. This can happen with at least AND, OR, XOR, TEST; SHR, SAL, SAR, ROL, ROR, RCL, RCR; MUL, IMUL, DIV, IDIV; BT, BTR, BTS, BTC; BSF, BSR; AAA, AAS, AAD, AAM, DAA, DAS. That's almost every old instruction that can
23:13:44 <b_jonas> modify the arithmetic bits in the flags, except for ADD, ADC, SUB, SBB, CMP, INC, DEC; CMC, CLC, STC; SAHF, and the ones that load the entire FLAGS or EFLAGS. Newer instructions usually avoid this sort of undefined result.
23:14:45 <ais523> I actually don't know what those instructions do to the flags in practice, nor whether or not it's consistent
23:14:57 <b_jonas> I don't know either
23:15:27 <ais523> BSF leaving the register unchanged is an interesting problem for compiler writers, though, because if you choose to rely on that behaviour you can make the asm considerably simpler and less branchy
23:15:35 <ais523> but, it's relying on UB
23:15:46 <ais523> LLVM chooses not to rely on the UB, at least when compiling Rust
23:17:45 -!- X-Scale has quit (Ping timeout: 256 seconds).
23:19:57 <b_jonas> ais523: wait, that is UB? I thought that was documented, but I also thought it was usually not worth to use on modern CPUs, which specifically add a prefixed variant for BSF and BSR with very different opcodes that does not do that to avoid the extra dependency on the old value of the register
23:21:23 <esolangs> [[Talk:Scratch is dumb]] https://esolangs.org/w/index.php?diff=138749&oldid=138705 * None1 * (+266)
23:22:48 <b_jonas> or do you mean using the undefined behavior offered by the source language (eg. C) low-level function?
23:22:50 <ais523> b_jonas: it's UB on Intel but not AMD, according to the docs
23:23:22 <ais523> on modern CPUs, you just use lzcnt and tzcnt, yes, but current compilers aren't by default generating code that assumes they're available
23:23:53 <b_jonas> huh, you're right, the Intel docs says that the destination register gains undefined value after BSF and BSR with 0 input operand
23:23:58 <b_jonas> I hadn't known that
23:24:26 <ais523> although, they get interpreted as their older equivalent on older CPUs, which is useful in the case of tzcnt because the results are the same for all arguments except 0
23:24:46 <ais523> so you can just set the result register to 64 and then tzcnt, and you get the right result on both new and old CPUs
23:25:02 <ais523> this doesn't work with lzcnt becaue the return values are different
23:25:33 <b_jonas> it doesn't work with LZCNT? interesting, I never noticed that
23:26:03 <ais523> because LZCNT counts 0 = most significant and the old instruction counts 0 = least significant
23:26:18 <ais523> so you can't interpret the return value without knowing which instruction you used
23:26:49 <b_jonas> when were these instructions added? between SSE4.2 and AVX with the marketing bit-manipulation instructions like BLSI? or earlier?
23:28:11 <ais523> it isn't obvious because they have their own feature flag, so it might not even be monotonically increasing
23:29:02 <ais523> oh, Wikipedia says it's part of BMI1 and just has the feature flags done weirdly
23:29:03 <b_jonas> sure
23:29:49 <ais523> oh, and AMD got there first
23:29:55 <ais523> which nearly *always* screws up the feature flags
23:30:31 <ais523> or, well, LZCNT is by AMD and TZCNT by Intel, just to make things as thoroughly confusing as possible
23:30:44 <b_jonas> rofl
23:31:20 <b_jonas> that sounds like a mess
23:32:18 <ais523> so the ABM flag (which AMD invented) reflects LZCNT support, and BMI1 reflects TZCNT support, on both AMD and Intel processors; but all Intel processors that set either set both
23:32:45 -!- FreeFull has quit.
23:33:39 <b_jonas> it looks like TZCNT and LZCNT were added roughly at the same time as AVX2, so later than I thought
23:34:33 <ais523> Intel added them at the same time as the BMI2 instructions (which include the select operator from INTERCAL)
23:37:08 <b_jonas> and that was around AVX2, rather than before AVX like I implied earlier. ok.
23:37:52 <ais523> AVX confuses me because I can never remember which instructions it does
23:37:54 <b_jonas> then it's not that surprising that compilers can often still not use it if you don't specifically target a later processor
23:38:19 <ais523> IIRC it was a more efficient API and more consistent encodings for the existing SSE instructions, plus a few 256-bit instructions but not very many of them?
23:38:39 <ais523> hmm, is there an equivalent of caniuse.com but for processor instructions?
23:39:09 <ais523> I'm mostly interested in whether targeting AVX2/BMI2 by default is reasonable nowadays or whether there are likely to be users who don't have support
23:39:17 <b_jonas> what do you mean? AVX contains vector instructions similar to SSE2, but they're encoded in a very different way, and the floating-point ones can be either 32 byte wide (on the newly introduced YMM registers) or 16 bytes wide, while the integer ones can only be 16 byte wide, right?
23:39:39 <ais523> oh, is it just a float/int split?
23:39:50 <ais523> I thought it implemented a few of the instructions at 32 but most at 16
23:40:28 <ais523> this might explain why LLVM prefers to use floating-point instructions for memcpy, if they were added before the equivalent integer instructions
23:40:31 <b_jonas> it also has lots of new vector instructions for integers, but I think the 32 bytes is just floating points
23:41:28 <ais523> although, I think the general performance advice with vector registers is "you can use the 16-byte ones for occasional use without trouble but the 32-byte ones only help if you use them heavily"
23:41:45 <b_jonas> but this later got fixed by AVX2 which I think added 32 byte long versions for all the integer vector AVX instructions (except that some of the shuffling instructions shuffle only within a 16 byte block and there are new possibly slower shuffler instructions for the full 32 bytes wide)
23:42:21 <ais523> calling conventions for AVX2 are a mess – it doesn't mix well performance-wise with SSE-encoded vector instructions
23:42:25 <b_jonas> also all the AVX vector instructions have a name starting with V and they clear the top half of the YMM registers even if they only do a 16 byte operation -- the existing SSE2 instructions couldn't be modified this way because of ABI compatibility
23:42:38 <ais523> yep
23:43:02 <b_jonas> yes, but I think that's s/calling conventions for AVX2/calling conventions for AVX/
23:43:25 <ais523> I think the ABI requires a vzeroupper before calling or returning from a function, if you use the high half of a vector
23:43:40 <ais523> so that if the other function uses SSE there isn't a performance penalty
23:44:26 <b_jonas> yes, but this is becoming less of a problem on later processors
23:45:49 <b_jonas> the ABI incompatibility is real and can't be fixed without defining a whole new incompatible ABI for which you have to recompile every user-level library, but the penalty almost never applies to recent CPUs because the processors are better optimized to handle this
23:51:16 <b_jonas> also AVX adds some new floating-point vector instructions, and some non-vector instructions, and it does *not* add many new integer vector arithmetic instructions despite what I said
23:55:24 <b_jonas> the new integer vector instructions are added by SSE3 and SSE4_2 (which precede AVX) and then AVX512, with only a few in AVX and AVX2
23:55:30 <b_jonas> or at least few that I care about
23:59:34 <ais523> <b_jonas> the ABI incompatibility is real and can't be fixed without defining a whole new incompatible ABI for which you have to recompile every user-level library, but the penalty almost never applies to recent CPUs because the processors are better optimized to handle this ← IIRC the modern processors are actually worse-optimised to handle all the combinations, some optimisations were removed to simplify the situations where they weren't neeed
23:59:38 <ais523> *needed
←2024-09-09 2024-09-10 2024-09-11→ ↑2024 ↑all