00:31:13 Yes, that will do it too 00:32:27 [[Double Helix]] N https://esolangs.org/w/index.php?oldid=71498 * Hakerh400 * (+4892) +[[Double Helix]] 00:32:31 [[Language list]] https://esolangs.org/w/index.php?diff=71499&oldid=71496 * Hakerh400 * (+19) +[[Double Helix]] 00:32:34 [[User:Hakerh400]] https://esolangs.org/w/index.php?diff=71500&oldid=71361 * Hakerh400 * (+19) +[[Double Helix]] 00:42:32 [[Unary Filesystem]] N https://esolangs.org/w/index.php?oldid=71501 * PythonshellDebugwindow * (+143) Wip 00:50:26 [[Talk:Picofuck]] https://esolangs.org/w/index.php?diff=71502&oldid=51707 * Orby * (+1827) 01:39:01 -!- tromp has joined. 01:44:21 -!- tromp has quit (Ping timeout: 272 seconds). 02:13:15 -!- Phantom__Hoover has joined. 02:20:59 -!- Phantom__Hoover has quit (Ping timeout: 258 seconds). 02:33:33 -!- tromp has joined. 02:38:11 -!- tromp has quit (Ping timeout: 272 seconds). 03:35:25 Does C have any function like PostScript's /ReusableStreamDecode filter? 03:37:06 What is that? 03:38:38 It reads an entire file into memory at once so that now it is seekable. 03:38:51 (Even if the original file wasn't seekable.) 03:39:57 Do you mean in the standard library? 03:40:00 Yes. 03:40:09 I'm not sure such a function belongs in the standard library. 03:40:39 Maybe you are correct, but I also wanted to know if GNU or POSIX has it. 03:40:57 POSIX has mmap which might be better for many purposes. 03:47:11 Yes, for some purposes it is better. 04:15:46 C's standard library doesn't have a function like that. wouldn't that just be loading a file into memory byte by byte and operating on that. 04:16:05 -!- craigo_ has joined. 04:16:42 Yes, it is like that. Of course it is not a problem if it doesn't have; I just was wondering about it. 04:17:29 C has functions to actively seek through files without loading them into memory. 04:18:14 Yes, but some files are not rewindable. 04:18:51 -!- craigo has quit (Ping timeout: 265 seconds). 04:19:05 such as? 04:19:53 Such as many files that aren't a disk file. 04:20:03 ah. 04:28:56 What is the API you want? 04:30:41 I was just wondering, actually. 04:31:58 There are all sorts of ways you might want to allocate memory for the file. 04:40:13 what happens if the file doesn't have an EOF character? 04:40:22 s/EOF character/EOF marker 04:41:33 Why would a file have an EOF character? 04:42:04 If it doesn't have EOF then it won't work, of course. 04:48:40 -!- PlasmaPower has joined. 04:51:56 -!- Train has joined. 04:53:49 Hello zzo38. 04:54:28 Hello 04:54:37 Hardly anyone uses an OS that has an EOF character as actually part of the file 04:54:47 I had an idea for an "improvement" on TrainCode. 04:54:57 Rather than just a weird artifact of APIs like getc() 04:56:50 I created this Befunge-98 snippet which freezes the cfunge and rcfunge interpreters: https://gist.github.com/PlasmaPower/39f01e1289d5d4bd84953335efd5f7de 04:57:19 I'm not sure if anyone's done this before, but it creates a flying IP that's always going to be out of bounds, then uses another thread to overwrite the currently executing instruction to put it in string mode and process a space 04:57:33 Impressive. 04:57:36 I'm guessing the interpreters get stuck trying to skip over future spaces 04:57:37 thanks :) 04:58:32 Train: What is your idea for "improvement" on TrainCode? 04:59:42 Multiple trains. 05:00:19 the character # splits a train. 05:00:46 It creates a new instruction and data pointer at it's position if the IP goes over it, and sets them to RIGHT 05:04:20 What do you think? 05:04:25 I suppose it can be a a possible extension 05:04:39 And two new chars: e and f 05:04:49 Change the relative data pointer for each IP 05:05:52 -!- PlasmaPower has quit (Quit: Leaving). 05:06:09 -!- Train has quit (Remote host closed the connection). 05:06:11 I think that perhaps they should be called separate extensions or separate levels, similar to how SNUSP does 05:20:56 -!- arseniiv_ has joined. 05:49:44 -!- imode has quit (Ping timeout: 256 seconds). 05:53:58 -!- tromp has joined. 05:59:04 -!- tromp has quit (Ping timeout: 265 seconds). 06:22:37 -!- tromp has joined. 06:24:01 -!- tromp_ has joined. 06:27:29 -!- tromp__ has joined. 06:28:05 -!- tromp has quit (Ping timeout: 272 seconds). 06:28:33 -!- tromp_ has quit (Ping timeout: 265 seconds). 06:29:03 -!- Train has joined. 06:30:40 zzo38, what do you think of multiple pointers? 06:31:32 Train: I mentioned after you disconnection, I can mention again 06:31:42 I think that perhaps they should be called separate extensions or separate levels, similar to how SNUSP does 06:31:56 Okay. 06:31:59 (Also, you did not quite exaplain how e and f are working) 06:32:25 -!- tromp__ has quit (Ping timeout: 265 seconds). 06:32:27 e decrements the reference for the data pointer for the current IP, and vice versa for f 06:32:40 so it changes the pairings of DP and IP 06:32:56 each IP has an assigned DP, and e/f change that assigned DP 06:33:30 O, OK. 06:43:22 -!- Train has quit (Remote host closed the connection). 06:49:38 -!- tromp has joined. 07:23:25 -!- Bowserinator has quit (Quit: Blame iczero something happened). 07:23:36 -!- moony has quit (Quit: Bye!). 07:23:47 -!- iovoid has quit (Quit: iovoid has quit!). 07:53:03 -!- cpressey has joined. 08:02:33 I'll go one further on what I said yesterday: in Jot, the 1 combinator serves the role of a prefix application operator, which lets you construct programs in "forward Polish notation", which is how it can dispense away with parentheses. 08:02:51 s/dispense away with/dispense with/ 08:04:40 The "reverse Polish notation" in concatenative languages also lets you dispense with parentheses, and that's often stated as a selling point, but it's actually stronger than that: in a concatenative language, concatenation is associative, and that's the reason why you can dispense with pareentheses. 08:06:56 (I don't know if there is any actual signficant practical value to having concatenation be associative, actually, but it's aesthetically pleasing, at least.) 08:14:23 Are reverse and forward Polish notation actually different in that respect? 08:19:31 In the sense that in FPN a symbol sets up an expectation of what follows it (its argument(s)), and in RPN it doesn't, I would say yes. 08:27:15 But, I would admit that that's looking at it as syntax only. 08:33:48 If you reverse an RPN program, don't you get a PN program? 08:34:12 Maybe there's a practical thing where RPN is more amenable to things that takes a variable number of arguments or do other bizarro stack operations. 08:39:01 -!- Train has joined. 08:39:33 This is my fourth hour of debugging my interpreter... I've had to deal with the weirdest bugs. 08:40:06 -!- user24 has joined. 08:40:25 Hello. 08:44:47 shachaf: I don't really know; I'm mainly trying to explain to myself out loud why my idea for a concatenative version of the SKI calculus seemed obvious and easy when I first thought of it, but turned out to be much less obvious when I tried to work it out. 08:45:08 I've been converting my code, which was expressly designed for single-pointers into an n-pointer system, with two types of pointers and parallel processing. 08:45:10 Maybe it actually is obvious and easy and I'm just overthinking it. 08:45:45 Maybe, but many problems depend on your method of thinking. 08:46:12 For example, in my esolang, I couldn't find a quine for days, and zzo38 on here found one in less than an hour. 08:46:26 His method of thinking was very different to mine, and it worked far better. 08:46:34 Is 1 in Jot like ` in Unlambda? 08:47:13 Oh, not really. 08:50:13 -!- LKoen has joined. 08:50:21 Gudday mate! 08:56:35 -!- tswett[m] has quit (Quit: killed). 08:56:39 -!- wmww has quit (Quit: killed). 08:56:53 -!- xavo[m] has quit (Quit: killed). 08:56:58 -!- xylochoron[m] has quit (Quit: killed). 09:12:49 -!- xylochoron[m] has joined. 09:24:07 -!- craigo_ has quit (Ping timeout: 260 seconds). 09:26:35 -!- Train has quit (Remote host closed the connection). 09:30:29 -!- rain1 has joined. 09:30:33 -!- rain1 has quit (Changing host). 09:30:33 -!- rain1 has joined. 09:55:40 -!- xavo[m] has joined. 09:55:40 -!- tswett[m] has joined. 09:55:40 -!- wmww has joined. 10:41:25 -!- cpressey has quit (Quit: WeeChat 1.9.1). 10:46:56 https://www.lmfdb.org/NumberField/?galois_group=6T4 10:46:59 this i sa good site 11:27:01 -!- Lord_of_Life_ has joined. 11:29:37 -!- Lord_of_Life has quit (Ping timeout: 264 seconds). 11:29:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 11:43:10 -!- wib_jonas has joined. 12:04:23 -!- cpressey has joined. 12:33:49 -!- BWBellairs[NNRF] has joined. 12:34:04 -!- BWBellairs has quit (Read error: Connection reset by peer). 12:34:37 -!- BWBellairs[NNRF] has changed nick to BWBellairs. 12:54:26 -!- sftp has quit (Excess Flood). 12:54:45 -!- sftp has joined. 13:11:05 [[Unary Filesystem]] M https://esolangs.org/w/index.php?diff=71503&oldid=71501 * PythonshellDebugwindow * (+893) Finished 13:12:18 [[Language list]] M https://esolangs.org/w/index.php?diff=71504&oldid=71499 * PythonshellDebugwindow * (+23) /* U */ + [[Unary Filesystem]] 13:13:07 [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=71505&oldid=71493 * PythonshellDebugwindow * (+70) /* Languages */ 13:13:26 [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=71506&oldid=71505 * PythonshellDebugwindow * (-2) /* Languages */ 13:14:16 -!- TheLie has joined. 13:16:16 [[Double Helix]] M https://esolangs.org/w/index.php?diff=71507&oldid=71498 * PythonshellDebugwindow * (+36) 13:17:14 [[Double Helix]] M https://esolangs.org/w/index.php?diff=71508&oldid=71507 * PythonshellDebugwindow * (-24) link + typo fix 13:25:02 -!- TheLie has quit (Remote host closed the connection). 13:59:17 [[Talk:Picofuck]] https://esolangs.org/w/index.php?diff=71509&oldid=71502 * Orby * (-42) /* The set of PF languages is empty */ 13:59:49 [[Talk:Picofuck]] M https://esolangs.org/w/index.php?diff=71510&oldid=71509 * Orby * (-39) /* The set of PF languages is empty */ 14:02:30 [[User:PythonshellDebugwindow/]] N https://esolangs.org/w/index.php?oldid=71511 * PythonshellDebugwindow * (+41) Redirected page to [[User:PythonshellDebugwindow]] 14:03:25 Is oerjan still active? I haven't seen him around in a while. 14:05:20 orbitaldecay: yes, he hasn't disappeared yet 14:06:46 [[User talk:Oerjan]] https://esolangs.org/w/index.php?diff=71512&oldid=63959 * Orby * (+163) 14:07:16 wib_jonas: cool. he and I were working a project a few years ago that I made some progress on yesterday. just trying to reconnect with him. 14:09:06 or anybody else who's interested in BF minimizations. I need some verification on a proof I wrote that there is no 2 command minimization of reversible bitfuck. 14:09:27 See the picofuck page. 14:09:32 proof is in talk section 14:12:18 [[User:PythonshellDebugwindow]] M https://esolangs.org/w/index.php?diff=71513&oldid=71506 * PythonshellDebugwindow * (+50) /* Languages */ 14:13:14 [[The Past]] M https://esolangs.org/w/index.php?diff=71514&oldid=71400 * PythonshellDebugwindow * (+126) cats 14:13:35 [[Language list]] M https://esolangs.org/w/index.php?diff=71515&oldid=71504 * PythonshellDebugwindow * (+15) /* T */ + [[The Past]] 14:30:51 [[Talk:Picofuck]] https://esolangs.org/w/index.php?diff=71516&oldid=71510 * Orby * (+664) /* The set of PF languages is empty */ 15:23:12 -!- cpressey has quit (Quit: WeeChat 1.9.1). 15:35:17 -!- imode has joined. 15:38:50 now I have one we will totally be proud of: V* is just a negation of V, assuming the scalar field is a contradiction 15:38:55 -!- arseniiv_ has changed nick to arseniiv. 15:39:02 s/we/y’all 15:39:24 or *the* contradiction, hm 15:40:01 and it’s correct of course, as “negation of X assuming Y is a contradiction” is simply X → Y 15:40:45 -!- wib_jonas has quit (Quit: Connection closed). 16:41:17 [[Special:Log/newusers]] create * Leo1 * New user account 16:51:56 -!- user24 has quit (Quit: Leaving). 16:55:43 -!- xkapastel has joined. 17:10:35 solvable 1d peg solitaire problems are regular 17:11:05 2d might as well 17:20:57 -!- hakatashi has quit (Remote host closed the connection). 17:21:16 -!- hakatashi has joined. 17:23:43 -!- Phantom__Hoover has joined. 17:29:33 -!- ArthurStrong has joined. 18:10:19 -!- orbitaldecay has quit (Ping timeout: 252 seconds). 18:19:31 -!- orbitaldecay has joined. 18:41:51 myname: 2d is apparently NP complete 18:42:04 im not sure i get how this is possible 18:42:12 :O 18:42:16 since it can be solved with an easy depth first search 18:42:33 and the maximum depth will be equal to the number of pegs 18:42:44 well, tsp can be solved by filling a matrix 18:42:46 does that leave enough room for it to still be NP complete? 18:42:50 -!- kevinalh has joined. 18:43:32 If someone claims to have the perfect programming language, he is either a fool or a salesman or both. 18:44:56 i fail to see how to solve it ith a simple dfs, though 18:45:34 like, wouldn't you need to make a dfs where each step is a new dfs? 18:49:02 i am not claiming that peg solitaire is a perfect programming language 18:49:22 Good. 18:50:24 [[Reversible Bitfuck]] N https://esolangs.org/w/index.php?oldid=71517 * Orby * (+3970) Finally getting around to creating a standalone page for Reversible Bitfuck 18:50:34 -!- kevinalh has quit (Ping timeout: 260 seconds). 18:51:10 rain1: i'd like to see your solver with a dfs 18:52:59 i dont have it, i wrote it a long time ago 18:53:15 it's very simple though, just list all moves at each step 18:53:20 [[Picofuck]] https://esolangs.org/w/index.php?diff=71518&oldid=51581 * Orby * (-2496) Moving definition of RBF to its own page 18:53:40 i doubt that this will work with polynomial time 18:54:43 the previous to last move has 3 pegs with potentially 4 (minimum, can't think of more) moves 18:55:15 4 pegs can lead to different configurations of 3 pegs with more than one move 18:55:32 i fail to see how this is not exponential 18:55:53 [[Nanofuck]] https://esolangs.org/w/index.php?diff=71519&oldid=69875 * Orby * (-6) Updating links to point to reversible bitfuck page 18:55:54 -!- Sgeo__ has quit (Read error: Connection reset by peer). 18:56:40 -!- iovoid has joined. 18:57:15 [[Reversible Bitfuck]] M https://esolangs.org/w/index.php?diff=71520&oldid=71517 * Orby * (+145) Adding categories 18:57:35 [[Picofuck]] https://esolangs.org/w/index.php?diff=71521&oldid=71518 * Orby * (+145) Adding categories 18:59:29 -!- Bowserinator has joined. 19:00:06 -!- probablymoony has joined. 19:02:19 [[Nanofuck]] https://esolangs.org/w/index.php?diff=71522&oldid=71519 * Orby * (+254) /* Reversible Bitfuck */ Nanofuck has a dual language, NF' 19:02:59 [[Nanofuck]] M https://esolangs.org/w/index.php?diff=71523&oldid=71522 * Orby * (+8) /* Reversible Bitfuck */ Fixing formatting. Sorry for edit spam. 19:10:53 [[Talk:Picofuck]] M https://esolangs.org/w/index.php?diff=71524&oldid=71516 * Orby * (+56) Found a problem with the non-existence proof 19:11:18 Alright, done editing for now 19:11:36 -!- Sgeo has joined. 19:11:56 This 2 command reversible bitfuck minimization problem is driving me nuts. I've been thinking about this in the back of my head for years. 19:12:18 It seems impossible, but I can't find the proof 19:12:39 I will check it out 19:12:58 Thank you, it's on the Picofuck page 19:13:16 Oerjan and I worked on it for like a month straight in 2017 and got nowhere 19:15:43 this is really cool stuff 19:15:49 i normally don't look into brainfuck related things anymore 19:15:52 but i like this 19:17:47 -!- kevinalh has joined. 19:20:12 [[Pure]] M https://esolangs.org/w/index.php?diff=71525&oldid=70523 * PythonshellDebugwindow * (+32) /* See also */ 19:21:57 https://esolangs.org/wiki/Talk:Picofuck this seems like a very hard problem 19:22:22 -!- craigo_ has joined. 19:23:10 [[Pure]] M https://esolangs.org/w/index.php?diff=71526&oldid=71525 * PythonshellDebugwindow * (-24) It is not backwards compable 19:24:04 -!- kevinalh has quit (Ping timeout: 246 seconds). 19:24:08 is it acceptable for a PF language to use 1/n'th of the tape for real data and the rest for scratch? 19:25:39 is there a 2 command version of brainfuck/bitfuck (non reversible) 19:28:16 rain1: yeah, PF is a hard problem. A PF language can use the tape however it wants provided it's a simple translation of RBF. 19:28:34 I don't know of a 2 command version of brainfuck (even excluding I/O) that's a "simple translation" 19:28:40 ah 19:29:07 2 command bfs are pretty easy 19:29:16 The simple translation definition formalizes the notion of "not cheating", otherwise you can do all kinds of context dependent nonsense and call it a minimization 19:29:24 have you considered candidate based on the language of matching brackets? [], [][], [][][], ..., [[]], [[[]]], ..., [[][]], type strings 19:30:17 i guess all candidates are like that actually 19:30:23 I have generally used [ and ] to discuss potential PF commands, but it is not known whether or not bracket matching of that type would be the appropriate grammar for a PF 19:30:41 The syntax might be two [ for each ], e.g. [[], or something else 19:30:56 interesting 19:31:22 what does "leave the machine in state t_1" mean in the definition of reversibility? the tape pointer? 19:31:31 tape pointer + tape contents 19:31:39 that comprises the entire state 19:31:47 ok 19:32:05 -!- kevinalh has joined. 19:33:08 2 command BFs are easy that are not what I call "simple translations" of BF. e.g. unary, turning tarpits, etc. 19:33:53 braincrash is the classic example of a turning tarpit that isn't actually a "simple translation" because it's context dependent 19:34:33 i wish i could solve this problem 19:34:46 i can't make my mind up if any PF exists or not 19:34:57 try to find one 19:35:07 I've been trying to prove they don't exist for years 19:35:46 nanofuck is as small as I've gotten and I suspect it's minimal 19:36:38 nanofuck is very impressive already 19:37:15 NF wasn't hard to find. I'm sure there are other interesting 3 command variants aside from NF and NF' 19:37:39 I mean, obviously there are an infinite number of 3 command variants, but most of them just contain huge swaths of nops 19:39:04 i wonder if you could do that makes [] act like * but [][] act like brackets 19:39:11 by using every second cell as a scratch space 19:39:44 The idea behind requiring a "simple translation" is to restrict context dependence, which in my view is cheating 19:39:57 it's questionable if this is reversible 19:40:08 if what is reversible? 19:40:44 maybe it would only be reversible if we add a restriction that we must write [X][X] (same contents each time), but then htis probabyl violates the simple translation requirement 19:40:58 -!- arseniiv has quit (Ping timeout: 258 seconds). 19:41:11 yeah, how do you translate [ into an RBF string if [ has different meanings in different contexts? 19:41:33 you could store that context on the tape, but then you have to prevent it from being overwritten 19:41:46 yeah storing it on the tape is what i was thinking 19:42:18 i feel like the ability to use scratch space on the tape is what makes it hard to prove this impossible (or potentially gives us the ability to pull it off) 19:42:39 but we only get a finite amount of data from this 19:42:47 it depends on how you define the isomorphism between tapes 19:43:24 if you say the tape has to be literally the same, then scratch space doesn't fly, if there just needs to be an isomorphism between the tapes, then map each cell position n to 2n in the converted tape 19:43:31 that leaves 2n + 1 for scratch space 19:43:33 yeah 19:44:04 basically the pf language could only use the even cells and use the odd cells for storing context 19:44:27 It's not the most satisfying answer, but if that's all that exists I'd be happy with it 19:45:43 first priority would be making the tapes match exactly though 19:45:52 like they do between RBF and NF 19:46:10 maybe it could be proven that matching tapes is impossible 19:46:16 hmm 19:46:20 that's an interesting thought 19:46:23 what would this additional restriction of matching tapes imply 19:46:51 I mean, matching tapes is possible with 3 command simple translations because I've done it 19:47:07 I've generally been going for matching tapes when looking for 2 command simple translations as well 19:47:18 I haven't explored storing context on the tape very much 19:47:35 it seems like that is a little bit of a loophole 19:47:51 it might make sense to define simple translation as meaning identical tapes 19:48:21 I just wanted to allow simple translations between languages that use different models 19:48:28 like maybe one language doesn't have a tape and another does 19:48:40 there could still be simple translations between them 19:50:18 -!- TheLie has joined. 19:51:01 [[Special:Log/newusers]] create * Asdfasdf1 * New user account 19:57:49 How common are using C programs on non-IEEE computers? 19:58:11 What do you mean by non-IEEE computer? 19:58:32 probably ones without floating point support. 19:58:49 Well, or using a non-IEEE-754 floating point format. 19:58:50 in that case super common, most 8 and 16 bit chips don't have floating point support 20:00:18 SDCC's (emulated) floating point routines are non-IEEE. 20:00:23 on those architectures floating point is simulated i software 20:00:34 interesting 20:00:57 They're "IEEE-ish", but don't support e.g. subnormal numbers. 20:01:52 OK, although I suppose it is not needed to port TeXnicard to non-IEEE computers, since TeXnicard is intended for 32-bit or 64-bit computers, not 8-bit and 16-bits. 20:03:04 Well, what does the C standard say about floats and doubles? If the C standard guarantees them to behave like IEEE floats and doubles, then I'd assume the compiler will take care of it. 20:03:12 It doesn't. 20:03:21 Bummer 20:03:25 I will need to study the discharged candidates on the discussion page tommorow 20:03:31 There's an appendix for IEEE floats and doubles, which the implementation can indicate by defining a macro. 20:03:47 zzo38: common if you count it when you deliberately enable some aggressive settings or optimization flags for compilation units, such as the runtime option to not generate and read denormals on x86_64 to speed up operations that would generate such numbers 20:03:48 rain1: cool, feel free to reach out 20:03:49 (And, I am not sure that SQLite works on non-IEEE computers anyways) 20:03:52 Other than that, the standard just gives a very abstract model, that can be implemented by a non-2 radix. 20:03:56 I'm bob@forder.cc 20:04:31 zzo38: that still uses numbers formatted as IEEE float, just not the IEEE float rules for arithmetic operations 20:04:37 so I don't know if you count that 20:05:18 -!- rain1 has quit (Quit: leaving). 20:05:30 "An implementation that defines __STDC_IEC_559__ shall conform to the specifications in this annex." 20:06:20 b_jonas: Well, my program only cares that the "float" type is a 32-bit floating point and that it is either IEEE or big-endian (or both), and that if you write to a union with a int and float as a int and read it back as a float, that it can be read. (The reason for this confusion is presumably a bug in Adobe Distiller, which is software I don't even use.) 20:07:45 zzo38: that part about the union sounds like it could be false on modern enough gcc because of how C handles unions, but I'm not quite sure 20:07:47 (Or possibly some other software from Adobe; I am not sure which.) 20:08:01 zzo38: wait, what do you do with the union? 20:08:13 Use of union for type punning is sort of sanctioned. 20:08:25 Merely write a int to it and read back a float from it; the union is not used after that. 20:08:25 read it back as a float and then read the union? 20:08:37 I have no idea how the C rules work for that so I'd just avoid that 20:08:54 as for float being 32-bit IEEE float format, that's probably true everywhere 20:09:32 b_jonas: There's a footnote about how it should work. "If the member used to read the contents of a union object is not the same as the member last used to store a value in the object, the appropriate part of the object representation of the value is reinterpreted as an object representation in the new type as described in 6.2.6 (a process sometimes called 'type punning')." 20:09:44 zzo38: could you use memcpy for that instead? that definitely works and is usually optimized away, while I'm not sure about the union 20:10:14 zzo38: also is this a C program or a C++ program? 20:10:19 It is C, not C++ 20:10:42 zzo38: I really don't understand the rules, and I suggest memcpy instead of a union 20:11:05 but it's possible that a union is safe too 20:11:38 Search for "#define obj_ufloat" in http://zzo38computer.org/fossil/texnicard.ui/artifact/39edd63855a81b2b 20:12:14 On a non-IEEE computer, the floating number is stored using the native order. 20:12:42 Yeah, if you want you could do that with memcpy. 20:13:28 `float f; memcpy(&f, &(int){x}, sizeof (int)); f;` or suchlike. But I do think the union's allowed as well. 20:13:30 float? No such file or directory 20:13:36 HackEso: Don't you start. 20:14:11 Actually, I guess you could do it entirely with compound literals, thanks to memcpy returning dest. :) 20:14:56 As in `*(float *)memcpy(&(float){0}, &(int){x}, sizeof (int))`. 20:16:11 fizzie: is that compound literal actually valid in C? 20:16:33 Should be. In C99 and above. 20:16:44 weird 20:16:45 Yes, I could use memcpy, although I did it this way, and the quoted footnote would suggest that it could work. Although that isn't the point I am trying to make anyways, which is rather the Adobe bug (despite none of Adobe's software is in use here). 20:17:56 I like `&(T){x}` over `(T[]){x}` when it's "conceptually" a pointer to a single object rather than an array of length 1, though they are equivalent. 20:18:32 -!- zseri has joined. 20:18:57 -!- zseri has quit (Client Quit). 20:19:26 -!- zseri has joined. 20:19:39 -!- TheLie has quit (Ping timeout: 272 seconds). 20:20:50 I also don't know if possibly someone else might find the set of macros in the code I linked to to be useful in your own programs too maybe 20:29:37 [[Cortex language 3]] M https://esolangs.org/w/index.php?diff=71527&oldid=71429 * PythonshellDebugwindow * (+2) 20:32:36 -!- TheLie has joined. 20:45:29 -!- xkapastel has quit (Quit: Connection closed for inactivity). 20:50:49 -!- TheLie has quit (Ping timeout: 265 seconds). 20:53:32 -!- Taneb has quit (*.net *.split). 20:53:32 -!- Hooloovo0 has quit (*.net *.split). 20:53:44 -!- Taneb has joined. 20:54:19 -!- Hooloovo0 has joined. 20:54:44 [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=71528&oldid=71298 * PythonshellDebugwindow * (+61) 20:55:13 [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=71529&oldid=71528 * PythonshellDebugwindow * (+42) 20:55:32 [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=71530&oldid=71529 * PythonshellDebugwindow * (+5) 20:55:46 [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=71531&oldid=71530 * PythonshellDebugwindow * (+9) 21:00:06 [[Cortex language 3A]] N https://esolangs.org/w/index.php?oldid=71532 * PythonshellDebugwindow * (+1483) WIP 21:00:27 [[Cortex language 3A]] M https://esolangs.org/w/index.php?diff=71533&oldid=71532 * PythonshellDebugwindow * (+35) 21:04:52 [[User:Orby]] M https://esolangs.org/w/index.php?diff=71534&oldid=71437 * Orby * (+45) 21:05:24 [[User:Orby]] M https://esolangs.org/w/index.php?diff=71535&oldid=71534 * Orby * (-18) 21:33:03 -!- zseri has quit (Quit: zseri). 21:34:39 Hey everyone. 21:35:04 I'm pondrin' what Haskell would look like if we assumed it took place in the category of abelian groups. 21:35:32 There'd be a total function z :: forall a. a. 21:36:23 And another total function p :: forall a. a -> a -> a, which would be commutative and associative with z as the identity. 21:36:46 And n :: forall a. a -> a, the inverse for p. 21:40:27 Of course, the category of abelian groups isn't cartesian closed, so... good luck with currying. 22:03:40 -!- Phantom__Hoover has quit (Ping timeout: 246 seconds). 22:19:21 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 22:31:59 -!- TheLie has joined. 22:47:49 -!- tromp has quit (Remote host closed the connection). 22:48:34 -!- tromp has joined. 22:52:45 -!- tromp has quit (Ping timeout: 240 seconds). 23:00:18 -!- TheLie has quit (Remote host closed the connection). 23:06:31 -!- loops has joined. 23:07:06 -!- Train has joined. 23:07:43 -!- loops has left. 23:11:38 I've got the instruction pointers running in parallel, after almost 10 hours of debugging. 23:15:34 The data pointers were being initialised to the position of the # character, but so were the instruction pointers, so I ended up with hundreds of pointers even for simple, 9 byte programs. 23:16:41 I needed to do some "sorcery" with the arrays to make the data pointer start at the split and the instruction pointer start at the character immediately to the right mod the length of the program[0]. 23:17:17 zzo38, here's a demo of the splitting character #. 23:17:27 Code: 23:17:28 V 23:17:51 Output: #V 23:20:13 -!- tromp has joined. 23:20:21 I'm still implementing e and f. I'll send you the finished documentation. 23:22:53 Implemented them, after 10 hours and 22 minutes of debugging. 23:24:23 And the interpreter is only 4952 bytes. 23:25:13 -!- tromp has quit (Ping timeout: 272 seconds). 23:26:47 All programs that worked in TrainCode v1 work in TrainCode v2, with a few specific exceptions. 23:26:55 So the quine still works. 23:27:39 -!- Lord_of_Life_ has joined. 23:29:25 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 23:29:40 -!- Train has quit (Remote host closed the connection). 23:30:31 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 23:52:16 -!- tromp has joined. 23:56:45 -!- tromp has quit (Ping timeout: 240 seconds).