00:00:00 --- log: started forth/20.11.27 00:25:16 --- quit: hosewiejacke (Ping timeout: 260 seconds) 01:20:18 --- join: xek_ joined #forth 01:31:47 --- join: hosewiejacke joined #forth 01:58:45 --- quit: hosewiejacke (Ping timeout: 256 seconds) 02:03:37 --- join: hosewiejacke joined #forth 03:13:17 --- join: gravicappa joined #forth 04:01:32 --- quit: hosewiejacke (Ping timeout: 265 seconds) 04:58:36 --- join: xek__ joined #forth 05:00:59 --- quit: xek_ (Ping timeout: 265 seconds) 05:17:48 --- join: hosewiejacke joined #forth 06:49:08 --- quit: iyzsong (Quit: ZNC 1.7.5 - https://znc.in) 06:50:10 --- join: iyzsong joined #forth 07:04:32 --- join: Gromboli joined #forth 07:09:55 --- quit: DKordic () 07:21:00 --- quit: dave0 (Quit: dave's not here) 08:42:38 --- quit: hosewiejacke (Ping timeout: 246 seconds) 08:45:26 --- quit: spoofer (Ping timeout: 246 seconds) 09:22:25 --- join: Zarutian_HTC joined #forth 09:22:49 --- join: hosewiejacke joined #forth 09:27:18 --- join: spoofer joined #forth 10:03:45 --- quit: hosewiejacke (Ping timeout: 256 seconds) 10:19:12 --- quit: Zarutian_HTC (Remote host closed the connection) 10:25:14 --- join: WickedShell joined #forth 10:34:47 --- quit: gravicappa (Ping timeout: 264 seconds) 11:05:59 Where does Forth put the string when S" is called? Is it on PAD area? 12:13:18 neuro_sys: PAD probably when interpreting, but when compiling it's embedded in the word's parameter area 12:14:14 I also wouldn't be hugely surprised if some forths just gave you the size and address of the string in the input buffer itself 12:14:22 (when interpreting) 12:45:57 So to my understanding from what I've read, it's not typically guaranteed to be persistent. 12:48:10 Playing around with them so far, this is how I store and retreive one string at a dictionary as VARIABLE: https://paste.ofcode.org/SDWGDsKFGeN6YEMi7qpjx5 12:49:09 Eventually I'd like to try creating a list of strings, so that I can run algorithms on them such as sorting etc. 12:53:11 --- quit: actuallybatman (Ping timeout: 256 seconds) 12:53:26 Hmm GET-STR was not clearing the stack at exit, now it's fixed: https://paste.ofcode.org/wdurq2FL9UUgyqEM9EwauC 12:54:24 --- join: Zarutian_HTC joined #forth 12:55:24 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 12:55:38 --- join: Zarutian_HTC joined #forth 12:56:52 S" may or my not be usable at the interpreter (ANS CORE does not require it to work there, though ANS FILE does extend it to allow for at least one string in interpretation of at least 80 characters) 12:56:55 --- join: Zarutian_HTC1 joined #forth 13:00:06 --- quit: Zarutian_HTC (Ping timeout: 260 seconds) 13:00:25 crc: What word is there to use for a string in text file other than S"? Can I directly load it into Dictionary? 13:02:27 Other than writing it one byte at a time, that is, like CREATE MY-STR 2 , CHAR H C, CHAR i C, 13:02:48 Ah sorry, I misread what you said. 13:03:03 S" is not guaranteed to work at the interpreter, not the other way around. 13:04:08 * crc was never happy with strings in Forth 13:04:56 --- join: actuallybatman joined #forth 13:05:57 neuro_sys: standard forth tries to avoid state-aware words because there are some nasty caveats, but not having S" on interpreter ... I guess it would make loading files with spaces in their names really nasty or something? 13:06:26 I don't know the rationale 100%, but that's why S" supports being interpreted in the file word set 13:06:57 Now I'm looking at SLITERAL if it's somehow related. 13:07:02 17.6.1.2212 SLITERAL copies a string to the memory 13:07:17 'The current functionality of 6.1.2165 S" may be provided by the following definition: 13:07:17 : S" ( "ccc" -- ) 13:07:17 [CHAR] " PARSE POSTPONE SLITERAL 13:07:17 ; IMMEDIATE' 13:09:38 neuro_sys: "It is intended that no standard words other than S" should in themselves cause the interpreted string to be overwritten." 13:09:56 So I guess it's not in PAD then, some buffer somewhere 13:14:58 --- nick: Zarutian_HTC1 -> Zarutian_HTC 13:16:58 I thought the word " in was meant to be used in in interpret mode 13:18:05 Which Forth is that from? 13:19:00 a variant of eForth iirc 13:19:39 might have been t" where t stood for temporary 13:20:15 I think prefer it having a different name 13:20:56 --- join: X-Scale` joined #forth 13:21:24 basically it executed immediately and gave you addr length of the string inside the terminal input buffer (tib for short) 13:22:18 --- quit: X-Scale (Ping timeout: 256 seconds) 13:22:18 --- quit: catern (Ping timeout: 256 seconds) 13:22:23 not used much other than for demostration iirc 13:22:26 --- nick: X-Scale` -> X-Scale 13:23:04 Now I'm curious in what different ways forth programs are loaded. 13:23:26 --- quit: rprimus (Ping timeout: 256 seconds) 13:24:15 I see that they are stored as text files, but when loaded, is it not the text interpreter doing the job? 13:25:16 --- join: rprimus joined #forth 13:25:24 Zarutian_HTC: It's useful with stuff like INCLUDE &c. 13:25:39 I mean INCLUDED 13:25:50 in that varian of eForth you basically changed an system/user variable to any xt that mimiced the input fetch words 13:26:48 note this varian of eForth did not presume disk or floppy drive or filesystem 13:27:19 --- join: xek_ joined #forth 13:28:32 neuro_sys: As far as I know the Forth standard manages to avoid defining a single word for general 'interpreting', and I think forths probably drive the different types of interpreting separately 13:28:48 --- join: catern joined #forth 13:29:28 You have an "input source", an input buffer, >IN, and REFILL 13:29:40 --- quit: xek__ (Ping timeout: 256 seconds) 13:30:03 The interactive interpreter in standard forth is called QUIT (because it's what you get when you execute QUIT, think about it) 13:31:24 The file interpreter is INCLUDE-FILE etc 13:31:37 The block interpreter is LOAD 13:32:14 Thanks that clarifies some things. 13:32:50 The string interpreter is EVALUATE 13:33:16 If you look at all those definitions in the standard they refer to things like >IN, input source, input buffer, etc 13:35:12 I can't imagine being able to write a very idiomatic forth word to do generic interpretation that could be used as the core of all these words 13:36:28 --- quit: dddddd (Ping timeout: 256 seconds) 13:39:37 Look at the definition of REFILL, it helps explain the concept of the interpreter quite well actually 13:40:11 --- join: dddddd joined #forth 13:40:59 Section 3.4 has the whole picture 13:42:35 --- quit: actuallybatman (Ping timeout: 264 seconds) 13:54:22 --- join: actuallybatman joined #forth 14:02:04 --- quit: jedb (Remote host closed the connection) 14:03:25 --- join: jedb joined #forth 14:32:23 --- join: kori joined #forth 14:32:26 --- quit: kori (Changing host) 14:32:26 --- join: kori joined #forth 14:42:31 --- quit: WickedShell (Remote host closed the connection) 15:08:26 --- quit: xek_ (Ping timeout: 260 seconds) 15:20:53 How are you meant to add a wordlist to the start of the search order in standard forth? 15:21:21 I'm at: also get-order my-wordlist swap 1+ set-order 15:21:44 Is there not an easier way? 15:29:08 : first-order ( wid -- ) >r also get-order r> swap 1+ set-order ; 15:47:45 Oh I don't need also, and this is exactly how it's documented in gforth's manual so I suppose this is the easiest way 18:22:28 --- join: boru` joined #forth 18:22:31 --- quit: boru (Disconnected by services) 18:22:33 --- nick: boru` -> boru 18:53:31 saw recently a Forth that had 'strong typing', called play something, anyone here know anything about that? 19:18:25 --- quit: nmz (Ping timeout: 272 seconds) 19:18:49 --- join: nmz joined #forth 20:16:25 --- quit: proteusguy (Ping timeout: 265 seconds) 20:18:24 --- join: proteusguy joined #forth 20:22:17 --- join: hosewiejacke joined #forth 20:50:39 https://www.play-lang.dev ? 20:54:35 --- quit: sts-q (Ping timeout: 264 seconds) 21:00:02 yeah 21:00:40 --- join: sts-q joined #forth 21:07:08 and it is written in elm, which looks like some function programming language 21:07:43 Yes, written in elm, compiled to JavaScript, generates webassembly 21:08:32 * crc has this bookmarked to look at after the developer begins implementing his standard library of words 21:16:47 --- join: lispmacs joined #forth 21:24:44 --- quit: proteusguy (Read error: Connection timed out) 21:34:11 --- quit: Gromboli (Read error: Connection reset by peer) 21:36:12 --- join: proteusguy joined #forth 21:36:29 --- quit: hosewiejacke (Ping timeout: 272 seconds) 21:40:38 --- quit: proteusguy (Ping timeout: 240 seconds) 22:04:26 --- join: proteusguy joined #forth 22:39:24 --- quit: _whitelogger (Remote host closed the connection) 22:42:22 --- join: _whitelogger joined #forth 23:36:24 --- quit: _whitelogger (Remote host closed the connection) 23:39:22 --- join: _whitelogger joined #forth 23:59:59 --- log: ended forth/20.11.27