00:00:00 --- log: started forth/16.12.14 00:00:13 how old was he when he got his first forth going? 00:01:02 wikipedia says he's lived through 46 years of forth 00:01:46 Though I suspect it's much longer 00:01:47 34 years old according to my calculations. 00:02:27 hold on let me 80 34 - 00:02:50 46 years of forth indeed 00:03:21 Man ... last night, I was reading Starting Forth's chapter on compiling and defining words. 00:03:26 My mind was so blown. 00:03:45 what chapter number? 00:04:13 John[Lisbeth]: 11. 00:04:20 https://www.forth.com/starting-forth/11-forth-compiler-defining-words/ <-- this one 00:04:26 I haven't gotten that far yet 00:04:51 John[Lisbeth]: I'm still trying to get all the implications and how to properly use it through my thick skull. 00:05:03 all you really need to know is how to program concatenatively 00:05:05 Also, I'm finding debugging byte arrays to be kind of annoying. 00:05:23 Since whenever I try to fetch and print from them, GForth widens them into 64-bit numbers. 00:05:24 are you using mutable state? 00:05:41 John[Lisbeth]: No, but I want to be sure I'm generating the right bytes. 00:06:06 koz_: Are you using C, ? 00:06:10 pointfree: Yes. 00:06:13 ah 00:06:43 Well the easiest way would be to write it to a file 00:06:48 the whole array 00:06:51 or print it to the terminal 00:07:11 what IDE are you using? 00:07:22 John[Lisbeth]: I'm using GForth. Like, just GForth, no IDE. 00:07:29 Is there a way I can dump the whole array there easily? 00:07:31 You should use emacs 00:07:35 koz_: Are you by chance compiling counted strings into your byte array as well? 00:07:36 John[Lisbeth]: Oh, I do. 00:07:49 pointfree: No, no strings. I just want bytes for a table. 00:08:10 (specifically bytes - they need to be 8 bits wide, not something bigger) 00:09:23 koz_: using DUMP ( addr n ) ? 00:11:05 pointfree: Thanks, I will try that. 00:12:43 OK, now I have to figure out how to interpret that. 00:14:03 http://ix.io/1Mfq <-- could someone help me decipher that? 00:14:13 I'm not really sure what I'm looking at. 00:17:08 koz_: The hex dump shows the address of the header "ones" which is "7F1E0F2D51F8" and the bytes in hex and then their character representation on the right (dot for unprintable characters) 00:17:24 Oh, so dump is in *hex*. That explains a bit. 00:17:36 (I guess the address should have been a giveaway) 00:18:07 Thanks pointfree! 00:18:34 you're welcome! 00:19:38 OK, now time to abuse [ and ] to actually generate those. 00:19:59 s/abuse/use 00:36:02 --- join: Bahman (~Bahman@c179-52.i02-5.onvol.net) joined #forth 01:27:10 --- join: dys (~dys@x5f725e66.dyn.telefonica.de) joined #forth 02:19:45 --- quit: phadthai (Ping timeout: 256 seconds) 02:24:46 --- join: phadthai (~mmondor@206.248.143.74) joined #forth 02:59:01 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 03:12:01 it is almost depressing that a compute power today is so cheap if you use forth as your os 03:12:14 it's like being alone on a whole empty planet 03:13:26 maybe I need to install gentoo next and then linux from scratch 03:14:59 I mean I might even do something that just causes the computer to set on fire or something 03:18:38 why? 03:27:12 I dunno if I activated some kind of feature in the motherboard and I didn't know what it did 03:39:14 --- join: mtsd (~mtsd@customer-46-39-122-235.stosn.net) joined #forth 03:55:05 --- quit: Bahman (Read error: Connection reset by peer) 03:58:06 oh boy 03:58:12 I just figured out what a microcontroller was 04:03:34 --- quit: nighty (Quit: Disappears in a puff of smoke) 04:03:56 wow 04:04:10 I may be able to make my own rpn calculator watch 04:04:41 what I could even do is try to find a watch that already has a microcontroller in it 04:05:36 look at TI watch with MSP430 if you want to dive into it seriously 04:06:02 tons of info on chip and opensource support (gcc/asm utils) 04:07:25 can you send me a linke to it? 04:08:58 http://www.ti.com/tool/ez430-chronos#buy 04:10:31 that's interesting 04:10:57 I am really inspired by calculator watches from the 80s 04:11:09 there was kind of a boom in the capabilities of digital watches back then 04:11:19 now with microcontrollers we could make ourselves a little forth machine 04:14:25 I am not just going to put a calculator on it I am going to make it a microcomputer in the style of the commedore 64 04:14:41 --- quit: mtsd (Quit: leaving) 04:18:52 c64 will not be micro by modern standards :-D 04:22:06 I am not sure what you mean 04:22:18 Modern embedded "standards" are very simple. Use chip architectures of 70s (like PDP-11 in case of MSP) and program it like it's 60-70s again (interrupts, DMA, timers C code). 04:24:10 So, taking it in account, one may say that GreenArray-like architectures are from far future :) 04:24:46 I don't think that ti watch nefur sent has the character density I need 04:24:51 can it render whatever you'd like? 04:26:59 https://www.youtube.com/watch?v=t0yEjVjvXxE 04:31:45 John I was meaning size 04:33:43 John, sorry, but you didn't mention density and other requirments, I think it is always will be easier to build your own device when you "master" MCU that you love 04:34:14 well it really is all about fitting everything into the size of a watch and making it lowe power 04:34:26 it seems like I may even be able to include some sound 04:35:12 https://www.youtube.com/watch?v=sCp4sILWcoc 04:55:08 https://www.youtube.com/watch?v=svA3IgqUEhI 04:55:10 :) :) :) 05:33:27 --- quit: impomatic (Quit: http://gatewaygames.co.uk) 05:41:48 --- join: nighty (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 05:50:59 --- quit: John[Lisbeth] (Ping timeout: 240 seconds) 06:58:06 --- join: rgrinberg (~rgrinberg@24-246-56-85.cable.teksavvy.com) joined #forth 07:34:27 --- quit: beretta (Quit: Leaving) 08:05:11 --- join: proteusguy (~proteus-g@node-5u4.pool-101-108.dynamic.totbb.net) joined #forth 08:05:11 --- mode: ChanServ set +v proteusguy 08:11:23 --- quit: proteusguy (Ping timeout: 258 seconds) 08:34:28 --- join: proteusguy (~proteus-g@14.207.2.161) joined #forth 08:34:28 --- mode: ChanServ set +v proteusguy 08:48:40 --- join: ASau (~user@netbsd/developers/asau) joined #forth 08:51:37 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 09:18:53 --- quit: proteusguy (Remote host closed the connection) 09:43:39 --- join: proteusguy (~proteus-g@14.207.2.161) joined #forth 09:43:39 --- mode: ChanServ set +v proteusguy 10:02:51 --- join: mnemnion (~mnemnion@104.6.70.118) joined #forth 10:03:39 --- join: nal (~nal@adsl-64-237-232-201.prtc.net) joined #forth 10:12:59 --- quit: Uniju (Quit: Feeling down? You may already be a charge target.) 10:24:25 --- quit: proteusguy (Ping timeout: 258 seconds) 10:24:52 --- join: proteusguy (~proteus-g@14.207.2.161) joined #forth 10:24:52 --- mode: ChanServ set +v proteusguy 11:00:26 --- quit: ricky_ricardo (Ping timeout: 258 seconds) 11:05:31 --- join: ricky_ricardo (~rickyrica@2601:240:4203:ecb0:b8f9:35bf:de15:ef51) joined #forth 11:06:24 --- join: workp (~workp@host-92-25-126-252.as13285.net) joined #forth 12:02:38 --- join: Mat4 (~claude4@ip5b40bc3b.dynamic.kabel-deutschland.de) joined #forth 12:02:48 --- nick: mark4_ -> mark4 12:05:31 What's the deal with SEMI vs. EXIT? Are they the same thing? 12:06:01 I'm reading "Threaded Interperetive Languages" (1980) and see them using COLON and SEMI, but in newer texts I don't see such words used. 12:06:53 ; and exit are not the same thing 12:06:57 hello 12:07:05 ; is a colon definition that does a number of things 12:07:26 ; is usually an immediate word that COMPILES an exit and then switches forth back to interpret mode 12:09:52 --- quit: nal (Ping timeout: 246 seconds) 12:10:01 smudge! :) 12:10:59 well, some early Forth systems don't have an exit word. For this systems ; must be explicit compiled, for example to implement multiple exit points 12:14:23 I don't know if this is of relevance for ANS Forth systems this day 12:16:46 there is no ans forth 12:16:52 there is no spoon 12:18:47 whatever this means 12:20:53 its a matrix reference 12:25:36 --- quit: ASau (Ping timeout: 264 seconds) 12:26:23 hmm, ok 12:28:54 what are again the problems with state-smart words ? 12:29:29 phobia 12:30:44 there is nothing wrong with state smart words 12:30:51 if it is the simplest solution 12:31:12 I thinked about it and came to the same conclution 12:31:37 sorry conclusion 12:32:11 its like "goto" oh no PANIC! you better not use "goto" even if it simplifies your code 12:32:15 amgwtfbbq! 12:33:08 well, probably I should take a deeper look at Forth 79 12:33:30 79 std had a bug in not that was fixed in 83 12:33:35 : not 0= ; 12:34:04 STUPID and the stupidness is contagious and the ANS std team caught the stupid 12:34:09 and got it worse 12:34:18 79 not was broken 12:34:21 83 not was fixed 12:34:36 ans: oh crap we have two conflicting definitions for not... lets NOT define not! 12:34:45 *lol* 12:35:03 lets invent a totally new limp wristed word that does a NOT operation and call it (camp voice) "invert" 12:35:41 it was either the 79 std with a broken not or fig 12:35:52 i know 8 defined NOT as a 1s complement 12:36:01 83 12:41:27 there are many decisions of the ANS standard I found quite hard to understand. Anyhow other than for one project work, I will fore sure never use an ANS Forth system again in hope to spare my nerves 12:42:11 fore=for 12:42:52 i get the same glazed over eyes reading ans forth as i get from reading gobbldegook gordian knot c 12:42:56 every time 12:44:40 just readed, Jeff Fox described ANS Forth as ANTI Forth, quite radical statemement in my opinion but undertandable 12:47:24 66/5At current I break my head over a system-close concatenative array language for which I have some ideas. I hope with experience to have a simple language for personal usage which fits my needs- if I found the time to implement it 12:48:22 cm said that the ans forth std does not describe the forth language but a language of the same name 12:48:41 * Mat4 wonders about the scancodes included in between typing 12:48:53 yet i thin the greenarrays compiler is ans compliant :/ 12:49:04 what scancodes? 12:49:12 there ported Polyforth 12:49:28 they have license to use polyforth? 12:49:36 and what scan codes? 12:49:50 I don't know. You should ask Greg 12:50:30 i dont know what you meant about scan codes. what scan codes? 12:50:44 i doubt the could just pirate polyforth :) 12:51:27 my terminal driver insert scan codes at current on some keystrokes 12:52:09 i dont see them 12:52:13 PolyForth is a language for VM inside G144. 12:52:37 It uses an emulated instruction set. 12:52:43 makes sense 12:54:00 I don't understand why just Polyforth but it must make sense for them, somehow... 12:54:52 I guess Arrayforth alias Colorforth was quite to special to be accepted 12:55:08 i ws never a fan of polyforth 12:55:13 i liked chipforth 12:55:17 not chipforth erm 12:55:21 i forget what it was called 12:55:25 predates poly 12:55:46 I don't remember why they switched to PolyForth. In IntellaSys times we had eForth VM. 12:56:37 that's the other port I remember from a talk 12:57:20 pointfree, ping 13:01:23 have someone here reded this 'paper' https://arxiv.org/abs/1611.00467 ? 13:01:29 ^readed 13:07:55 _Virtual_ machines. It makes no sense. 13:18:20 I agree 13:22:12 There ignore completly that stack processing offers the opportunity of a very compact encoding which allows, if efficient designd, the combined dispatch and execution of multiple instructions within a single interpreter iteration 13:23:21 this also over compensate for the larger code effort compared to register designs as I explored 13:25:56 in opposition to this: The need to encode register fields make such optimization of limited use in case of a register based VM, because the resulting table offset get to large to be useful 13:27:31 also a stack VM can hold at least TOS in a physical register whereby register emulation make such effort impossible (except accumulator/store VM's) 13:31:58 --- quit: neceve (Quit: Konversation terminated!) 13:32:14 also the benefits for JIT or AOT compilation is somewhat questionable for me 14:15:03 --- quit: Mat4 (Quit: Leaving) 14:34:02 --- join: ASau (~user@netbsd/developers/asau) joined #forth 14:34:12 --- quit: nighty (Remote host closed the connection) 14:50:05 --- join: nal (~nal@adsl-64-237-232-201.prtc.net) joined #forth 14:51:50 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 14:52:26 --- quit: Zarutian (Read error: Connection reset by peer) 14:52:58 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 14:55:22 i just made my famous "secret potatos" 14:55:24 nom nom 14:55:45 mmm 14:57:00 its just diced potatos, par boiled and then fried in butter in my cast iron skillet and then soaked in ghost pepper sauce lol 14:57:19 eek 14:57:44 * dzho likes many nightshade-based foods, but many of them don't like him 15:00:35 lol 15:00:46 ghost pepper will cure anything 15:00:54 and then some 15:03:21 cure me of sleep, probably 15:05:00 i dont always use ghost pepper sauce 15:14:57 mark4: sounds dope 15:15:06 its hot ;) 15:25:17 desperately trying to find a new place to live before jan. everyone i contact is either a scam or a fucking homosexual 15:25:28 im goign to be on the streets in jan 15:33:48 I hear celibate homosexuals are hard to come by 16:04:44 --- quit: Zarutian (Quit: Zarutian) 16:16:02 --- quit: true-grue (Read error: Connection reset by peer) 16:36:31 --- join: roboguy` (~roboguy_@cpe-98-156-12-59.kc.res.rr.com) joined #forth 16:44:31 --- join: nighty (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 16:52:36 --- quit: workp (Ping timeout: 264 seconds) 17:03:08 --- quit: mnemnion (Remote host closed the connection) 17:35:55 --- quit: carc (Quit: QUIT) 17:42:06 --- join: carc (~carc@unaffiliated/carc) joined #forth 17:46:16 --- join: mnemnion (~mnemnion@71.198.73.193) joined #forth 17:48:51 --- quit: mnemnion (Remote host closed the connection) 17:49:55 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:551a:5d2b:22fe:a6f8) joined #forth 18:15:07 --- join: neceve (~ncv@79.114.83.228) joined #forth 18:15:07 --- quit: neceve (Changing host) 18:15:07 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 18:36:26 --- quit: roboguy` (Read error: Connection reset by peer) 18:37:48 --- join: roboguy` (~roboguy_@cpe-98-156-12-59.kc.res.rr.com) joined #forth 19:09:41 mark4: where are you located? 19:10:40 dallas right now 19:45:45 Well I have an apartment in San Mateo, CA right now. I might want to move somewhere cheaper while I work on getting my (Forth based) hardware project off the ground and onto crowdsupply. 19:51:57 Mat4: Does the author of that paper provide the sample programs used for the benchmark? 19:54:26 --- quit: rgrinberg (Ping timeout: 252 seconds) 20:05:19 --- quit: dys (Ping timeout: 240 seconds) 20:08:44 Mat4: Here's a 20:09:45 ...thesis with the opposite conclusion: https://web.archive.org/web/20150723210602/http://www.dcs.gla.ac.uk:80/~marks/thesis.pdf 20:10:08 hit the enter key too soon 20:12:06 More https://www-users.cs.york.ac.uk/chrisb/main-pages/stack-machines/stack-machines-research-page.html 20:14:06 --- quit: pointfree (Remote host closed the connection) 20:14:23 --- join: pointfree (~pointfree@c-174-62-81-78.hsd1.ca.comcast.net) joined #forth 20:37:50 --- quit: roboguy` (Read error: Connection reset by peer) 20:38:53 --- join: roboguy` (~roboguy_@cpe-98-156-12-59.kc.res.rr.com) joined #forth 20:42:19 --- quit: nal (Quit: WeeChat 1.4) 20:59:30 --- quit: ASau (Remote host closed the connection) 20:59:49 --- join: ASau (~user@netbsd/developers/asau) joined #forth 21:29:39 --- quit: neceve (Quit: Konversation terminated!) 21:42:44 --- quit: ASau (Remote host closed the connection) 21:55:26 --- quit: proteusguy (Remote host closed the connection) 22:16:28 hello 22:38:53 --- quit: roboguy` (Read error: Connection reset by peer) 22:40:15 --- join: roboguy` (~roboguy_@cpe-98-156-12-59.kc.res.rr.com) joined #forth 23:11:58 --- quit: roboguy` () 23:34:49 --- join: workp (~workp@host-92-25-126-252.as13285.net) joined #forth 23:42:22 --- quit: workp (Ping timeout: 265 seconds) 23:55:29 --- join: Krinkleneck (~AndChat43@2601:155:100:eb5c:5819:984e:b2f4:d571) joined #forth 23:59:59 --- log: ended forth/16.12.14