00:00:00 --- log: started forth/20.01.25 00:13:14 --- quit: WickedShell (Remote host closed the connection) 00:38:32 --- join: dave0 joined #forth 00:57:04 --- quit: proteus-guy (Ping timeout: 268 seconds) 01:13:18 --- join: proteus-guy joined #forth 02:20:56 --- quit: proteus-guy (Ping timeout: 268 seconds) 02:42:27 --- join: jedb_ joined #forth 02:45:56 --- join: jedb__ joined #forth 02:46:02 --- quit: jedb (Ping timeout: 268 seconds) 02:48:26 --- quit: jedb_ (Ping timeout: 260 seconds) 02:56:59 --- join: patrickg joined #forth 03:08:14 --- quit: X-Scale (Ping timeout: 268 seconds) 03:08:21 --- join: X-Scale` joined #forth 03:09:25 --- nick: X-Scale` -> X-Scale 03:12:20 --- join: xek joined #forth 03:28:06 --- quit: jedb__ (Remote host closed the connection) 03:32:29 --- quit: xek (Ping timeout: 265 seconds) 04:05:57 --- join: jedb__ joined #forth 04:49:37 --- quit: X-Scale (Ping timeout: 240 seconds) 04:51:05 --- join: X-Scale` joined #forth 04:52:08 --- nick: X-Scale` -> X-Scale 05:15:25 --- join: dddddd joined #forth 05:20:27 --- quit: gravicappa (Ping timeout: 265 seconds) 05:47:55 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 05:50:56 --- join: gravicappa joined #forth 07:27:57 --- join: proteus-guy joined #forth 08:02:51 --- quit: jsoft (Ping timeout: 260 seconds) 08:13:32 --- quit: cp- (Quit: Disappeared in a puff of smoke) 08:14:51 --- join: cp- joined #forth 08:49:44 --- quit: proteus-guy (Ping timeout: 265 seconds) 10:13:07 --- join: dys joined #forth 11:27:09 is there an accepted way to replace constants in a Forth file like #define in C? Im thinking about running the file through the C preprocessor if there is no other way 11:36:10 --- quit: dave0 (Quit: dave's not here) 11:42:01 --- quit: reepca (Ping timeout: 240 seconds) 11:45:03 --- join: ryke joined #forth 12:10:46 --- quit: ryke (Ping timeout: 260 seconds) 12:12:59 maybe an alternative would be a word that fetches the value of a constant and inserts it as a literal so the constant can be unloaded later. is that possible? 12:21:27 : constant create immediate , does> @ state @ if literal then ; 12:22:01 that will do what you want, I think, unless you execute EXECUTE against its xt while in compilation state 12:22:44 which is a general problem with "smart" words 12:22:46 wait 12:23:14 : constant create immediate , does> @ state @ if postpone literal then ; 12:24:57 why is the immediate needed? 12:25:10 yeah, just checked, it does work 12:25:26 MrMobius: so it will insert the literal in compilation state properly 12:27:22 without immediate it cannot actually insert the constant into the code being compiled 12:28:00 note that this does not make CONSTANT immediate 12:28:10 but it rather makes the word instantiated by it immediate 12:35:00 awesome. thanks a lot 13:02:31 hmm, why doesnt this work? : c1 postpone literal ; 4 5 : c2 c1 . ; c2 13:02:37 it prints 4 instead of 5 13:05:38 --- join: jsoft joined #forth 13:06:29 the forth may add arbitrary items on the stack between the : and ; 13:45:50 --- quit: dys (Ping timeout: 265 seconds) 13:54:31 --- quit: gravicappa (Ping timeout: 265 seconds) 14:07:46 --- join: TwoNotes joined #forth 14:09:09 works if i change c1 to immediate 14:09:12 i think i get it 14:11:07 --- join: reepca joined #forth 14:43:15 --- join: deesix_ joined #forth 14:43:27 --- join: dddddd_ joined #forth 14:45:52 --- quit: deesix (Ping timeout: 268 seconds) 14:46:45 --- quit: dddddd (Ping timeout: 272 seconds) 14:54:10 --- nick: dddddd_ -> dddddd 14:54:20 --- nick: deesix_ -> deesix 17:21:52 --- nick: jedb__ -> jedb 17:35:46 MrMobius, I don't understand are you trying to change constants before calling the Word that uses them ? 18:00:11 --- join: iyzsong joined #forth 18:11:45 --- join: proteus-guy joined #forth 18:18:29 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 18:18:55 --- join: iyzsong joined #forth 18:35:53 --- join: dave0 joined #forth 18:54:49 I am confused 19:18:43 --- part: TwoNotes left #forth 19:46:21 --- quit: proteus-guy (Ping timeout: 260 seconds) 19:55:42 --- join: rdrop-exit joined #forth 19:55:58 Premature abstraction is the root of all bloat. 19:56:02 ;-) 19:59:13 --- quit: reepca (Ping timeout: 240 seconds) 20:03:36 rdrop-exit, you Zen Forth Guru! 20:04:13 hello tpbsd :) 20:04:49 I have come to a stunning realization which in hindsight should have been obvious to me. 20:05:22 you have those as well ?? ;-) 20:05:55 Many of today's programmers conflate lack of abstraction with optimization. 20:06:59 In their mind if you're not adding layers of abstraction, then to them, you are by definition optimizing. 20:08:17 If you just code the obvious solution to the problem in front of you, they scoff and accuse you of premature optimization. 20:10:19 While from my point of view they are adding bloat by doing premature abstraction. 20:10:51 youre referring to C I imagine ? 20:11:23 Actually it was Forth discussion that brought me to the realization. 20:11:42 * was a Forth ... 20:13:09 wow 20:17:59 For them the way to solve the problem in front of you is to begin with abstraction. 20:20:50 As Chuck would say they are always focused on solving a more general problem then the one in front of them. 20:20:56 yeah 20:21:36 sadly all those that once knew Forth are gone and none now live that remember it ... 20:22:58 the wheel will make a full circle eventually 20:25:20 "I still believe in abstraction, but now I know that one ends with 20:25:20 abstraction, not starts with it. I learned that one has to adapt 20:25:22 abstractions to reality and not the other way around." 20:25:30 -- Alexander Stepanov 20:31:12 lunch is ready, catch you later Master Forth Technician (tm)! :) 20:31:20 --- quit: rdrop-exit (Quit: Lost terminal) 20:31:36 cya! 20:42:17 crc, im trying to write Forth on a 6502 system with 16k banks. constant takes up 13 bytes plus the length of the constant name. i pasted in 250 constants which came to 7k and overflowed the bank 20:43:31 so i can keep them in a separate bank and bank switch every time i need a constant which is slow or do what tabemann helped me with 20:44:39 which just leaves the literal behind in the main bank so i can ignore the constants in the ither bank after everything is defined and dont have to bank switch 20:44:42 --- quit: iyzsong (Read error: Connection reset by peer) 20:44:59 --- join: iyzsong joined #forth 21:11:14 --- join: gravicappa joined #forth 22:38:07 --- quit: dddddd (Remote host closed the connection) 22:54:38 --- join: reepca joined #forth 23:42:48 --- quit: MrMobius (Ping timeout: 268 seconds) 23:59:59 --- log: ended forth/20.01.25