00:31:53 -!- vyv has joined.
01:03:26 <esolangs> [[TACC]] https://esolangs.org/w/index.php?diff=120862&oldid=109019 * Kaveh Yousefi * (+220) Added a hyperlink to my implementation of the TACC programming language on GitHub and supplemented two category tags.
01:04:54 <esolangs> [[TACC]] https://esolangs.org/w/index.php?diff=120863&oldid=120862 * Kaveh Yousefi * (+675) Supplemented three further example programs, namely (1) a truth-machine, (2) an ASCII code range printer, and (3) a Hello, World! example.
01:11:22 <esolangs> [[4RL]] M https://esolangs.org/w/index.php?diff=120864&oldid=119803 * Kaveh Yousefi * (-2) Elided two supernumerary spaces from the Program Termination example.
01:12:35 -!- wpa has quit (Quit: Connection closed for inactivity).
01:29:54 -!- vyv has quit (Quit: Konversation terminated!).
01:33:32 <esolangs> [[Special:Log/newusers]] create * PikaboyPlaysGames * New user account
01:43:03 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=120865&oldid=120836 * PikaboyPlaysGames * (+229) /* Introductions */
01:48:29 <esolangs> [[User:PikaboyPlaysGames]] N https://esolangs.org/w/index.php?oldid=120866 * PikaboyPlaysGames * (+69) Created page with "Working on Scratcholang, an Esolang made in [[User:Scratch|Scratch]]."
01:52:19 <esolangs> [[Special:Log/move]] move * Ais523 * moved [[Category:Programs]] to [[User:Xi-816/Programs]]: apparently created in wrong namespace
01:52:19 <esolangs> [[Special:Log/move]] move * Ais523 * moved [[Category talk:Programs]] to [[User talk:Xi-816/Programs]]: apparently created in wrong namespace
01:52:48 <esolangs> [[User talk:Xi-816/Programs]] https://esolangs.org/w/index.php?diff=120869&oldid=120868 * Ais523 * (+217) /* I don't know what this is for */ moved to userspace
01:53:06 <esolangs> [[User talk:Xi-816/Programs]] M https://esolangs.org/w/index.php?diff=120870&oldid=120869 * Ais523 * (+1) /* I don't know what this is for */ fix typo
04:43:38 <esolangs> [[Special:Log/newusers]] create * Ivy864 * New user account
05:13:34 <esolangs> [[Morshu]] https://esolangs.org/w/index.php?diff=120871&oldid=120710 * Squidmanescape * (+62) /* Prints 1 to 9 */
06:29:07 -!- ais523 has quit (Quit: quit).
06:39:09 -!- wpa has joined.
06:59:42 -!- Qaziquza has joined.
07:01:58 -!- Qaziquza has quit (Client Quit).
07:02:07 <isabella> int-e you're the only person in the global leaderboard that i know from irc
07:06:29 <int-e> it's a weird place to be
07:06:41 <int-e> just like this channel I guess
07:09:45 <esolangs> [[Scratcholang]] N https://esolangs.org/w/index.php?oldid=120872 * PikaboyPlaysGames * (+2021) Created page with "Scratcholang is an [[Esoteric programming language|esoteric programming language]] created by [[User:PikaboyPlaysGames]] that you are officially able to use in [[User:Scratch|Scratch]], another esolang. You can use it [https://scratch.mit.edu/projects/941
07:26:41 <int-e> isabella: I mean it btw, that leaderboard is not something anyone should aim for. If you want some competition, find a private leaderboard from a community you care about (do most programming languages do that?) Or make your own with a couple of friends.
08:01:48 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120873&oldid=120872 * PikaboyPlaysGames * (+1669)
08:02:15 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120874&oldid=120873 * PikaboyPlaysGames * (+0) /* External Resources */
08:02:45 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120875&oldid=120874 * PikaboyPlaysGames * (+0) /* External Resources */
08:03:42 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120876&oldid=120875 * PikaboyPlaysGames * (-2) /* External Resources */
08:04:36 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120877&oldid=120876 * PikaboyPlaysGames * (+5) /* Not implemented into the project yet */
08:05:50 <esolangs> [[User:PikaboyPlaysGames]] https://esolangs.org/w/index.php?diff=120878&oldid=120866 * PikaboyPlaysGames * (+4)
08:06:55 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120879&oldid=120877 * PikaboyPlaysGames * (+24)
08:08:53 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120880&oldid=120879 * PikaboyPlaysGames * (+20)
08:42:06 <esolangs> [[User:Kiken/Implementations]] N https://esolangs.org/w/index.php?oldid=120881 * Kiken * (+83) Created page with "This page is where I create my implementations before posting them on Esolang wiki."
08:52:52 -!- tromp has joined.
08:53:02 <wpa> what is a leaderboard
08:55:08 <wpa> int-e: fungot is that you?
09:10:16 -!- tromp has quit (Read error: Connection reset by peer).
09:15:32 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120882&oldid=120880 * PikaboyPlaysGames * (+0)
09:16:56 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120883&oldid=120882 * PikaboyPlaysGames * (-16) /* Not implemented into the project yet */
09:25:32 -!- Sgeo has quit (Read error: Connection reset by peer).
09:28:08 <b_jonas> ``` echo -n 'wpa: '; \? aoc
09:28:08 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
09:28:11 <HackEso> wpa: aoc Advent of Code (AoC) is a series of programming puzzles that some regulars enjoy, found at "https://adventofcode.com/about"
09:28:41 -!- Lord_of_Life has joined.
10:07:18 -!- tromp has joined.
10:11:28 -!- Koen_ has joined.
10:17:07 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120884&oldid=120883 * PikaboyPlaysGames * (+54) /* Language Overview */
10:26:24 -!- supercode has joined.
10:37:01 -!- supercode has quit (Quit: Client closed).
10:38:08 -!- supercode has joined.
10:45:00 <esolangs> [[Talk:\]] https://esolangs.org/w/index.php?diff=120885&oldid=120855 * None1 * (+231)
10:46:36 <esolangs> [[Talk:\]] M https://esolangs.org/w/index.php?diff=120886&oldid=120885 * None1 * (+11) I think \ is TC but can't prove that
10:48:09 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120887&oldid=120884 * None1 * (-17) Scratch is '''not''' an esolang.
10:48:10 -!- __monty__ has joined.
10:52:22 <esolangs> [[Talk: bytes :3]] N https://esolangs.org/w/index.php?oldid=120888 * None1 * (+111) Created page with "Yes, but [[0 bytes XD]] exists. --~~~~"
11:07:39 <esolangs> [[Op]] N https://esolangs.org/w/index.php?oldid=120889 * None1 * (+436) Created page with "{{lang|a=User:None1|f=a shorter version of [[Output]]}} ==Commands== {| class="wikitable" ! Output !! Op |- | Input || i |- | Output the input || oi |- | Output the program's source code || os |- | Output "''string''" || o"''string''" |} ==Example programs== ===[[Hello World]]=
11:13:58 <esolangs> [[Op]] https://esolangs.org/w/index.php?diff=120890&oldid=120889 * None1 * (+221)
11:19:27 <esolangs> [[Talk:Output]] N https://esolangs.org/w/index.php?oldid=120891 * None1 * (+296) Created page with "This isn't surprising, because every "Output the program's source code" will print n "Output the program's source code"'s so n "Output the program's source code"'s will print n^2 "Output the program's source code"'s. --~~~~"
11:21:24 <esolangs> [[Output]] https://esolangs.org/w/index.php?diff=120892&oldid=120857 * None1 * (+52)
11:21:34 <esolangs> [[Output]] M https://esolangs.org/w/index.php?diff=120893&oldid=120892 * None1 * (+0) /* See also */
11:22:31 <esolangs> [[Op]] M https://esolangs.org/w/index.php?diff=120894&oldid=120890 * None1 * (+80)
11:22:56 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=120895&oldid=120803 * None1 * (+9) /* O */
11:23:42 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=120896&oldid=120804 * None1 * (+45) /* My Esolangs */
11:43:08 -!- chiselfuse has quit (Remote host closed the connection).
11:43:36 -!- chiselfuse has joined.
11:44:37 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120897&oldid=120887 * PikaboyPlaysGames * (+0) /* Truth machine program */
11:44:49 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120898&oldid=120897 * PikaboyPlaysGames * (-2) /* Truth machine program */
11:45:20 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120899&oldid=120898 * PikaboyPlaysGames * (-104) /* Not implemented into the project yet */
11:45:37 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120900&oldid=120899 * PikaboyPlaysGames * (-4)
11:45:51 <esolangs> [[Scratcholang]] https://esolangs.org/w/index.php?diff=120901&oldid=120900 * PikaboyPlaysGames * (-12) /* External Resources */
11:54:03 <esolangs> [[User:PikaboyPlaysGames]] https://esolangs.org/w/index.php?diff=120902&oldid=120878 * PikaboyPlaysGames * (-73) Blanked the page
11:58:25 -!- chiselfuse has quit (Remote host closed the connection).
11:58:44 -!- chiselfuse has joined.
12:29:08 -!- drummyfish has joined.
12:31:41 <drummyfish> hello everyone :) do you know if there is a place to discuss/share custom-made/hobby programming languages, like esolang wiki but for "serious" languages? I'm working on one but don't know where to share it
12:38:54 -!- wpa has quit (Quit: Connection closed for inactivity).
12:59:52 -!- wib_jonas has joined.
13:00:35 <wib_jonas> drummyfish: you can tell about those languages here
13:01:00 <wib_jonas> even for languages that don't count as esoteric
13:03:58 <drummyfish> OK, that's great, if you want to see it check it out at https://codeberg.org/drummyfish/comun. Still it would be nice to have some kind of long term thread on some forum maybe, if you know about any communities like that I would appreciate them :)
13:04:30 -!- drummyfish has quit (Quit: Client closed).
13:04:44 -!- tastyfish_ has joined.
13:05:22 <tastyfish_> (I am drummyfish now, relogged onto HexChat, web IRC was killing my machine)
13:07:35 <tastyfish_> currently working on self hosting the language, it can already interpret its own bytecode, it's kind of like Forth averaged with C and Brainfuck if I had to sum it up
13:45:08 <wib_jonas> tastyfish_: ok, so I'm looking at the document https://codeberg.org/drummyfish/comun/src/branch/master/docs/comun_specification.md and there's something I don't understand. you have the $+N command which lets you index an array, but I don't understand how you can use that to index, say, an array of 8-byte integers using a 32-bit integer index. is
13:45:09 <wib_jonas> there some way to specify which type of pointer you want to modify?
13:48:17 <tastyfish_> Currently not you can't modify a pointer that's in 8bit type environment from another (e.g. 32bit) type environment, if it showed to be needed I might consider it for new versions.
13:49:06 <wib_jonas> that makes 8-bit numbers very hard to use then, unless all you want to use them for is interpret brainfuck
13:50:16 <tastyfish_> Maybe, if it shows to be a practical issue I may consider handling this somehow, HOWEVER note that pointers in 8bit type env. MAY hold big addresses, you just cannot add big numbers to them this way.
13:51:33 <tastyfish_> So you may shift a pointer by a big value, you may just need to do it using a loop now. It's a bit shitty but the idea is that by using this type environment you kind of subscribe to "being on an 8bit computer" where it works like this
13:52:32 <tastyfish_> I will add the idea to the README tho, thanks for suggestion.
13:58:11 <tastyfish_> To add a bit more justification to this: I wanted to allow specifying different width integers AND keep a "fast/native integer" type as well, as that I feel is pretty important, hence the type environments, however allowing complex interaction between these environments will complicate the language a lot, so this is a kind of middle way, a "balance" I feel is okay, so far it has shown to be comfortable for me
13:59:41 <tastyfish_> usually I store a lot of 1byte data in type env. 8, then when processing them just shift one by one, bringing them over to the native environment, processing them and pushing them back (kind of like CPU does it with registers)
14:02:35 <wib_jonas> you could just make the pointer increment command always pop the index from the native sized integers stack
14:05:21 <tastyfish_> that's a reasonable proposal :) will require an extra bytecode instruction but I will note it -- also thanks for playing around with my language :)
14:10:05 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=120903&oldid=120859 * Cleverxia * (+54)
14:11:32 <esolangs> [[AEAV]] https://esolangs.org/w/index.php?diff=120904&oldid=120847 * Infinitehexagon * (+79)
14:15:08 <wib_jonas> tastyfish_: secondly, https://codeberg.org/drummyfish/comun/src/branch/master/src_c/comun.h#L1831 in the CMN_pseudohash function I don't understand what the point is the vmul variable. Nor do I understand why you expect the branch for non-short symbols to work even reasonably well. As far as I understand, it just saves the first five characters of
14:15:09 <wib_jonas> the symbol, the length of the symbol, and the sum of all characters in the symbol.
14:15:23 <esolangs> [[AEAV]] https://esolangs.org/w/index.php?diff=120905&oldid=120904 * Infinitehexagon * (+13) /* Counter */
14:15:56 <esolangs> [[AEAV]] https://esolangs.org/w/index.php?diff=120906&oldid=120905 * Infinitehexagon * (-61) /* Instructions */
14:16:07 <esolangs> [[AEAV]] https://esolangs.org/w/index.php?diff=120907&oldid=120906 * Infinitehexagon * (+3) /* Instructions */
14:17:06 <wib_jonas> heck, save the first *four* characters of the symbol, not even five
14:19:03 <tastyfish_> think you found a bug, it should store a product of all characters ^_^
14:21:32 <tastyfish_> the whole pseudohash stores computes something like a string hash but yes, it keeps the first N characters same as the string so that a human can still see what the symbol is when looking at the symbol table, the "hash" part is the last 3 bytes of the "pseudohash"
14:23:09 <tastyfish_> this has properties some nice properties of a hash like fixed size but also makes e.g. debugging easier, nicer transpilers that may just use the string "pseudohash" as the actual symbol in the transpiled code
14:24:33 <esolangs> [[AEAV]] https://esolangs.org/w/index.php?diff=120908&oldid=120907 * Infinitehexagon * (+212)
14:27:32 -!- supercode has quit (Quit: Client closed).
14:27:51 -!- supercode has joined.
14:29:12 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
14:29:13 <wib_jonas> yes, I think it's a bad idea. firstly, you really should store the whole symbol and compare the whole symbol at lookups. secondly, if you for some reason didn't want to store the whole symbol and compare only a hash, then you should use a cryptographically secure hash with much more than just 8 bytes of key space. thirdly, even if you do compare
14:29:14 <wib_jonas> the whole symbol and use a hash only to speed up lookup, you should use a better hash.
14:30:39 <tastyfish_> why cryptographically secure hash? Remember, this I am aiming for simplicity, I can't use tables with arbitrary length strings.
14:32:14 <tastyfish_> the probability of collisions here is pretty low: the strings would have to be longer than the limit size AND have the same length AND have the same checksum AND have the same checkproduct, that's good enough for programs I am considering really
14:33:04 -!- wib_jonas has quit (Quit: Client closed).
14:43:41 -!- tromp has joined.
14:44:10 -!- tromp has quit (Client Quit).
14:44:49 -!- tromp has joined.
14:48:36 -!- wib_jonas has joined.
14:54:17 <wib_jonas> "the strings would have to be longer than the limit size" => the limit size right now is 7. if all your symbols are that short then sure, then your current arrangement can work. "I can't use tables with arbitrary length strings" => you can, it's not hard if you never want to delete them, just store them successively (with nul delimiters) into a
14:54:18 <wib_jonas> single string table, and store the index of where the symbol starts in the symbol table. that's one of those cases when indexing into an array of 8-bit integers with a normal sized integer is useful. "have the same length AND have the same checksum AND have the same checkproduct" => I don't think that is enough really.
14:58:43 <tastyfish_> AND they have to start with the same N characters in addition :) It's good enough for now, the C implementation is only temporary really and the max length of the string can be adjusted. Yes I could store variable size strings kind of easily but this is yet easier, I simply NOWEHERE consider strings longer than N, that's a great simplification.
15:01:05 -!- supercode has quit (Quit: Client closed).
15:14:40 -!- wib_jonas has quit (Quit: Client closed).
15:15:02 -!- wib_jonas has joined.
15:15:45 <wib_jonas> tastyfish_: ok, so I hashed the words in your commun.h source file, and the folowing groups of two or three identifiers each have the same hash, at least if I understand correctly what your hashing function does: https://dpaste.org/CVzOT
15:16:11 <wib_jonas> obviously that's a C program so you won't compile it with the comun compiler, but if you tried to use these identifiers in a comun program then they wouldn't work
15:17:44 <tastyfish_> hmm, they DO work in the self hosted interpreter I am writing, but it may be just by chance, wait I'll take a look
15:17:51 -!- tromp has quit (Read error: Connection reset by peer).
15:18:16 <esolangs> [[Exclamation]] N https://esolangs.org/w/index.php?oldid=120909 * Infinitehexagon * (+462) Created page with "'''Exclamation''' is an esoteric programming language desgined by [[User:Infinitehexagon]] that was inspired by [[Kak]] and [[Ultimate_bf_instruction_minimalization! | UBFIM]]'s minimalized instructions. {{WIP}} == Instructions == {| class="wikitable" ! Ins
15:18:17 <tastyfish_> if so then I'll probably just increase the maximum string length for now and will consider something better for the self hosted implementation
15:19:42 <tastyfish_> oh yeah, they work because in the commun utility I actually redefine the length to 16, 7 is probably too dangerous still, you're right
15:19:51 <wib_jonas> hmm wait, you changed the vmul to compute it a bit better than what I compute, let me try that
15:20:22 <tastyfish_> yeah but you're right kind of, the length should at least be increased
15:20:39 <wib_jonas> that is significantly better, then {CMN_OPCODE_TRA CMN_OPCODE_LXC} is the only collision
15:20:46 <tastyfish_> the strings that are like 1 or 2 characters longer than the max length are dangerous
15:20:58 <wib_jonas> still not a good hash function, but better than the one I tried above
15:22:29 <tastyfish_> thanks for checking this btw I really appreciate it
15:29:06 <wib_jonas> from the self-hosted interpreter in src_cmn, it seems like CMN_OPCODE_LXC and CMN_OPCODE_LX are unused. if so then that might be why the collision isn't a problm
15:31:21 <wib_jonas> though I'm probably missing something because I don't see how any of these CMN_OPCODE_* thingies are generated
15:33:03 <tastyfish_> I think they may be unused as I handle these in a final else branch, otherwise I would likely get a buggy code and would have already seen this issue :)
15:45:57 -!- tromp has joined.
15:49:16 <esolangs> [[Joke language list]] M https://esolangs.org/w/index.php?diff=120910&oldid=120903 * Laclale * (+0)
16:00:48 -!- Thelie has joined.
16:02:45 <esolangs> [[Comun]] N https://esolangs.org/w/index.php?oldid=120911 * B jonas * (+1561) Created page with "Comun is a stack-based imperative toy language created by drummyfish. Comun works on compile-time allocated arrays made integers of various sizes, as well as compile-time allocated single pointers into these arrays. The pointers are mutable, but you can't have arrays
16:07:16 <esolangs> [[I'm Blue]] M https://esolangs.org/w/index.php?diff=120912&oldid=104951 * PythonshellDebugwindow * (+132) Categories
16:10:57 -!- ivy864 has joined.
16:11:06 -!- ivy864 has quit (Client Quit).
16:35:05 -!- Thelie has quit (Read error: Connection reset by peer).
16:35:37 -!- Thelie has joined.
16:37:21 <esolangs> [[User:Bil-joodusstudios]] M https://esolangs.org/w/index.php?diff=120913&oldid=106609 * Bil-joodusstudios * (-77) /* Languages I'm working on */
16:41:56 -!- Thelie has quit (Ping timeout: 268 seconds).
17:09:58 -!- wib_jonas has quit (Quit: Client closed).
17:15:16 -!- Thelie has joined.
17:21:11 -!- Thelie has quit (Ping timeout: 245 seconds).
17:23:34 -!- wpa has joined.
18:03:46 <b_jonas> tastyfish_: anyway, aside from the problem with indexing arrays of small integers, I like your specification document. I think you have a good coherent vision here of how to make a decent small general-purpose language that can be compiled if need be. I hope you complete the self-hosted interpreter because that will be a good stress-test that everything is working as intended.
18:04:48 <b_jonas> and the array indexing is something you can fix easily
18:15:19 <esolangs> [[Watnoxt]] https://esolangs.org/w/index.php?diff=120914&oldid=110072 * Vallee152 * (+107) general edits. Fixing some parts that I didn't like
18:19:42 <b_jonas> tastyfish_: I think in comun.h:581 in the CMN_unsignedToSigned32 function the cast to int32_t is in the wrong place. you should multiply by -1 first and then cast to int32_t, otherwise this can result in a signed integer overflow when value = 0x80000000, bits = 32
18:20:09 <b_jonas> zzo38: you should take a look at tastyfish_'s docs and code, I think it's closer to your style than mine so you'll understand it more easily
18:23:03 -!- Thelie has joined.
18:23:23 <esolangs> [[Comun]] https://esolangs.org/w/index.php?diff=120915&oldid=120911 * Tastyfish * (+692) Added examples
18:26:17 <tastyfish_> thank you I will check out that code, until now I got literally no code review, very glad for it :)
18:47:12 -!- Thelie has quit (Read error: Connection reset by peer).
18:47:16 -!- Thelie1 has joined.
18:56:11 <esolangs> [[Special:Log/upload]] upload * Morlus * uploaded "[[File:Morlus.png]]"
18:57:49 <b_jonas> tastyfish_: so there's something I don't understand in the interpreter. docs/comun_specification.md:59 says "do NOT affect values above the final stack top address", but then the interpreter src_c/comun.h:3150 and src_c/comun.h:785 seems to be doing an optimization that elides a write above the stack pointer even though by the spec that shouldn't be allowed. am I reading the code wrong?
19:00:35 -!- Thelie1 has quit (Ping timeout: 260 seconds).
19:03:45 <esolangs> [[User:Morlus]] N https://esolangs.org/w/index.php?oldid=120917 * Morlus * (+668) Created page with "==About== * Hello, I am a programmer with some experience with C, C++, Lua, Python, Java and NodeJS (can be called JavaScript) * The reason my name is Morlus is because I suddenly thought of that name:3 ==Current working projects== * [https://esolang.org/wiki/Prolix P
19:13:13 <tastyfish_> that is rewriting instructions in the bytecode, NOT stack
19:13:43 <tastyfish_> that specific code replaces two instructions with other two instructions
19:15:57 <tastyfish_> i.e. it just replaces instructions with other instructions whose combined effect is the same
19:17:13 <b_jonas> tastyfish_: you had two instructions, one that pushes a constant, then one that pops two values, computes something, and pushes the result. after that sequence you should still have the number that you pushed in the first step, it's above the final top of stack and isn't overwritten. you replace that with a single instruction that doesn't seem to write that constant anywhere onto the stack, so the final
19:17:19 <b_jonas> state of the memory above the top of the stack is different than it should be. isn't that an invalid optimization then?
19:18:20 <tastyfish_> this part is quite tricky but it should work as I tested it quite a lot, I may try to explain it
19:18:51 <tastyfish_> before optimization there is an instruction that pops 2 values and pushes 1, that's clear
19:20:24 <tastyfish_> after it there is one instruction that pops 1 instruction and does the same operation, but the second operand is IMMEDIATE CONSTANT (encoded right in the instruction), and then there is an instruction that pushes a value above the stack (exactly so that the behavior is the same as before)
19:20:28 -!- tromp has quit (Read error: Connection reset by peer).
19:20:48 <tastyfish_> pops 1 value* (sorry today I'm hugely dyslexic, dunno why, slept very bad)
19:20:59 <b_jonas> oh, you do add an instruction that pushes a value above the stack? I probably missed that then
19:22:03 <tastyfish_> the CON instruction that pushes a constant value actually immediately performs a pop (i.e. effectively just writes the value above stack top) unless its "don't pop" bit is set, it behaves like it so that I can do this :D
19:22:26 -!- dnm has quit (Read error: Connection reset by peer).
19:22:36 -!- dnm has joined.
19:22:43 -!- Lymia has quit (Quit: No Ping reply in 180 seconds.).
19:23:55 -!- Lymia has joined.
19:24:06 -!- citrons has quit (Ping timeout: 245 seconds).
19:24:36 -!- tromp has joined.
19:25:01 -!- citrons has joined.
19:25:03 <tastyfish_> the bytecode is not the most elegant part sadly, I dislike it a bit in retrospect, but only mildly, I will go with it for now, the most important thing is to implement and self host (liberate) the language which I think is good, so that programs can already be written
19:25:19 -!- op_4 has quit (Quit: ZNC - https://znc.in).
19:25:50 -!- sprout_ has joined.
19:25:59 -!- op_4 has joined.
19:29:07 -!- sprout has quit (Ping timeout: 255 seconds).
19:37:32 <b_jonas> tastyfish_: in src_c/comun.h:1421 the CMN_literalValue function, the overflow check seems fishy to me. if you have a literal string like "125024104290387576620" then the last digit overflows an uint64_t, but (prev > result) is false, so you don't detect the overflow. I'm not sure if detecting the overflow actually matters in this compiler so this might not be a real problem.
19:37:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:41:19 <tastyfish_> TBH didn't make much effort to handle overflows of very big values, I never consider anything bigger than u64 in this compiler, it would be a low priority issue now
19:41:57 <b_jonas> yeah, it's just a misleading comment then
19:42:52 <tastyfish_> basically the current C implementation is a temporary one before the self host, it's not to be super tidy and robust, and everything is still work in progress of course
19:45:26 <b_jonas> I think the C implementation is tidy enough
19:45:42 <tastyfish_> thanks :) I'm checking out that code now
19:45:43 <b_jonas> I wouldn't be reading its details otherwise
19:48:37 <tastyfish_> oh I see with the overflow, yeah it won't work in some cases, I didn't even think of that
19:48:54 <tastyfish_> how do you correctly check an overflow?
19:52:38 <tastyfish_> I mean I could just limit the number of digits or something, hmmm, maybe I'll just change the comment
19:53:10 <esolangs> [[Minitree]] https://esolangs.org/w/index.php?diff=120918&oldid=120570 * Squidmanescape * (+97) /* Truth Machine */ I can't wait to realize there's something fundamentally wrong here. I feel like there is, but I don't want to fix it... yet.
19:55:15 <b_jonas> uh, I think it's something like, before the multiplication you check if (ok && UINT64_MAX / base < result) *ok = 0; and then after the multiplication and computing the value of the digit but before you add that value to the result you check if (ok && UINT64_MAX - digitValue < result) *ok = 0;
19:56:25 <esolangs> [[User:Squidmanescape]] https://esolangs.org/w/index.php?diff=120919&oldid=120567 * Squidmanescape * (+146) /* My Languages */
19:56:55 <b_jonas> this is totally just a matter of taste but I don't like how the language syntax allows hexadecimal numeric literals but only if you write them in lowercase. I prefer uppercase hexadecimals.
19:57:13 <b_jonas> but I know comun isn't the only thing that does that
19:57:56 <esolangs> [[(top,height) where (coord,value)]] N https://esolangs.org/w/index.php?oldid=120920 * Squidmanescape * (+174) Created page with "This language is similar to [[(top, height)]] but the "x-value" of the coordinate is indicated explicitly, which allows for more compact code. [[Category:Works-in-Progress]]"
20:04:55 -!- tromp has joined.
20:05:24 <zzo38> Uxn also allows only lowercase hexadecimal literals. In TeX, lowercase is required for ^^ and uppercase is required for " which do different things.
20:12:00 <b_jonas> and I didn't know that the hexadecimal thing is what will summon zzo
20:12:44 <zzo38> (Well, I am not always at the computer, or watching the IRC, but sometimes I will be.)
20:13:09 -!- wpa has quit (Quit: Connection closed for inactivity).
20:26:44 <tastyfish_> you may want to check out uxn, it's a kind of super minimalist virtual computer, also stack-based
20:27:47 -!- Thelie has joined.
21:02:52 <esolangs> [[D--]] https://esolangs.org/w/index.php?diff=120921&oldid=120767 * SpooderL * (+1252)
21:04:07 <esolangs> [[D--]] https://esolangs.org/w/index.php?diff=120922&oldid=120921 * SpooderL * (-54)
21:04:40 <esolangs> [[D--]] https://esolangs.org/w/index.php?diff=120923&oldid=120922 * SpooderL * (+0)
21:12:19 -!- Thelie has quit (Ping timeout: 256 seconds).
21:35:51 -!- tastyfish_ has quit (Quit: Leaving).
21:39:35 -!- Thelie has joined.
22:15:52 -!- Thelie has quit (Ping timeout: 268 seconds).
22:30:35 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:52:56 -!- ais523 has joined.
23:29:12 -!- Koen_ has quit (Quit: Leaving...).
23:38:58 -!- Sgeo has joined.
23:46:11 -!- ais523 has quit (Remote host closed the connection).
23:47:17 -!- wpa has joined.
23:47:24 -!- ais523 has joined.