2025-03-03 00:09:06 cleobuline you have to make the bot not send large messages though 2025-03-03 00:09:25 you can make it use a pastebin service or just cut the output 2025-03-03 00:10:53 i can suppress the word "WORDS" 2025-03-03 00:11:09 and suppress the word "SEE" 2025-03-03 00:11:53 no, don't be lazy 2025-03-03 00:11:59 both words are useful 2025-03-03 00:12:05 or y can set a VARIABLE SILENCE 2025-03-03 00:12:25 you can for example make the bot answer in private 2025-03-03 00:12:29 set to 1 it will only print the stack 2025-03-03 00:12:39 and flood the user with private messages 2025-03-03 00:14:00 tomorrow i will do a MUTE variable to stop all the message , just print the stack 2025-03-03 00:15:55 ForthBot: CAT 2025-03-03 00:15:55 /_/ 2025-03-03 00:18:48 too late it's midnigh for me 2025-03-03 00:19:54 next action is going to bed 2025-03-03 00:19:59 that solution is not cool 2025-03-03 00:20:07 why ? 2025-03-03 00:20:23 because you will make my new defined word useless :/ 2025-03-03 00:20:30 ForthBot: :D 2025-03-03 00:20:30 :D 2025-03-03 00:21:08 just cut the output to a limit of characters 2025-03-03 00:21:10 lol no it will stille act for ." and buffer CR 2025-03-03 00:21:16 if you want an easy solution 2025-03-03 00:22:15 This robot is not very talkative 2025-03-03 00:26:15 do you try some recursion you must redefine : :D ." ForthBot: :D ' 2025-03-03 00:26:26 do you try some recursion you must redefine : :D ." ForthBot: :D ' ; 2025-03-03 00:26:43 you ca get an infinite loop 2025-03-03 00:27:51 try ForthBot :D ." ForthBot: :D ' CR ; D: 2025-03-03 00:28:12 you do ? vms14 2025-03-03 00:28:46 me not ... 2025-03-03 00:29:47 better not to try i think 2025-03-03 00:31:43 better vms14 :D 1 ." ForthBot: :D" CR ; D: , it will stop with a stack overflow 2025-03-03 00:34:39 go to bed 2025-03-03 00:51:43 !gforth : :D ." ForthBot: :D ' CR ; D: 2025-03-03 00:51:43 Gforth 0.7.3, Copyright (C) 1995-2008 Free Software Foundation, Inc. 2025-03-03 00:51:44 https://0x0.st/8MbL.txt 2025-03-03 00:52:36 !gforth : :D ." ForthBot: :D " CR ; D: 2025-03-03 00:52:38 https://0x0.st/8Mb9.txt 2025-03-03 00:53:45 !gforth : test ." ForthBot: test" CR ; test 2025-03-03 00:53:46 ForthBot: test 2025-03-03 00:54:01 !gforth : :D ." gforth: :D " CR ; D: 2025-03-03 00:54:02 https://0x0.st/8Mbp.txt 2025-03-03 00:54:54 !gforth : test ." !gforth: test" CR ; test 2025-03-03 00:54:55 !gforth: test 2025-03-03 00:55:35 !gforth : test ."!gforth: test" CR ; test 2025-03-03 00:55:37 https://0x0.st/8Mbf.txt 2025-03-03 00:55:51 mmm 2025-03-03 00:56:20 does not work !gforth : test ." !gforth: test" CR ; test 2025-03-03 00:57:34 I am disappointed 2025-03-03 00:58:02 !gforth : test ." !gforth: test" ; test 2025-03-03 00:58:03 !gforth: test 2025-03-03 01:01:32 !gforth ." ForthBot: :D" 2025-03-03 01:01:44 :/ 2025-03-03 01:02:01 il est parti vms14 2025-03-03 01:03:07 ForthBot: LOAD "test.fth" 2025-03-03 01:03:19 !gforth ." ForthBot: :D" 2025-03-03 01:03:52 !gforth ." ForthBot: :D" CR 2025-03-03 01:04:14 !gforth ." hello world " 2025-03-03 01:04:35 it does not print gforth 2025-03-03 01:05:24 I am disappointed vms14 2025-03-03 01:05:42 ForthBot: :D 2025-03-03 01:05:42 :D 2025-03-03 01:08:09 what's the fuck ? 2025-03-03 02:18:50 guys I have an existential question with variables in my toy rpn lang 2025-03-03 02:19:10 I have 4 words to work with variables: var variable set-var and get-var 2025-03-03 02:19:48 var and variable create the variable and also create a word with the same name that will push that variable on the stack, so you do not really need to use get-var 2025-03-03 02:21:06 but since I have some sort of compiling thingy, if I create a child definition that wants to use that created word instead of get-var, this word needs to exist at compile time, this is why variable is an immediate word 2025-03-03 02:21:40 variable reads a word from the source code and creates the variable and the word that will push it on the stack 2025-03-03 02:22:02 var is not immediate and gets the name and the value from the stack at runtime 2025-03-03 02:22:54 : oh variable some-var 'some-var 24 set-var : meh some-var ; meh ; 2025-03-03 02:23:23 since variable is immediate it will create a word named 'some-var' that 'meh' will be able to find at compile time 2025-03-03 02:23:49 if I instead do. : oh 'some-var 24 var : meh some-var ; meh ; 2025-03-03 02:24:31 meh will not find 'some-var' because var is not immediate and could not create the word yet, so in meh I have to use 'some-var get-var instead 2025-03-03 02:25:09 it's kind of confusing and I do not know how to avoid having to use get-var for every variable without adding the immediate version 2025-03-03 02:25:34 set-var will only update an existing variable at runtime and trigger an error if it's not found 2025-03-03 02:28:38 seems that is better to get rid of the immediate word 'variable' and use always get-var, not having the shortcut word being defined, but I would like to avoid having to use 'some-var get-var and instead just say: some-var 2025-03-03 02:45:36 I guess I will just rename 'variable' to 'declare' 2025-03-03 04:56:28 There seems to be some dissatisfaction with how Forth already handles VARIABLE that I think must come from being steeped in more traditional languages before approaching Forth. 2025-03-03 04:57:26 The idea that executing a variable deposites that variable's address on the stack, and that I need to do @ if I want the value on the stack, just seems entirely fine to me - I just have no desire to introduce a ton of complexity into things to change that. 2025-03-03 04:58:17 I think for most programmers the first time they're ever exposed to dealing with an item's address is when they hit the C & operator. 2025-03-03 05:05:55 KipIngram, Honestly, it sounds kind of similar to BLISS. 2025-03-03 05:06:43 (In BLISS every variable is an address and the contents are denoted with a dot so X is the address, X. is the thing that X refrences.) 2025-03-03 05:21:54 Yes, like C pointers with slightly different syntax. I think assembly helps counteract it - ultimately EVERY variable / data structure is "somewhere in RAM," and you use the address of that place to get at the content. 2025-03-03 05:22:11 It's very tightly connected to the way computers actually work. 2025-03-03 09:39:56 Words like ON and OFF are made possible by VARIABLE , so you can use RPN to describe operations on a variable, which is more forthy 2025-03-03 09:40:11 So you can say CLUTCH ON or WARNINGS OFF as I do for gforth 2025-03-03 09:41:04 It makes the most sense to refer to the variable as its address, because that's the *variable*, the content at that address is the value inside the variable 2025-03-03 09:41:57 And I can do equality check on addresses to decide if it's the same *variable* in question, which is different to checking if they're different variables with the same *value* 2025-03-03 09:42:38 The fact that *sometimes* you want the address, to me, means that you *always* want VARIABLE , if you have to choose either VARIABLE or VALUE 2025-03-03 11:06:31 100% agree. 2025-03-03 11:57:33 KipIngram: my concern is just that it's verbose, and in the Forth context, that makes it bug-prone. 2025-03-03 11:57:56 just as it was in BLISS 2025-03-03 12:00:00 because IME passing the memory address of a variable to something other than @ is far less common than just reading the variable 2025-03-03 12:00:45 although there's no you could 2025-03-03 12:01:42 Although bear in mind having to write @ after variable name is one of the less verbose Forth syntaxes 2025-03-03 12:02:04 although there's no Standard way to do it, and it runs into the usual annoyances with state, you could replace on and off with words that work with values: enable clutch disable warnings 2025-03-03 12:02:43 generally I find Forth to be rather terse? 2025-03-03 12:03:18 It's not terse at all, at many things 2025-03-03 12:03:28 It really depends, it is good at some point-free stuff 2025-03-03 12:04:29 I mean best case : SQUARE DUP * ; vs worst case we saw recursive factorial earlier, much nicer in most languages e.g. haskell and C 2025-03-03 12:05:03 I find the state dependency of char [char] ' ['] etc. to be progressively more annoying 2025-03-03 12:05:13 You pass addresses around quite a lot when manipulating data structures like linked lists, doubly linked lists, and so on. 2025-03-03 12:05:40 I wonder if the cmForth approach of different vocabularies for compilation and interpretation makes that better or worse 2025-03-03 12:05:53 KipIngram: yes, but not addresses of variables 2025-03-03 12:06:20 those mostly only get passed to ! @ +! 1+! on off 2025-03-03 12:06:36 I hardly ever use variables anyway. I just think that like anything you do, it becomes second nature. The @ is just part of the idiom. 2025-03-03 12:07:03 But I'll still stick with my strongest argument - the computer works through addresses, and for me Forth is all about putting you close to the computer. 2025-03-03 12:07:32 It's possible; people make the same claim about RPN, and I still find it less readable than pop infix 2025-03-03 12:07:43 Abstraction is counter to the whole Forth philosophy in my opinion. At least at the foundation level - you abstract when creating applications, as suits the application. 2025-03-03 12:08:10 I thought Forth was all about building a problem-oriented language 2025-03-03 12:08:30 I think that's just a matter of familiarity - starting in my freshman year at college I've used RPN calculators, and that's just how my brain works now. 2025-03-03 12:08:32 According to Chuck and nobody else 2025-03-03 12:08:33 (As parsimoniously as possible) 2025-03-03 12:09:15 yeah, I've been using RPN since probably 01983, but maybe less often than you have 2025-03-03 12:09:32 I think it has big advantages as a UI paradigm 2025-03-03 12:09:51 It's about using your machinery to solve problems, yes. Look, I'm a hardware guy. I live on the hardware end of the spectrum, and I like how Forth "fits" that. If you're on the other end of the spectrum it's totally reasonable for you to feel differently. 2025-03-03 12:10:52 see, e.g., https://asciinema.org/a/389974 or http://canonical.org/~kragen/sw/dev3/rpn-edit#3_8_0_1_0_0_0_7_0_0_+_+_+_+_+_+_+_+_+_7_1000_1000_1000_2015_2000_365_1_4_/_+_-_*_*_*_*_*_/_ln_6_*_2_ln_/ 2025-03-03 12:10:52 I value Forth for the way it lets me manipulate the resources of my hardware. 2025-03-03 12:11:02 I guess some folks WANT the hardware hidden, but I don't. 2025-03-03 12:11:29 You've probably got more experience than me xentrac, but regardless I have seen this conversation a number of times in here 2025-03-03 12:11:39 yeah, I'm definitely not arguing for *hiding* the hardware 2025-03-03 12:11:43 And have benefit of benefitting from standing on these giants shoulders 2025-03-03 12:12:03 veltas: oh, I wouldn't be sure I have more experience 2025-03-03 12:12:14 I wrote about my perspective on language design 25 years ago at https://paulgraham.com/redund.html but I should rethink it in the light of experience 2025-03-03 12:12:27 And I know that myself and basically all the serious Forthers in here seem to have not found Chuck's problem-oriented-language description to be that valid in practice 2025-03-03 12:12:39 The other great thing about Forth, though, is that you can do what you want with it. If you want VALUE, you can create it. 2025-03-03 12:12:45 It's all good. 2025-03-03 12:13:12 I think your experience with Forth in 80's is probably more valuable than my experience which starts in the last decade 2025-03-03 12:13:14 Paul was arguing for Lisp on the basis of something like Chuck's POL point of view 2025-03-03 12:13:17 Even if I have more time with it 2025-03-03 12:13:33 oh, I don't have any experience with Forth in the 80s, just HP calculators 2025-03-03 12:13:44 Because I don't think Forth has much value left at this point, in the 80's it was more valuable 2025-03-03 12:14:09 I learned of the existence of Forth in 01994 from books the library was throwing out 2025-03-03 12:14:42 Fair enough 2025-03-03 12:14:51 I like old tech books that get thrown uout 2025-03-03 12:14:51 though I had previously written an address book program in HP 48GX RPL 2025-03-03 12:15:02 I used to have a lot of them, I've thrown them out myself though now 2025-03-03 12:15:07 Old DOS books etc 2025-03-03 12:15:17 but RPL isn't Forth: garbage-collected, etc. 2025-03-03 12:15:18 I ran across it in 1983 or so, and was immediately interested because of my calculator usage. It was a while before I appreciated it for more than just being RPN. 2025-03-03 12:15:37 I don't remember if RPL has macros 2025-03-03 12:16:28 (immediate words) 2025-03-03 12:18:11 To recap another old discussion, I'm pretty sure Forth has been strongly influenced over the last 30 years by two big demographic shifts: 2025-03-03 12:19:28 - away from people who are looking for ways to "make hard things easy" and toward people who are looking for ways to "make easy things hard", though of course valuing puzzle-solving was a part of Forth culture since Mohasco 2025-03-03 12:19:56 - an increasing tendency to asceticism 2025-03-03 12:20:24 I wouldn't claim that either of those is the reason my preferences differ from KipIngram's, for example 2025-03-03 12:20:39 Yeah I agree and I think it's quite awkward when the two groups end up trying to work together 2025-03-03 12:21:09 but I think they've influenced the context in which we're having the discussion 2025-03-03 12:21:19 They often end up at odds 2025-03-03 12:21:27 unsurprisingly :-) 2025-03-03 12:21:51 Partly though this is because Forth for 99.9% of jobs is making easy things hard 2025-03-03 12:22:09 So you can't blame the latter camp from bulldozing any conversation about trying to keep stuff simple/easy 2025-03-03 12:22:45 yesterday my puzzle was https://tinyurl.com/2bqwu7g2 2025-03-03 12:23:10 I wanted to understand diode logic better 2025-03-03 12:23:23 so I made a BCD-to-7-segment decoder 2025-03-03 12:24:04 well! I simulated it! 2025-03-03 12:24:42 that surely qualifies as "making easy things hard" 2025-03-03 12:26:07 I think it would be fun to build this circuit using LEDs for the diode logic and maybe a bit more current 2025-03-03 12:30:53 but I haven't actually *made* it yet. Maybe it would be a little less cliché to do an excess-3 decoder or something 2025-03-03 14:31:14 ForthBot: LOAD "test.fth" 2025-03-03 14:31:14 ForthBot: CAT 2025-03-03 14:38:47 may be truncated 2025-03-03 14:39:06 KipIngram: wow! 2025-03-03 14:39:11 It is, yes. 2025-03-03 14:39:14 25740557956866022603190417032406235170085879617892222278962 2025-03-03 14:39:17 3703897374720000000000000000000000000000000000000000000000000 2025-03-03 14:39:19 I petted two kittens this morning at the greengrocer's 2025-03-03 14:39:27 That's what's added in the Python version. 2025-03-03 14:39:33 :-) 2025-03-03 14:39:49 Then we got the second one so he'd have a companion. 2025-03-03 14:40:04 ForthBot: 10 FACT . 2025-03-03 14:40:05 3628800 2025-03-03 14:40:14 ForthBot: 16 FACT 6 FACT / . 2025-03-03 14:40:14 29059430400 2025-03-03 14:40:15 Gorgeous black and white calico. 2025-03-03 14:40:51 I'd back-of-envelope estimated that to be about 10¹⁰, I was low by a factor of 2.9 2025-03-03 14:41:53 forgot my cellphone when I went out to go food shopping, got caught in a thunderstorm, sought refuge in a gas station (virtually all gas stations here serve Italian cappuccino and have tables and chairs) 2025-03-03 14:42:29 Good gas stations. 2025-03-03 14:42:40 No soap or toilet paper in the bathrooms, though. 2025-03-03 14:43:09 and I got to wondering about the number of distinct 4-bit codes for decimal, such as BCD and excess-3 2025-03-03 14:44:20 so I estimated 16!/6! as √(16·7)¹⁰ 2025-03-03 14:45:55 Interesting. cleobuline, log2 of your 200! result above is 846 and change. It's not immediately obvious to me why it would truncate theree. 2025-03-03 14:46:22 It's not an even multiple of 64 or anything like that. 2025-03-03 14:46:41 I'm betting it's a glitch in your bignum stuff, maybe? 2025-03-03 14:47:55 Or maybe just your output - you couldn't have gotten all those high order digits right unless the calculation was done properly. 2025-03-03 14:48:06 KipIngram: maybe IRC 2025-03-03 14:48:46 Oh, that could be too. 2025-03-03 14:49:06 The Python is right (not that I really doubted it) - I calculated it manually and got the same result. 2025-03-03 14:49:32 LOAD "test.fth" 2025-03-03 14:49:43 ForthBot: LOAD "test.fth" 2025-03-03 14:49:56 It makes sense that it would have a bunch of zeros at the end; every multiple of 10 or 100 is going to contribute one. 2025-03-03 14:50:52 ForthBot: 200 FACT 2025-03-03 14:50:52 ForthBot: . 2025-03-03 14:50:52 better 2025-03-03 14:51:05 Actually I guess the multiples of 100 contribute two. 2025-03-03 14:51:17 yes 2025-03-03 14:51:27 So that's 24 zeroes without even finding the non-obvious ones. 2025-03-03 14:51:38 <[bot]konilo > konilo bot ready; send code with a !konilo prefix. Sessions expire after 30 minutes of inactivity; an output link will be provided. Refresh to see updates. 2025-03-03 14:54:31 ForthBot: 200 FACT 1 - . 2025-03-03 14:54:31 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374719999999999999999999999999999999999999999999999999 2025-03-03 15:49:53 ForthBot: STRING TEST " ceci est un test ! " TEST ! TEST @ PRINT 2025-03-03 15:49:53 ceci est un test ! 2025-03-03 15:50:51 more consistant 2025-03-03 15:51:56 !konilo hello 2025-03-03 15:51:56 <[bot]konilo > crc: Hello! You can now start sending code with !konilo . Use !konilo goodbye to end your session. 2025-03-03 15:51:56 cleobuline: that won't work in this system 2025-03-03 15:51:56 <[bot]konilo > Shutting down... 2025-03-03 15:52:46 cleobuline: the equivalent would be :cube dup dup n:mul n:mul n:put ; cube 2025-03-03 15:53:23 ha ... a new protocol yet ! 2025-03-03 15:53:25 (my systems are not standard forth models) 2025-03-03 15:57:11 crc: 30 seconds is probably orders of magnitude too short 2025-03-03 15:57:34 ? 2025-03-03 15:58:24 KipIngram: and naturally it's 5-limited rather than 2-limited 2025-03-03 15:59:03 crc: [bot]konilo said sessions time out after 30 seconds 2025-03-03 15:59:49 Should be 30 minutes 2025-03-03 16:00:40 that sounds reasonable 2025-03-03 16:03:22 It'll be better than that when done; I can have the vm save the full state when idle and restore it on demand 2025-03-03 16:06:32 so every user will have it's own persistent session? :0 2025-03-03 16:06:34 Sure - there are plenty of evens to handle the fives. 2025-03-03 16:06:56 Sorry to get fixated on that - I just wanted to see it work out. 2025-03-03 16:07:01 vms14: yes 2025-03-03 16:07:07 that's cool 2025-03-03 16:07:19 now we just have to learn retro forth 2025-03-03 16:08:04 This is konilo, which is not quite the same as retroforth 2025-03-03 16:08:06 ForthBot: zozo STRING " ceci est un test " zozo ! zozo @ PRINT 2025-03-03 16:08:06 Unknown word: zozo 2025-03-03 16:08:07 Missing closing quote 2025-03-03 16:08:34 ForthBot: :D 2025-03-03 16:08:34 Unknown word: :D 2025-03-03 16:08:37 :/ 2025-03-03 16:08:48 LOAD "test.fth" 2025-03-03 16:08:54 ForthBot: :D 2025-03-03 16:08:55 Unknown word: :D 2025-03-03 16:09:00 xd 2025-03-03 16:09:24 ForthBot: : :D ." :D" ; 2025-03-03 16:09:52 crc where is the documentation? 2025-03-03 16:09:57 (major differences are strings being arrays instead of null terninated, removal of word classes, simpler sigil model, a different dictionary structure, and being a more constrained, block oriented system) 2025-03-03 16:10:52 vms14: konilo.org 2025-03-03 16:10:52 ForthBot: zozo " ceci est un test " S! 2025-03-03 16:11:55 xentrac: Looks like 200! has 2^197 in its factorization. 2025-03-03 16:13:10 https://konilo.org/manual/definingsigils.html 2025-03-03 16:13:16 so I can make my own namespace 2025-03-03 16:13:23 cleobuline: you might want to limit ForthBot to one response line per trigger? 2025-03-03 16:13:35 can it be more than one char? 2025-03-03 16:13:42 2^197*3^97*5^49*7^32+11^19*13^16+... 2025-03-03 16:13:52 * at the end, rather. 2025-03-03 16:13:54 KipIngram: that makes sense 2025-03-03 16:14:21 oh they are like reader chars 2025-03-03 16:14:29 In general it's 200//N*200//(N^2)*... so long as N^M is less than 200. 2025-03-03 16:14:35 Ugh. 2025-03-03 16:14:37 + 2025-03-03 16:14:47 200//N + 200//(N^2) + ... 2025-03-03 16:15:06 I mean 64! includes 32 multiples of 2, 16 of which are multiples of 4, 8 of which are multiples of 8, 4 of which are multiples of 16, 2 of which are multiples of 32, and one of which is a multiple of 64 (64 itself) 2025-03-03 16:15:16 which works out to 63 2s 2025-03-03 16:15:37 https://konilo.org/manual/glossary_193429569.html 2025-03-03 16:15:43 I have a similar if xd 2025-03-03 16:15:47 Right right. Which seems to be telling us that factorials are particularly easy to factor. 2025-03-03 16:15:54 so you'd think that usually N! would have a factor of 2ⁿ where n is almost N 2025-03-03 16:15:58 1 ("is one" print) if 2025-03-03 16:16:07 but it also accepts lambdas or the name of a word 2025-03-03 16:16:10 Yes, excellent point. 2025-03-03 16:17:13 Numbers are fun. 2025-03-03 16:17:20 I have : for compiling words and :: for words that are interpreted instead of compiled 2025-03-03 16:17:55 { } compiles the code and pushes a lambda on the stack, [ ] does the same but without compiling 2025-03-03 16:18:25 crc do you have some code to show of something you have done with retro forth or konilo? 2025-03-03 16:18:39 I'm curious on how you can manage complexity with it 2025-03-03 16:18:46 vms14: sigils are limited to single characters 2025-03-03 16:18:53 or whether you have written a large codebase 2025-03-03 16:21:49 my major projects are not, in general, large pieces of code, but do involve many smaller pieces (e.g., the order management system I wrote for my employer has ~100 small modules, tied together to generate browser-based & terminal front ends, and a separate set of modules to interface with the local label printers) 2025-03-03 16:22:22 smaller examples of retroforth are published at https://retroforth.org/examples/ 2025-03-03 16:22:56 ACTION has a sizeable amount of code not published publicly, for various reasons 2025-03-03 16:23:13 Avoided backlash so far from your employer for using an unconventional solution? 2025-03-03 16:23:42 no backlash there; I have free reign to choose the tools I use for the programming I do for them :) 2025-03-03 16:24:12 :) 2025-03-03 16:27:15 How much involvement do they have in the software lifecycle? 2025-03-03 16:32:16 very little. I take in suggestions & requests, but all development is done at my discretion & when I see fit to schedule time for programming 2025-03-03 16:35:12 (po 2025-03-03 16:36:41 programming isn't my primary role at work; I mostly work in sales, do some purchasing, training, and fill various other roles as needed 2025-03-03 16:45:11 makes sense that other people at the company wouldn't argue with you about how to write softwar then 2025-03-03 16:47:58 The programming I've done at work has been mostly solo too, which I much prefer over having to integrate with a team and conform to their standards. 2025-03-03 17:36:49 KipIngram: Forth programmers in a nutshell :) 2025-03-03 17:38:57 Not making any judgement, I think both ways have their merits.. on your own it's very easy and fun to experiment, but with a group you also get network effects, and if you get a good team.. that's on the same page as critical mass. 2025-03-03 18:47:32 two people can find each other's bugs more easily than their own 2025-03-03 18:50:52 and have flame wars about editors and brace styles 2025-03-03 18:54:16 xentrac: Yeah, that sounds right. The two things share a mind set, I guess. 2025-03-03 18:55:43 or they can learn to use each other's editors 2025-03-03 18:55:47 that's how we did it in the past 2025-03-03 20:28:05 <[bot]konilo > [bot]konilo is here! Send '!konilo hello' to start a konilo session. This is *not* a standard Forth model. See http://konilo.org for more information. (Note: currently experimental, and not yet persistent across relaunches of the bot) 2025-03-03 20:33:31 it's working somewhat better now. Some of the output gets lost though; working on fixing that, preventing flooding, and then will finish the session stuff for separate blocks for each user