2024-07-13 03:02:57 anyone know of a forth diff program? 2024-07-13 03:03:12 A program written in forth to diff text files. 2024-07-13 04:13:27 i don't think forth can do that. sorry. 2024-07-13 21:16:04 Ah, the old "I don't think you can get there from here." 2024-07-13 21:16:47 Writing a diff in forth would be a fun exercise 2024-07-13 21:17:48 iirc gforth has a string compare word built in. 2024-07-13 21:36:26 kind of a general question, but I was wondering something about lisp vs forth programming: 2024-07-13 21:37:29 so, I sometimes have to deal with writing procedures where the output is the result of some multistep mixture of logic and calculations. in lisp the easy approach is to just bind various steps to let variable names 2024-07-13 21:37:52 wondering how the forth gurus like to deal with that sort of thing 2024-07-13 21:38:52 I've heard the forth philosophy is to break everything into very short words 2024-07-13 21:39:25 but it seems weird to have named words when the 5 words are just helper words for one procedure algorithm, and not reused 2024-07-13 22:13:24 hard in what way? 2024-07-13 22:20:57 not quite understanding the question 2024-07-13 22:46:45 joe9: re: diff in forth; I'll be publishing something on this soon (been working on a few things relating to diff & patch for a private version control scheme) 2024-07-13 22:48:21 lispmacs[work]: having various helper words that aren't reused seems normal to me; I'd rather have a set of shorter definitions in most cases. 2024-07-13 22:50:43 depending on the forth, there may be ways to hide those helpers from the overall dictionary when done with them 2024-07-13 22:53:57 hmm, okay. I figured somebody was going to give me some kind of esoteric answer about combinators 2024-07-13 22:55:02 I use combinators, but still factor out helpers whenever I think it'll help the overall readability of the word. 2024-07-13 22:55:37 I recall in some microcontroller forths you can hide words, or make the private to a module 2024-07-13 22:56:38 one idea I had but have not implemented was to allow for nesting of word definitions 2024-07-13 22:57:02 I have a structure of `{{ ... private words ... ---reveal--- ... public words ... }}` (used frequently in retroforth, but much less often in konilo) 2024-07-13 22:58:25 that way one can refactor inside a more complex word but without poluting the outer dictionary 2024-07-13 22:59:43 meant that I need to put a jump around an nested word definition but I can live with that 2024-07-13 23:19:27 lispmacs[work]: when i want to create private words, i just create a new vocabulary called private, create my words there, and when i'm done with them, i have a word "scrub private" that unlinks the first instance of private from the dictionary so that those words can't be found again 2024-07-13 23:20:40 so my module pattern looks like: vocabulary foo also foo definitions \n vocabulary private private definitions ( private words defined here) also foo definitions ( public words defined here) forget private 2024-07-13 23:20:57 s/forget/scrub/ 2024-07-13 23:21:24 i keep waffling between forget and scrub because i'm indecisive. i think i prefer forget, but traditional forth "forget" forgets a lot more than just the word it finds