00:12:31 <fizzie> You know how it's typical for ELF executables to put the ELF headers into a segment that gets loaded into memory? Is there also a convenient magic symbol for the address that's the start of the executable, the same way there's _etext / _edata / _end?
00:12:33 <fizzie> I have a binary that wants to introspect its own headers, and it currently just `open`s /proc/self/exe, but it seems silly if they're already loaded.
00:27:53 <fizzie> The extended context is, I'm embedding some resources in the binary that I don't want persistently loaded in memory, so I'm putting them in a special section that's not loaded into the process image, but instead at runtime mapping the relevant section of the file when needed. But this needs the file offset of the section.
00:32:03 <zzo38> I don't know much about it (or how to access them from a C code, how to program the linker to do such things, etc; it is probably documented but I have not read all of them)
00:40:11 <fizzie> I guess it's possible the linker could even directly provide the file offset of the section as a symbol, but that'd probably require writing a custom linker script.
00:45:51 -!- Lord_of_Life has quit (Ping timeout: 258 seconds).
00:48:21 -!- Lord_of_Life has joined.
01:38:43 -!- b_jonas has quit (Ping timeout: 264 seconds).
02:13:11 <esolangs> [[Special:Log/newusers]] create * Paracompact633 * New user account
02:17:56 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=117326&oldid=117314 * Paracompact633 * (+217) /* Introductions */ Add introduction
02:58:25 <esolangs> [[Parenthesis Hell]] https://esolangs.org/w/index.php?diff=117327&oldid=70709 * Paracompact633 * (+343) /* Description */ Add explanation on how values work
04:05:26 -!- CAT_S has quit (Ping timeout: 255 seconds).
04:18:23 -!- CAT_S has joined.
05:01:18 <esolangs> [[Eitherf*ck]] M https://esolangs.org/w/index.php?diff=117328&oldid=75781 * PythonshellDebugwindow * (+47) Categories
05:46:42 <zzo38> Does any programming language have a scientific numeric type, that will keep track of the precision and sigfigs as well?
06:42:11 <ais523> zzo38: yes, e.g. Math::BigFloat in Perl
06:42:14 <ais523> I think "BigDecimal" is a common name
06:44:46 <ais523> that said, I don't think it adapts the precision as arithmetic operations occur
06:45:26 <ais523> so 1.00001 - 1.00002 is stil believed to be accurate to six significant figures, even though only about 0-1 significant figure is actually available
06:47:01 -!- ais523 has quit (Quit: quit).
06:51:51 -!- Koen has joined.
06:52:51 <esolangs> [[Talk:Transet]] https://esolangs.org/w/index.php?diff=117329&oldid=117239 * GUAqwq * (+105) /* Personal problem on the interpreter or on haskell */
07:21:54 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=117330&oldid=117323 * Lilchiky * (+17) /* B */
07:28:52 <esolangs> [[(SIASL)]] M https://esolangs.org/w/index.php?diff=117331&oldid=108168 * K.avi * (+6) /* Meta instructions */
07:48:43 <esolangs> [[Chicken]] M https://esolangs.org/w/index.php?diff=117332&oldid=117300 * None1 * (+16) /* NaN */
07:49:44 -!- Sgeo has quit (Read error: Connection reset by peer).
08:25:05 -!- Noisytoot has quit (Ping timeout: 255 seconds).
08:36:00 -!- Noisytoot has joined.
08:49:05 -!- sprout has quit (Ping timeout: 240 seconds).
08:49:54 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117333&oldid=117231 * D * (+58)
08:50:02 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117334&oldid=117333 * D * (-1)
08:55:05 -!- sprout has joined.
09:08:09 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117335&oldid=117334 * D * (+6) More descriptive intro
09:08:28 <esolangs> [[Dip]] M https://esolangs.org/w/index.php?diff=117336&oldid=117335 * D * (+0)
09:36:59 -!- arseniiv has joined.
09:40:59 -!- __monty__ has joined.
10:55:29 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=117337&oldid=114874 * GUAqwq * (+38) /* Ideas for Names */
11:55:41 -!- Thelie has joined.
12:55:40 -!- arseniiv has quit (Ping timeout: 248 seconds).
13:03:33 -!- arseniiv has joined.
13:23:06 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117338&oldid=117234 * GUAqwq * (-82) /* Binary numbers to integer */
13:24:25 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117339&oldid=117338 * GUAqwq * (+30) /* Computational class */
13:24:33 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117340&oldid=117339 * GUAqwq * (-2) /* Computational class */
13:33:56 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117341&oldid=117340 * GUAqwq * (+99) /* Computational class */ now Transet is Turing Complete. Yeahhhhhhhhh
13:34:24 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117342&oldid=117341 * GUAqwq * (+1) /* Binary numbers to integer */
13:37:11 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117343&oldid=117342 * GUAqwq * (+118) /* Binary numbers to integer */
13:37:34 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117344&oldid=117343 * GUAqwq * (-28) /* Computational class */
13:38:06 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117345&oldid=117311 * Lilchiky * (+465) adding minor help stuff
13:38:11 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117346&oldid=117344 * GUAqwq * (+0) /* Overview */
13:38:32 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117347&oldid=117346 * GUAqwq * (+0) /* Overview */
13:38:48 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117348&oldid=117345 * Lilchiky * (-2) small grammar mistake
13:40:36 <esolangs> [[Talk:Transet]] https://esolangs.org/w/index.php?diff=117349&oldid=117329 * GUAqwq * (+99)
13:40:55 <esolangs> [[Talk:Transet]] https://esolangs.org/w/index.php?diff=117350&oldid=117349 * GUAqwq * (+9) /* Personal problem on the interpreter or on haskell */
13:41:21 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117351&oldid=117348 * Lilchiky * (-10) forgot about the pentadecimal part
13:42:51 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117352&oldid=117351 * Lilchiky * (+0) no edits
13:44:20 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117353&oldid=117352 * Lilchiky * (+79) disclaimer
13:45:34 <esolangs> [[Bawkbawk]] M https://esolangs.org/w/index.php?diff=117354&oldid=117353 * Lilchiky * (-68) oops no need for that
14:58:07 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117355&oldid=117347 * GUAqwq * (+244) Add Info Box
14:58:40 -!- Lymia has quit (Quit: zzzz <3).
15:00:21 -!- Lymia has joined.
15:00:25 <esolangs> [[Transet]] https://esolangs.org/w/index.php?diff=117356&oldid=117355 * GUAqwq * (+6)
15:04:37 <esolangs> [[Brainlove]] M https://esolangs.org/w/index.php?diff=117357&oldid=105199 * PythonshellDebugwindow * (+29) Categories
15:04:50 -!- Thelie has quit (Quit: Leaving.).
15:05:48 -!- Thelie has joined.
15:13:22 -!- Thelie has quit (Quit: Leaving.).
15:30:26 -!- Thelie has joined.
15:35:28 -!- Thelie has quit (Ping timeout: 272 seconds).
15:38:46 <esolangs> [[Deadfish++]] M https://esolangs.org/w/index.php?diff=117358&oldid=117315 * Europe2048 * (+18)
15:39:39 -!- tromp has quit (Read error: Connection reset by peer).
15:59:11 -!- Thelie has joined.
16:26:26 -!- cpressey has joined.
16:59:53 -!- cpressey has quit (Quit: Client closed).
17:06:01 -!- cpressey has joined.
17:07:40 <cpressey> Ha, I just accidentally posted something in #haskell that I meant to post in here.
17:08:01 <cpressey> Something interesting I stumbled across recently, hadn't encountered before, might be of interest here: Augmenting a finite automaton with a single memory cell that holds an element of a given monoid or group: https://arxiv.org/abs/math/0601061v2
17:08:21 -!- cpressey has quit (Client Quit).
17:17:55 -!- cpressey has joined.
17:17:57 <shachaf> Hmm, do you get more from two monoid/group memory cells rather than one (like you do from two integer cells)?
17:21:49 <cpressey> I would imagine you could (often? sometimes?) use a single memory cell with the Cartesian product of the two monoids / groups.
17:21:58 <cpressey> Then again, it's been a long day, my brain is guessing
17:29:13 <shachaf> So for a finite automaton with some sort of cell containing an integer and some reasonable operations (increment/decrement/check for zero?), I vaguely remember that one gives you something weird, but two gives you something Turing-equivalent.
17:31:33 -!- Koen has quit (Remote host closed the connection).
18:01:24 -!- Thelie has quit (Ping timeout: 240 seconds).
18:05:03 <cpressey> Yeah, it's something like, a counter can emulate a stack, so a 1-counter automaton can simulate a PDA and a 2-counter automaton can simulate an automaton with two stacks, i.e., a tape, i.e. a TM.
18:05:59 <shachaf> I don't think a 1-counter automaton can simulate a PDA.
18:06:20 <shachaf> I think you need two counters for a stack, with one scratch counter to do any operations on it.
18:06:22 <cpressey> I'm not sure what carries over when you generalize from integers to these algebraic objects though. The idea seems to be the automaton accepts only if the value returns to the identity element. If you have e.g. a free monoid, that's basically never going to happen
18:06:38 <shachaf> So you can do two stacks with four counters. But you can also simulate four counters with two counters. Something like that.
18:28:40 -!- b_jonas has joined.
18:31:15 <b_jonas> cpressey: what operations do you have on that element? if you have an element that's a pair of integers, but you can only multiply it with a constant or compare to zero, then that probably won't let you make a two-counter machine.
18:34:04 <b_jonas> although it's possible that it might give you more power than a one-counter machine, because you could eg. recognize strings from {a,b,c,d} alphabet that has an equal number of a to b and equal number of c to d, which I think you can't do on a one-counter machine. if you have just one counter, you can't multiply it with primes so you can't do the encoding trick like with two counters.
18:34:18 -!- cpressey has quit (Ping timeout: 245 seconds).
18:34:27 <b_jonas> I don't really know what you can recognize with one counter in fact
18:44:21 -!- cpressey has joined.
18:45:04 <cpressey> shachaf: you're right, I had to look it up again; you need 2 counters to simulate a stack. So 4 counters can simulate a tape. But (somehow) 2 counters can also simulate 4 counters so can simulate a tape.
18:50:55 <zzo38> I had started to read the linked PDF.
18:51:04 -!- Thelie has joined.
18:55:12 <b_jonas> fungot, how do you spell "antediluvian"?
18:56:56 <b_jonas> cpressey: yes, two counters (or, if you prefer, two stacks with just one possible symbol on the stack but an empty stack distinguishable) is Turing-complete, you just get another level of exponential slowdown compared to having three or more counters, see https://esolangs.org/wiki/Minsky_machine
19:00:05 <cpressey> b_jonas: re "what operations do you have on that element" -- that element is a member of a monoid (or group). The operation you get, is the monoid (or group) operation.
19:01:08 <b_jonas> cpressey: right, but you need some operation in how it can affect the automata, like the finite control part can compare the value to zero and go to a different state depending on whether it is, but it could be something more than that
19:01:44 <b_jonas> or it could be less, like the value is only accessable at the very end when the machine wants to halt, and forces the machine to fail to terminate if the value is nonzero
19:13:58 -!- SGautam has joined.
19:15:58 -!- cpressey has quit (Ping timeout: 245 seconds).
19:23:13 -!- Koen has joined.
19:24:39 -!- cpressey has joined.
19:25:51 <cpressey> b_jonas: How the element effects the automaton is, the automaton only accepts if the element is the identity element of the (monoid|group). This is all pretty clearly described on the first page of the paper
19:27:00 <zzo38> I would think that the blind counter automata could accept e.g. ("xyz",0) if it originally accepted "xyz" according to the definition of "blind counter automata" in the document
19:51:40 <b_jonas> cpressey: oh, so you were reading a paper. ok.
19:52:06 <b_jonas> yeah, you linked to https://arxiv.org/abs/math/0601061v2
20:12:20 -!- __monty__ has quit (Quit: leaving).
20:20:32 -!- Thelie has quit (Ping timeout: 260 seconds).
20:21:23 -!- Thelie has joined.
20:24:39 <esolangs> [[Talk:Nice]] N https://esolangs.org/w/index.php?oldid=117359 * Europe2048 * (+136) Created page with "An interepter for Nice may not be possible. --~~~~"
20:31:48 -!- ais523 has joined.
20:32:14 <ais523> cpressey: in a stunning example of incredibly slow TCness constructions, my TCness proof for Netrunner uses two counters to simulate two counters
20:33:02 <ais523> (using the normal "2 counters to simulate n counters" construction where one of the counters is a temporary, and the other stores products of primes Fractran-style
20:33:30 <ais523> so there's an extra exponential slowdown on top of the usual for two-counter machines
20:34:23 <ais523> I did it that way because control flow around one of the counters is incredibly limited and I could only just about get a doubler, tripler, halver and thirder implemented in the space available
20:36:39 <ais523> <cpressey> shachaf: you're right, I had to look it up again; you need 2 counters to simulate a stack. So 4 counters can simulate a tape. But (somehow) 2 counters can also simulate 4 counters so can simulate a tape. ← to simulate a stack, you need 1 counter + 1 temporary; to simulate two stacks, you only need 2 counters + 1 temporary because they can share the temporary as long as you don't try to read from / write to both stacks at the same time
20:37:19 <ais523> the temporary is needed to do multiplications/divisions, for much the same reason that you need a temporary to multiply/divide a cell in brainfuck
20:38:07 <shachaf> Isn't there a construction that uses 1 counter + 1 temporary for two stacks?
20:38:28 <ais523> shachaf: you can do it indirectly, but not directly
20:39:00 <ais523> by encoding two counters and a temporary into one of the counters, then using the other counter as a temporary to operate on it
20:52:07 <b_jonas> right, encoding as prime products, so your one counter is 2**a*3**b*5**c*... to encode a small number of counters (a,b,c,...), and you use the temporary to do multiplications and divisions (undoing the division if you find that it's not divisible) on the one real counter to simulate increment and decrement-zero-test on the simulated counters
20:53:06 <b_jonas> thus two levels of exponential slowdown to a two-counter Minsky machine, and three levels to ais523's netrunner proof
20:54:23 -!- cpressey has quit (Quit: Client closed).
20:55:11 <ais523> I suspect at least one of those levels is not essential to the Netrunner proof
20:58:39 <shachaf> Oh boy, I haven't seen this one before: https://knexator.itch.io/tres-undos
20:59:30 <b_jonas> shachaf: that is either the same or similar to another game that someone mentioned on this channel
21:00:45 <b_jonas> shachaf: https://logs.esolangs.org/libera-esolangs/2023-03.html#l2u
21:02:59 <b_jonas> but they do have some things in common
21:10:56 -!- arseniiv has quit (Quit: gone too far).
21:10:56 <esolangs> [[Spiral Rise]] https://esolangs.org/w/index.php?diff=117360&oldid=95429 * Ais523 * (-4405) tag systems are Turing-complete with only 5 symbols, because you can compile any (without loss of generality) Spiral Rise program into a 5-symbol tag system
21:11:43 <esolangs> [[Spiral Rise]] M https://esolangs.org/w/index.php?diff=117361&oldid=117360 * Ais523 * (+15) /* 5-symbol tag system */ fix table formatting
21:12:30 <zzo38> I have not play game (it is not working on my computer), although, it does resemble other game I saw mentioned here before, which also I had seen some picture and guess its working, like it is based on undo some things but not others, I think.
21:12:47 <ais523> I didn't expect tag systems to get quite *that* small – 19 seemed improvable-on but 5 is a big improvement from there
21:15:43 <esolangs> [[Spiral Rise]] https://esolangs.org/w/index.php?diff=117362&oldid=117361 * Ais523 * (+5564) restore the rest of the page, which accidentally got deleted (my browser crashed while I was making a previous edit, which may have caused the problem)
21:21:47 -!- Thelie has quit (Remote host closed the connection).
21:23:26 -!- SGautam has quit (Quit: Connection closed for inactivity).
21:59:09 <esolangs> [[User:Theki/Dummy]] https://esolangs.org/w/index.php?diff=117363&oldid=107804 * Theki * (+19) /* Data Types */
22:04:54 <esolangs> [[Fish]] https://esolangs.org/w/index.php?diff=117364&oldid=108174 * Theki * (+2)
22:32:54 -!- Koen has quit (Quit: Leaving...).
22:52:42 -!- Sgeo has joined.
22:55:39 -!- moony has quit (Ping timeout: 255 seconds).
22:56:09 -!- moony3 has joined.