IRC Log - 2025-03-22 - ##forth

Channel: ##forth
Total messages: 51
Time range: 02:00:00 - 23:50:01
Most active: cleobuline (24), ForthBot (9), amby (8)
02:00:00 ##forth <cleobuline> LOAD "test.fth"
02:00:24 ##forth <cleobuline> ForthBot: EURO
02:00:25 ##forth <ForthBot> Unknown word: EURO
02:00:57 ##forth <cleobuline> ForthBot: WORDS
02:00:57 ##forth <ForthBot> DP
03:03:57 ##forth <cleobuline> ForthBot: CLOCK .
03:03:57 ##forth <ForthBot> 1742609037
03:04:43 ##forth <cleobuline> ForthBot: LOAD "test.fth"
03:05:12 ##forth <cleobuline> ForthBot: LOTO
03:05:12 ##forth <ForthBot> 32 15 11 25 30 1
03:29:56 ##forth <cleobuline> ForthBot: : years CLOCK 31536000 / . ." years since Unix epoch" ;
03:31:01 ##forth <cleobuline> ForthBot: years
03:31:01 ##forth <ForthBot> 55
12:32:10 ##forth <cleobuline> hello
12:39:01 ##forth <X-Scale> be welcome, cleobuline
12:51:20 ##forth <cleobuline> georges foreman is dead
12:51:28 ##forth <cleobuline> sight !
13:04:37 ##forth <cleobuline> hello-operator: X-Scale : comment va tu ?
14:12:17 ##forth <cleobuline> ForthBot: LOAD "test.fth"
14:12:56 ##forth <cleobuline> now accept multilines definition in uploaded file https://github.com/cleobuline/some-c-sources/blob/main/forth_gmp_irc_bot.c
14:13:39 ##forth <cleobuline> next should accept multilines definition in chatbot
16:04:08 ##forth <cleobuli_> no multilines should be a garbages systèm
16:04:51 ##forth <cleobuli_> firs of all i must transform the bot to be multiuser .. big job to adapt
16:05:56 ##forth <cleobuli_> may be each user may have his own dictionnary too :)
23:12:03 ##forth <cleobuline> hello
23:12:16 ##forth <cleobuline> ForthBot: 123456789123457 PRIME? .
23:12:17 ##forth <ForthBot> 1
23:12:22 ##forth <cleobuline> i win !
23:13:23 ##forth <cleobuline> nice it's fast enough
23:16:54 ##forth <cleobuline> ForthBot: 123456789123457 3 * 123456789123457 5 * PGCD .
23:16:54 ##forth <ForthBot> 123456789123457
23:25:42 ##forth <MrMobius> how do Forths usually handle alignment? im working on a Forth for SH4 and writing an unaligned 32-bit value turns into writing each byte separately
23:26:40 ##forth <MrMobius> @ and ! could round the pointer up if it's unaligned but then you need to copy the rounded pointer back to what generated it
23:42:45 ##forth <cleobuline> ForthBot: : INIT-RANDOM CLOCK SEED ! ;
23:43:01 ##forth <cleobuline> ForthBot: 1 100 RAND .
23:43:02 ##forth <ForthBot> 7
23:43:10 ##forth <cleobuline> ForthBot: 1 100 RAND .
23:43:10 ##forth <ForthBot> 76
23:43:27 ##forth <cleobuline> nice
23:44:36 ##forth <amby> MrMobius: depends on the host machine, i assume
23:44:47 ##forth <amby> x86 handles unaligned accesses transparently for you
23:45:05 ##forth <amby> you just lose atomicity (which tbh in a forth you're probably not concerned about) and a bit of performance
23:45:28 ##forth <amby> whereas arm shits itself and cries
23:45:33 ##forth <MrMobius> im asking because unaligned accesses on this architecture cause an exception
23:46:12 ##forth <amby> checking for alignment in every ! and @ is gonna be a bit slow
23:46:31 ##forth <amby> so you could have those just fault if the address isn't aligned
23:46:44 ##forth <amby> and then have some separate words for accessing addresses that aren't aligned
23:47:13 ##forth <amby> as a general rule you shouldnt need misaligned accesses unless you're scraping up the last few bits of memory
23:48:06 ##forth <MrMobius> heh im not sure "just fault" is a good solution
23:48:52 ##forth <MrMobius> if you let the users use ! and c! and so on as they like, how do you avoid misaligned access?
23:50:01 ##forth <MrMobius> it comes down to a contract with the user where if they dont follow they rules they pay the price which could be an exception but id like to avoid that