00:00:00 --- log: started forth/19.09.22 00:23:35 --- quit: iyzsong (Ping timeout: 245 seconds) 00:24:48 --- quit: gravicappa (Ping timeout: 240 seconds) 00:25:09 --- join: gravicappa (~gravicapp@h109-187-246-245.dyn.bashtel.ru) joined #forth 01:01:09 --- join: iyzsong (~iyzsong@fsf/member/iyzsong) joined #forth 02:32:29 --- quit: gravicappa (Ping timeout: 245 seconds) 02:35:05 --- join: gravicappa (~gravicapp@h109-187-246-245.dyn.bashtel.ru) joined #forth 03:44:31 --- quit: xek (Ping timeout: 265 seconds) 06:47:59 --- quit: creat1001 (Quit: Ping timeout (120 seconds)) 07:12:25 --- join: xek (~xek@apn-37-248-138-80.dynamic.gprs.plus.pl) joined #forth 07:24:28 --- join: creat1001 (63be2f20@99-190-47-32.lightspeed.chrlnc.sbcglobal.net) joined #forth 07:30:15 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 07:42:36 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 08:16:28 hello all 08:20:45 Hi creat1001 08:22:10 Hi Jofn 08:22:15 John 08:22:20 sorry. 08:38:52 Yay. I the first pass of my assember do for my VM. 09:54:24 --- join: ryke (~Thunderbi@71-9-171-192.dhcp.jcsn.tn.charter.com) joined #forth 10:10:13 --- quit: creat1001 (Ping timeout: 260 seconds) 10:28:06 --- join: dys (~dys@tmo-081-215.customers.d1-online.com) joined #forth 12:44:00 --- quit: gravicappa (Ping timeout: 240 seconds) 12:48:27 --- join: andrei-n (~andrei-n@203.160-66-87.adsl-dyn.isp.belgacom.be) joined #forth 13:22:45 --- quit: xek (Ping timeout: 245 seconds) 13:54:57 --- quit: andrei-n (Remote host closed the connection) 13:55:18 --- quit: dys (Ping timeout: 246 seconds) 13:56:12 --- join: dys (~dys@tmo-122-32.customers.d1-online.com) joined #forth 14:35:32 --- quit: tp (Read error: Connection reset by peer) 14:35:41 --- join: tp (~Terry@2001:44b8:314b:a800::10) joined #forth 14:35:41 --- quit: tp (Changing host) 14:35:41 --- join: tp (~Terry@mecrisp/staff/tp) joined #forth 14:49:50 --- quit: tp (Read error: Connection reset by peer) 14:49:55 --- join: tpbsd (~Terry@2001:44b8:314b:a800::10) joined #forth 14:49:55 --- quit: tpbsd (Changing host) 14:49:55 --- join: tpbsd (~Terry@mecrisp/staff/tp) joined #forth 14:58:10 --- quit: tpbsd (Read error: Connection reset by peer) 14:58:14 --- join: tp___ (~Terry@2001:44b8:314b:a800::10) joined #forth 14:58:14 --- quit: tp___ (Changing host) 14:58:14 --- join: tp___ (~Terry@mecrisp/staff/tp) joined #forth 15:48:10 --- quit: tp___ (Read error: Connection reset by peer) 15:48:19 --- join: tp___ (~Terry@2001:44b8:314b:a800::10) joined #forth 15:48:19 --- quit: tp___ (Changing host) 15:48:19 --- join: tp___ (~Terry@mecrisp/staff/tp) joined #forth 15:51:13 --- join: dave0 (~davezero@069.d.003.ncl.iprimus.net.au) joined #forth 16:08:52 --- nick: tp___ -> tp 16:35:15 --- join: creat1001 (ad5cd423@cpe-173-92-212-35.carolina.res.rr.com) joined #forth 16:53:17 Hello everyone. Hope you all had a good weekend. 17:39:53 --- join: rdrop-exit (~markwilli@112.201.170.86) joined #forth 17:44:20 Hi rdrop 17:44:45 c[] Hi creat 17:50:54 I did some work on the structure sizes this morning. Dug up code from LONG ago that I had to deal with making sure the size of od a certian size. 17:52:42 I remember I used to have to do a lot of packing of structures to get and send data to Cobol programs from C. If it was on ir from the mainframe, I had to do it in ebcdic. 17:56:33 cool 18:00:07 --- join: creat10013 (63be2f20@99-190-47-32.lightspeed.chrlnc.sbcglobal.net) joined #forth 18:01:17 In C when I need to make sure of a bit width I use stdint.h 18:02:34 This was from the way C does structure alignment. 18:02:57 --- quit: creat1001 (Ping timeout: 260 seconds) 18:03:27 I added __attribute__((__packed__)) to the struc define and that made it better 18:04:44 Back in the 90's I would have to do similare and also add pad bytes in the struct that would not get used. 18:06:13 struct seems overkill to me for defining a vm cell 18:06:40 For me it's not. 18:06:55 typically cell width will either be 16 or 32 or 64 bit 18:07:36 uint16_t uint32_t uint64_t 18:08:30 It's my design though. 18:08:34 ok 18:09:00 np 18:11:06 no, np at all. We all have our own ideas. This is just pay code. 18:12:12 The assembler is getting wordy now though. I know it would be though. I have the Pass 1 stuff done and am doing code gen now. Link will be last. 18:16:36 Are you assembling using Forth comma words? 18:29:26 or is your assembler written in something other than Forth? 18:30:40 C and it's just to test the VM out, I will do diffent for word compiles. 18:30:56 I see 18:33:44 Doing a hand written parser. I do hate bnf, lex, etv... 18:33:51 etc 18:36:12 I see 18:36:29 It's also asm to parse, not hard. 18:43:53 I've been spoiled by Forth, where parsing is pretty much avoided 18:45:31 Yeah. I loved forth when I found in in the 80's on my C64, but only did it a bit professionally on a PLC that used it. 18:45:49 cool 18:46:11 --- quit: dave0 (Quit: dave's not here) 18:46:20 I have written a lot of C though. 18:46:42 You do forth at your job? 18:47:10 I'm retired 18:47:53 I see., thats nice. 18:48:51 Yes, can't complain 18:49:18 I still have a few years before then. 18:52:53 Time flies 18:53:09 Tell me about it. 18:53:54 You are in the Philippines correct? 18:54:04 Yes, Metro Manila 18:54:25 I've settled here 18:54:26 Are you a retired engineer? 18:55:07 Yes amongst other things 18:57:26 I'm a dabbler, jack of all trades, master of none 18:58:26 I have never been good at anything except programing. Broken brain. 18:59:08 And am maiginal at best sometimes at that. 19:01:30 Programming is fun, or at least it should be 19:02:41 yeah, I have fun with it at home anyway. Too much crap in todays work code 19:03:36 I can imagine 19:07:08 I can't relate to the current generation of coders, the mindset is so different 19:08:11 I know. They think everything today is new and improved. Javescript is a godd example of NOT N&I 19:08:22 Call back hell 19:09:29 Not that I don't see merits in in for some things, like web, but not a real app that needs to be maintained. Mordren day wordy perl. 19:10:22 I actually had a your programmer ask what was used before you had a framework. 19:11:03 :) 19:13:34 They can't get by without their leaning tower of abstractions 19:14:24 So much stuff stacked on other stuff 19:15:35 hi guys! 19:15:45 I never accepted OOP for my own work. I thought it was overhead for no real advantage. 19:15:47 Hi tp 19:16:03 some say that technology is stagnating with all the complexity and abstraction 19:16:03 hi tp! 19:16:12 hey creat10013 and rdrop-exit 19:17:01 it's amazing that the guidance computer for the Apollo series was written assembler by one guy and didnt have any bugs 19:17:02 The code at work uses so much refection to run. 19:17:33 "Well there's a difference between, and I don't think this is understood very well by everybody, there's a difference between simplifying and making a higher level of abstraction, we say that's simplifying, but it's actually making things more complicated most of the time because there's more stuff underneath right, and that's what we have not acknowledged as a programming community" - Jonathan Blow 19:17:35 they were even able to recode on the fly when the inevitable hardware issues caused problems during the flight 19:18:39 refection in the modern day recursion 19:19:18 I love the Forth mindset, simplify the problem first 19:19:24 I hated recursion. 19:19:45 I did a no-recursive set of tree functions 19:20:58 I like forth for that. I am a top-down coder normally. 19:21:17 It make it easy to keep things in order 19:21:24 For me anyway. 19:22:48 I'm a electronics tech and my preferred design method atm is to draw a flowchart of my solution and simplift that as much as I can, then just build the Forth words to suit 19:23:05 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 19:23:18 of course I test the parts using Forth while I do the flowchart to see whats possible 19:24:29 I have always used a text editor to think, but all should use what is best for them and not others. No shoe-horning! 19:26:42 I just try to minimize the number of moving parts 19:27:28 --- quit: wa5qjh (Client Quit) 19:27:57 --- join: wa5qjh (~quassel@110.54.233.65) joined #forth 19:27:57 --- quit: wa5qjh (Changing host) 19:27:57 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 19:28:51 yeah, we all have our own methods 19:29:17 Hammers are good :) 19:29:34 I found using a flowchart helped me visualise what I was actually trying to accomplish, to bring some kind of order to by scattered thinking 19:29:37 "One change at the bottom can save ten decisions at the top." -- C.Moore 19:29:49 rdrop-exit, so true 19:30:56 Forth allows me incredible flexibility because while Im working on my flowchart I can test stuff in real time and build the component Words 19:31:47 if I know I need a motor and speed control I can build that as a fun break from working on the overall flowchart 19:32:49 or more commonly, explore how a peripheral needs to be configured for the project 19:35:13 Interactive, Incremental, Explorative, Extensible, Holistic. We've got it all :) 19:35:57 thats so ZEN! 19:36:07 :) 19:36:18 rdrop-exit, have you had much to do with the 'number' Word ? 19:36:27 this is the one I have 19:37:13 number ( c-addr length - - 0 ) Tries to convert a string to a number. 0 = FAILED 19:37:13 ( c-addr length - - n 1 ) 1 = success, a 32 byte number is on the STACK 19:37:13 ( c-addr length - - n-low n-high 2 ) 2 = success, TWO 32 bit numbers, a HIGH BYTE and a LOW BYTE on the STACK 19:37:52 I've been experimenting with the above, which is the Mecrisp-Stellaris implemantation 19:38:18 it only seems to work with single numbers 19:38:39 I havent looked at the sourse as it's in assembly and commented in German 19:38:54 Mine is also single width 19:39:26 oh, well thats a important datapoint for me to know 19:40:16 I've tried doubles and fixed point, and dounles fail, but fixed point confuses it and it thinks it has been successful 19:40:58 I'm only exploring the dictionary, I have no use for 'number' at this time 19:41:27 rdrop-exit, what is your main use for 'number' ? 19:41:41 is it parsing Words ? 19:42:42 oh, and I now have a brutally fast Mecrisp-Stellaris for freebsd which runs perfectly under QEMU on this machine 19:42:48 --- quit: wa5qjh (Ping timeout: 240 seconds) 19:43:11 Mine is only used by the interpreter and compiler to convert a decimal string to a cell 19:43:35 it also runs on FreeBSD in a RPI and has a bunch of API stuff so I can access RPI GPIO's even do some networking 19:45:12 For entering numbers for other bases I use prefix words, $ for hex, % for binary, e.g. $ ffff % 101010 19:45:31 same as Mecrisp-Stellaris does 19:46:33 My number isn't the same as the one in the ANS standard 19:47:20 good point, I never look in the standard for help, it was not on my radar when I started learning Forth in 2014 19:47:47 IIRC that one uses BASE and handles double-cell numbers 19:48:40 ill ask the Mecrisp-Stellaris architect soon and get his comments 19:48:57 at least that's what the Forth-83 standard NUMBER used to do 19:49:23 I always research all my Forth issues before asking him as I dont want to waste his time 19:50:05 This is the old Forth-83 spec for NUMBER: 19:50:10 NUMBER addr -- d 19:50:10 Convert the count and character string at addr, to a signed 19:50:11 32-bit integer, using the value of BASE . If numeric 19:50:11 conversion is not possible, an error condition exists. The 19:50:11 string may contain a preceding minus sign. 19:50:16 a Russian Forth user emailed me about it and ive confirmed his tests first 19:51:00 that doesnt menton anything about doubles or fixed point ... 19:51:58 once I find out what it can and cant do, then I'll put a example showing the usage in my online documentation 19:52:04 as usual 19:52:31 I'm looking at the Forth 2012 standard now, it has >NUMBER 19:54:20 Here's a link to >NUMBER 19:54:23 https://forth-standard.org/standard/core/toNUMBER 19:54:54 ah yes, Swapforth by James Bowman has >number 19:55:01 ta! 19:55:25 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 19:55:27 --- quit: wa5qjh (Remote host closed the connection) 19:56:56 brb 19:57:13 no problemo 19:59:11 --- join: wa5qjh (~quassel@110.54.233.65) joined #forth 19:59:11 --- quit: wa5qjh (Changing host) 19:59:11 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 20:00:39 Here's the section on number conversion in GForth: 20:00:41 http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Number-Conversion.html#Number-Conversion 20:01:15 --- quit: wa5qjh (Client Quit) 20:02:59 thanks, thats a good help also 20:03:22 I'm not much help with current Forth standards, I don't conform 20:04:35 no Forth Ive ever seen conforms, especially in embedded 20:05:02 right 20:05:12 as long as the author states expected behaviours Im good 20:06:07 personally I feel that most Forth authors dont care about standards too much, same as Chuck 20:06:34 standards only get in the way for Forth 20:08:23 I'm not worried about porting my Forth code to someone else's Forth, so the standards don't really buy me anything 20:11:54 The current standard suffers from creeping featuritis 20:12:51 (IMHO) 20:13:29 I'm sure youre right 20:14:27 as you have said many times, people dont program in Forth 20:40:05 --- quit: dddddd (Remote host closed the connection) 20:58:08 --- join: dave0 (~davezero@069.d.003.ncl.iprimus.net.au) joined #forth 21:19:55 --- join: gravicappa (~gravicapp@h109-187-246-245.dyn.bashtel.ru) joined #forth 21:31:23 --- join: Keshl__ (~Purple@207.44.70.214.res-cmts.gld.ptd.net) joined #forth 21:31:52 --- quit: Keshl_ (Read error: Connection reset by peer) 22:24:34 --- quit: ryke (Ping timeout: 245 seconds) 23:01:56 --- quit: dave0 (Quit: dave's not here) 23:57:41 --- join: mtsd (~mtsd@77.110.61.100) joined #forth 23:59:59 --- log: ended forth/19.09.22