00:00:00 --- log: started forth/20.01.21 00:29:36 --- quit: ryke (Ping timeout: 265 seconds) 00:36:07 --- join: dys joined #forth 00:47:32 --- nick: jedb__ -> jedb 00:57:59 --- quit: proteusguy (Remote host closed the connection) 01:25:09 --- join: xek joined #forth 01:38:43 --- quit: jsoft (Ping timeout: 272 seconds) 01:50:24 --- join: jedb_ joined #forth 01:52:49 --- quit: jedb (Ping timeout: 240 seconds) 01:53:45 --- join: jedb__ joined #forth 01:56:25 --- quit: jedb_ (Ping timeout: 268 seconds) 02:03:11 --- nick: jedb__ -> jedb 02:09:24 --- join: mtsd joined #forth 02:09:25 --- join: iyzsong joined #forth 02:13:53 --- join: crab1 joined #forth 02:14:25 Good morning, forth cultists 02:26:54 Good morning! 02:29:43 How are ya? 02:32:44 Just fine, thanks. You? 02:34:35 I'm alive, lots to do though 03:06:27 --- quit: WickedShell (Remote host closed the connection) 04:29:34 --- quit: mtsd (Quit: Leaving) 05:11:19 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 06:08:02 --- join: deesix joined #forth 06:11:10 --- join: ryke joined #forth 06:12:50 --- join: mtsd joined #forth 06:13:45 --- quit: deesix (Ping timeout: 268 seconds) 06:14:30 --- join: deesix joined #forth 06:20:15 --- join: dddddd joined #forth 06:36:26 --- quit: mtsd (Quit: Leaving) 07:02:50 --- quit: ryke (Ping timeout: 265 seconds) 07:35:19 --- quit: tabemann (Ping timeout: 260 seconds) 08:02:01 --- quit: crab1 (Read error: Connection reset by peer) 08:26:29 --- join: proteus-guy joined #forth 08:27:45 --- quit: dave0 (Quit: dave's not here) 09:10:53 dddddd: lol I was just noticing that there's Forth discussion over at the bootstrapping wiki only to see you mentioned it just a short while earlier here 09:13:09 hello dzho, yeah (: 09:13:11 --- join: jdavidboyd joined #forth 09:14:51 dzho, not the easiest path for oriansj, so I guess we have to excuse him when the frustration shines in some docs. 09:15:31 fair 09:23:14 --- quit: dys (Ping timeout: 260 seconds) 09:25:44 dzho, how did you get there? I mean, what's interesting for you? 09:27:30 I had some pages open to bootstrappable.org already 09:28:04 I'm keen on autonomy among communities 09:28:17 sustainability and security, etc 09:29:44 --- join: jsoft joined #forth 10:26:57 --- join: lonjil joined #forth 10:49:13 --- quit: jsoft (Ping timeout: 240 seconds) 11:01:22 --- quit: jdavidboyd (Read error: Connection reset by peer) 11:08:20 --- quit: proteus-guy (Ping timeout: 268 seconds) 11:47:12 do you mix VALUES and VARIABLES or tend to stick to one mostly? 11:50:28 I don't have VALUEs at all 11:54:46 hmm ya looks like you could get by without it 11:55:06 also looks like you cant make arrays out of value easily 12:15:41 I dislike that ANS requires TO to parse tho input stream 12:18:26 --- join: tp joined #forth 12:24:04 --- join: WickedShell joined #forth 12:50:31 Hi all: Java is effectively "typed Smalltalk", and Objective-C is "Smalltalk with a C syntax" I read on a forum recently! 12:52:12 --- quit: tp (Remote host closed the connection) 12:52:32 --- join: tp joined #forth 12:52:32 --- quit: tp (Changing host) 12:52:32 --- join: tp joined #forth 12:56:41 --- quit: tp (Client Quit) 13:00:05 Objective-C is more of C, with some Smalltalk influences 13:00:16 Java is just annoying :) 13:04:40 crc, parse input stream as opposed to take from stack? 13:25:27 MrMobius: or setting an internal flag 13:33:56 e.g., a simple non-ANS compliant VALUE/TO: http://forth.works/share/1a97da2e6a9632c03a98103551cd6cc1 13:35:13 (tested under gforth, using my wrapper scripts for retro-unu to extract the code&tests before running: http://forthworks.com/forth/gforth-unu.tar.gz) 13:55:56 --- quit: gravicappa (Ping timeout: 260 seconds) 14:25:39 --- quit: jedb (Read error: Connection reset by peer) 14:25:51 --- join: jedb joined #forth 14:34:40 neat 14:35:04 whats the use of [char]? seems like a strange thing to have 14:39:40 --- quit: dddddd (Ping timeout: 258 seconds) 14:55:34 --- join: dave0 joined #forth 15:12:07 --- join: jsoft joined #forth 15:12:10 --- quit: jsoft (Changing host) 15:12:11 --- join: jsoft joined #forth 15:25:50 [char] is a compile time version of char 15:26:07 ( interpreting ) char a 15:26:18 : definition [char] a ; 15:35:09 so its basically just to get the ascii code of a single letter? 15:35:27 one of the examples shows [char] ALPHABET which seems strange 16:03:19 --- join: jedb_ joined #forth 16:06:18 --- quit: jedb (Ping timeout: 265 seconds) 16:43:20 --- join: iyzsong joined #forth 16:53:48 --- join: rdrop-exit joined #forth 16:54:39 --- nick: jedb_ -> jedb 17:00:47 --- join: tabemann joined #forth 17:40:07 --- quit: pareidolia (Ping timeout: 272 seconds) 17:42:46 --- join: pareidolia joined #forth 18:12:02 --- quit: tabemann (Ping timeout: 258 seconds) 18:17:44 --- quit: iyzsong (Remote host closed the connection) 18:18:01 --- join: iyzsong joined #forth 18:47:06 Good morning Forthwrights c[] 18:54:04 --- quit: dave0 (Quit: dave's not here) 18:56:47 --- quit: cartwright (Ping timeout: 240 seconds) 19:16:14 --- join: cartwright joined #forth 19:16:42 hi 19:17:10 is there a quick way to write a string to pad in immediate mode? 19:18:59 hi 19:19:33 Most Forths have PLACE which will move a counted string including the count to a destination 19:21:00 --- join: tabemann joined #forth 19:22:02 (at least I assume most Forths have it) 19:22:31 the thing I dont get is how to get the counted string without making a word 19:22:58 like i wanted to type it in at the console and store it in pad then do something and have no record after i was done 19:23:08 as opposed to wasting dictionary space on a string to do it 19:23:41 there's usually a " word, or s" word 19:24:35 apparentally s" is supposed to be compile only but some allow it in intermediate 19:24:49 on this forth is puts down a jump to the end of the string then the string itself in the dictionary 19:27:58 Yes, there's a compile-only version, and a interpretive version usually, and PAD itself is a moving target depending on the Forth 19:30:23 What are you trying to accomplish overall? 19:31:05 just trying to learn so I wanted to create a string in the pad 19:31:26 but its a 6502 system so not that much memory. seems like it would be useful to know how to write data without creating a word 19:40:34 PAD is temporary and volatile 19:41:54 hey guys 19:42:44 hi tabemann 19:45:25 --- quit: cartwright (Remote host closed the connection) 19:46:07 usually the interpretive behavior of " is to place the string in a transient area (where depends on the Forth, often it's HERE) 19:47:41 --- join: cartwright joined #forth 19:48:54 some Forths have ," 19:49:33 ," abc" will lay down comma the counted string into the dictionary 19:50:28 --- quit: cartwright (Read error: Connection reset by peer) 19:50:47 and advance HERE beyond it, i.e. comma the counted string 19:51:07 (including the count) 19:52:48 --- join: cartwright joined #forth 19:52:57 PAD is transient 19:55:30 What is it that you're trying to accomplish with your string by having it in PAD? 20:04:02 --- quit: reepca (Read error: Connection reset by peer) 20:47:09 rdrop-exit, see how find-name works for example 20:47:55 sounds like s" is doing the same as ," here laying down the string in the dictionary and advancing cp 20:48:41 doesnt have to be pad but just wanted something temporary to play with without losing dictionary space 20:49:37 I'm not familiar with find-name, is that ANS? 20:52:26 Compile-time s" does more since it also lays down the literal runtime for pushing the address and count of the string and skipping over it. 20:52:38 --- join: gravicappa joined #forth 20:54:23 ," just lays down the count and the string bytes 20:54:32 and advances DP 20:56:42 i.e. ," is a factor of the " (aka S") compiler directive 20:57:41 --- join: proteus-guy joined #forth 21:03:27 Is your find-name a prefix word using PARSE ? 21:04:17 Perhaps PARSE is what you're looking for. 21:06:00 lunch is ready, catch you later 21:07:56 --- quit: Keshl (Read error: Connection reset by peer) 21:08:30 --- join: Keshl joined #forth 21:15:50 rdrop-exit, sorry got distracted 21:17:01 looks like find-name is Gforth and not listed as ANS like other words on the page 21:17:21 the point though is just getting a string into a temporary location 21:17:47 find-name is just an example of somethingthat needs an address and character count that I could use a string with 21:18:42 sounds like I need something like ," that will put down the data somewhere other than the dictionary 21:19:08 the answer could also just be that you cant do it without wasting dictionary space or to use a marker to forget the word 21:28:44 marker rewind : temp s" hello" ; temp dup pad c! pad 1+ swap move pad rewind 21:31:40 back 21:32:19 PARSE already puts a string in a transient space 21:35:33 char " parse hello" pad swap move 21:35:50 just need way to save character count 21:36:18 use PLACE 21:37:34 PLACE ( src # dst ) copies # bytes from source to a counted string at dst 21:37:51 (overwriting the count at dst) 21:38:07 * from src to a counted ... 21:38:07 hmm, missing some words like PLACE https://github.com/scotws/TaliForth2/blob/master/docs/WORDLIST.md 21:40:04 The PLACE in my Forth use non-standard factors: 21:40:12 : place ( src # dst -- ) lift b!+ \move ; 21:41:39 maybe Gforth has a ANS-ified version 21:42:50 Here's a very ugly version from a Forth book: 21:43:55 : PLACE ( a1 # a2 -- ) 21:44:22 dup >r 1+ swap dup >r chars move r> r> c! ; 21:45:00 seems similar: : stemp char parse dup pad c! pad 1+ swap move ; 21:46:02 stemp " hello" 21:47:08 I have PLACE in my FORTH but I haven't used it in years 21:47:49 I'm not in the habit of moving counted strings around 21:51:19 do you have any dynamic memory stuff like malloc in C? 21:53:10 I don't, IIRC ANS has ALLOC and similar words 21:56:32 I wouldn't have any use for them 21:59:28 --- join: X-Scale` joined #forth 22:00:41 --- quit: X-Scale (Ping timeout: 260 seconds) 22:00:41 --- nick: X-Scale` -> X-Scale 22:01:18 what would you do if you had to load a file into memory and you didnt know how large it would be for example? 22:01:56 I don't load files into memory, I use blocks. 22:06:16 that would be a really weird version of photoshop 22:06:37 I'm not familar with photoshop 22:08:07 Any Forth I do is not a general purpose programming language, it's a special purpose environment. 22:08:16 fair enough 22:10:34 A Forth on a PC for me is just a specialized IDE for controlling and programming a target (which can have its own Forth as well). 22:12:01 That type of Forth setup is called a tethered Forth (or umbilical Forth). 22:14:26 --- join: ryke joined #forth 22:14:43 Whenever I've written a Forth, it's always been within the context of a particular technology stack, never as replacement for some general purpose programming language. 22:15:58 --- join: X-Scale` joined #forth 22:16:22 --- quit: X-Scale (Ping timeout: 268 seconds) 22:17:12 --- nick: X-Scale` -> X-Scale 22:23:37 This is why a Forth language standard doesn't really do anything for me. 22:51:43 --- join: dddddd joined #forth 23:02:25 --- quit: MrMobius (Ping timeout: 240 seconds) 23:05:36 --- join: MrMobius joined #forth 23:21:09 --- join: dave0 joined #forth 23:56:44 --- join: mtsd joined #forth 23:59:59 --- log: ended forth/20.01.21