00:00:00 --- log: started forth/19.07.04 00:07:34 --- quit: lonjil (Ping timeout: 259 seconds) 00:12:04 --- quit: dys (Ping timeout: 245 seconds) 00:18:40 --- join: lonjil (~quassel@2a02:418:6050:ed15:ed15:ed15:e741:32d6) joined #forth 00:56:32 --- join: dys (~dys@2003:5b:203b:102:226:5eff:fee9:68d2) joined #forth 00:59:51 --- join: xek (~xek@apn-31-0-23-83.dynamic.gprs.plus.pl) joined #forth 01:34:09 --- quit: KipIngram (Ping timeout: 245 seconds) 01:46:12 happy 4th of July 01:46:17 here's to freedom 01:47:39 : UNITE-STATES ( tyranny -- freedom) LIFE LIBERTY HAPPINESS ; 02:05:58 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 02:21:05 --- join: andrei-n (~andrei-n@173.155-67-87.adsl-dyn.isp.belgacom.be) joined #forth 02:51:45 --- quit: mtsd (Quit: Leaving) 03:36:57 --- join: gravicappa (~gravicapp@h109-187-239-230.dyn.bashtel.ru) joined #forth 03:39:39 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 04:13:31 --- join: pierpal (~pierpal@host2-9-dynamic.4-87-r.retail.telecomitalia.it) joined #forth 04:32:17 --- quit: pierpal (Ping timeout: 246 seconds) 05:08:52 --- quit: proteusdude (Ping timeout: 244 seconds) 05:09:30 --- join: proteusdude (~proteusgu@cm-58-10-208-146.revip7.asianet.co.th) joined #forth 05:09:30 --- mode: ChanServ set +v proteusdude 05:11:12 --- join: KipIngram (~kipingram@185.149.90.58) joined #forth 05:11:12 --- mode: ChanServ set +v KipIngram 05:16:36 --- join: john_metcalf (~digital_w@host31-54-142-171.range31-54.btcentralplus.com) joined #forth 06:17:43 --- quit: john_metcalf (Ping timeout: 248 seconds) 07:06:00 --- quit: xek (Ping timeout: 272 seconds) 07:55:13 --- join: cnidario (~aaa@92.57.58.87) joined #forth 08:09:16 and bacon 08:09:20 don't forget the bacon 08:26:49 --- quit: rdrop-exit (Quit: Lost terminal) 08:34:06 --- quit: cnidario (Remote host closed the connection) 08:35:35 --- quit: proteusdude (Quit: Leaving) 08:35:50 --- join: proteusdude (~proteusgu@cm-58-10-208-146.revip7.asianet.co.th) joined #forth 08:35:50 --- mode: ChanServ set +v proteusdude 08:47:29 --- quit: dys (Ping timeout: 250 seconds) 09:18:07 --- join: dys (~dys@tmo-080-128.customers.d1-online.com) joined #forth 09:20:05 and donut 09:43:03 --- quit: reepca (Ping timeout: 248 seconds) 09:49:55 aha! Finally found the english translation for halla-tala, slope-number. I just should have know when it is that obvious. 09:50:31 this was in connection with the sheer operation on pixmaps 10:19:02 hey 10:31:12 --- quit: dave0 (Quit: dave's not here) 10:45:03 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 11:17:15 --- quit: mtsd (Ping timeout: 244 seconds) 11:41:48 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 12:06:45 --- quit: mtsd (Ping timeout: 268 seconds) 12:07:30 --- quit: gravicappa (Ping timeout: 245 seconds) 12:20:03 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 12:45:24 --- quit: deesix (Ping timeout: 245 seconds) 12:45:57 --- join: deesix (~dddddd@unaffiliated/dddddd) joined #forth 12:48:00 --- quit: mtsd (Ping timeout: 272 seconds) 12:52:19 --- quit: dys (Ping timeout: 244 seconds) 13:31:26 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 13:49:48 --- quit: andrei-n (Remote host closed the connection) 13:54:44 --- quit: mtsd (Ping timeout: 246 seconds) 14:05:23 does anyone here have any experience getting GDB to do unusual things? I'm trying to get .s there, as well as automatically printing some known stack items at known breakpoints (e.g. print the last word executed on underflow) 14:08:40 not me sorry, I have trouble getting GDB to do usual things :) 14:11:03 fair :P I just extended my word header to contain an optional pointer to a docstring, and now everything is on fire :P 14:11:14 (after touching up everything that looks at fixed offsets, even) 14:12:28 well that will teach you to extend your word header! 14:37:51 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 14:52:23 --- quit: mtsd (Quit: Leaving) 14:55:17 --- join: karswell_ (~user@cust125-dsl91-135-5.idnet.net) joined #forth 14:58:11 --- quit: karswell (Ping timeout: 268 seconds) 15:03:16 --- quit: chunkypuffs (Quit: ZNC 1.7.1 - https://znc.in) 15:26:05 --- quit: tabemann (Ping timeout: 276 seconds) 15:46:48 --- join: chunkypuffs (~chunkypuf@static.203.112.216.95.clients.your-server.de) joined #forth 16:05:06 --- join: tbemann (~androirc@2600:380:6650:b540:ba30:3957:df24:5510) joined #forth 16:06:57 hey guys 16:17:41 good evening 16:18:16 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 16:20:27 I should try some more stuff out with my actor inplementation 16:21:05 however I am at a park and my machine is not with me 16:23:17 also my actor implementation is heretical on that it relies heavily on heap allocation 16:25:09 (at least the heap allocator is written in Forth) 16:25:49 I don't have a heap allocator at all :) 16:26:10 no ssh into the machine? 16:26:32 ? 16:28:03 you say your machine isn't with you; I waswondering if it was usable remotely via ssh or similar 16:29:13 I don't have my home network configured for logging in remotely 16:29:56 and also working on code from a phone is a pain 16:31:01 (actually I think I have my laptop at home hibernated) 16:31:07 ah, fixed my word header issue -- at the same time, I changed how debug printing worked in such a way that it clobbered the (Forth) instruction pointer 16:31:15 my kids do all of their programming on their phones; it's not something I can do for anything outside of quick patches 16:31:32 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 16:32:05 hey the cute cuttlefish 16:32:41 (my setup is a collection of servers running FreeBSD and OpenBSD, and an iPad, which is my portable system) 16:34:04 I just drag a laptop wherever I might want to code 16:35:19 I haven't seen the need to set up a colo or anything 16:35:58 Hey tbemann 16:37:04 I can't type on laptops now. I need my ergonomic keyboards for any long typing; for short bits on the go, I have a custom virtual keyboard tailored to my needs 16:38:01 fundamentally I wouldn't use a phone or tablet for coding because I dislike typing on them 16:40:07 I keep usable keyboards at my most common destinations, and am looking for somethin suitable to keep in my bag for the remaining times 16:49:44 Most phones and tablets do USB OTG nowadays, so connecting a keyboard works without issues. 16:49:58 Phone screens are often too tiny for actually doing something though. 16:53:11 I think my kids use font sizes too small for me to see (I typically use rather large fonts due to my very bad vision) 17:10:34 --- join: nonlinear9 (nonlinear@unaffiliated/discrttm) joined #forth 17:10:57 --- quit: nonlinear (Quit: Ping timeout (120 seconds)) 17:13:14 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 17:13:47 hi 17:20:06 back 17:39:19 --- quit: pareidolia (Ping timeout: 248 seconds) 17:42:50 --- join: pareidolia (~pareidoli@87.213.124.143) joined #forth 17:53:36 --- quit: tbemann (Ping timeout: 252 seconds) 17:54:07 --- join: tbemann (~androirc@2600:380:6650:b540:ba30:3957:df24:5510) joined #forth 18:07:54 --- quit: tbemann (Ping timeout: 252 seconds) 18:13:44 --- join: tabemann (~tabemann@2600:1700:7990:24e0:c0e1:24dd:e827:bbef) joined #forth 18:46:14 --- join: rdrop-exit (~markwilli@112.201.174.189) joined #forth 18:56:58 Good morning Forth aficionados 19:57:41 hey 20:04:39 hi tabemann 20:09:43 g'day from downunder 20:10:36 --- quit: nonlinear9 (Quit: The Lounge - https://thelounge.github.io) 20:10:57 --- join: nonlinear (nonlinear@unaffiliated/discrttm) joined #forth 20:12:57 I stumbled over https://forth-ev.de/ today which is 99% in German but https://translate.google.com/ makes it very easy to read for this aussie 20:13:26 I use Google translate a lot to try and understand the Mecrisp-Stellaris source 20:24:10 Hi tp 20:24:21 hey rdrop-exit 20:24:39 it wet and windy here, you ? 20:26:05 30 Celcius, partially sunny. Will probably get a couple showers later in the day. 20:26:32 does it ever get cold in the Philippines ? 20:27:07 Only if you go up in the hills 20:27:21 makes sense 20:27:52 According to accuweather should reach 32 Celcius with thunderstorms by noon. 20:29:39 it's about 20 Celcius here in NSW atm a temperature I like 20:31:43 I'm in shorts all year around. 20:33:10 woo, docstrings now work in my forth! next up, cooperative multitasking 20:33:23 I'm ok with visiting cold places but I no longer want to live anywhere cold. 20:34:21 rdrop-exit, I dont like the heat myself, I'm so over 40+ Celcius weeks 20:34:47 remexre, awesome, was GDB useful in finding the problems ? 20:35:16 tp: yeah, I ended up writing some python as a plugin/addon to add more commands 20:35:17 --- quit: karswell_ (Remote host closed the connection) 20:35:30 https://github.com/remexre/stahlos/blob/master/src/misc/gdb_tools.py if you wanna peek 20:36:10 oh cool 20:36:42 --- join: karswell_ (~user@cust125-dsl91-135-5.idnet.net) joined #forth 20:40:07 --- quit: dddddd (Remote host closed the connection) 20:43:03 docstrings? can you give an example? 20:45:12 rdrop-exit, docstrings are obviously medical in nature? you'd type sore-neck? and the response would be "get-neck-massage" 20:49:08 Doctor, ain't there nothing I can take? 20:49:19 Doctor, to relieve this bellyache? 20:49:41 ou put the lime in the coconut, you drink 'em both together 20:49:55 Put the lime in the coconut, then you feel better 20:50:27 heh 20:50:57 Now that song is going to be in my head all day 20:55:38 like I can type DOCS DISCARD 20:55:55 and get "u_k ... u_0 k --" printed 20:56:06 rdrop-exit: ^^ 20:58:47 Ah, so sort of like VIEW in traditional Forth 20:59:00 --- join: gravicappa (~gravicapp@h109-187-239-230.dyn.bashtel.ru) joined #forth 21:00:18 I want to do VIEW eventually too, but yeah, it's meant as assistance when interactively developing 21:20:39 DOCS seems redundant to me if you're going to implement VIEW anyway. 21:21:44 maybe I'm confused on how VIEW should be implemented -- in my mental model, DOCS displays a human-written docstring, while VIEW runs a decompiler/disassembler 21:22:25 SEE is the decompiler, VIEW shows source code 21:22:47 oh, hm 21:23:21 I guess the other side is that I'm big on the idea of compiling HLLs to Forth, and there VIEW isn't too useful 21:26:28 whereas I'd still like to be able to get docs for e.g. a ML function 21:31:31 Traditionally your just extending Forth towards your problem domain, so the resulting HLL/DSL is in effect still Forth. 21:31:40 * you're 21:34:20 yeah, but some things are sufficiently cumbersome that I'd Rather Not (TM) 21:34:47 e.g. implementing a language in which I can formally prove properties of the code 21:35:11 and I'd suspect writing e.g. an LR parser generator would be fairly sanity-depleting as well 21:46:39 Forth avoids parsing complexity, that's part of its beauty. 21:52:09 remexre, this is a 'see' on Mecrisp-Stellaris 21:52:12 see not 21:52:13 00001FAA: 43F6 mvns r6 r6 21:52:13 00001FAC: 4770 bx lr 21:53:07 rdrop-exit, I guess only some PC based Forths have a VIEW because it would take up far too much space in a small embedded Forth ? 21:53:27 I mean take up too much space on the small Forth target chip 21:54:42 rdrop-exit: sure, and I agree; doesn't help me write an HTTP parser though :/ 21:56:31 tp: yeah, that's pretty similar to what I want to have (for CODE words; it should reconstruct source for : words) 21:56:35 I've done systems with docstrings, but never implemented anythig like view 21:56:58 tp: it all depends on where you're storing your headers and your source code. 21:57:43 full disclosure, the only Forth I didn't write myself that I've used is gforth 21:58:24 The view field is a header field that points to the source. 21:59:06 rdrop-exit, if you write the source on a PC then youy always have it in it's original form, no need to reconstruct the source from the target dictionary ? 22:00:07 That's the difference between SEE and VIEW 22:00:15 full disclosure, tp is a electronics tech not a real programmer and has never written a Forth, he is just a Forth user 22:00:16 SEE decompiles/disassembles 22:00:38 VIEW just brings up the source where the word was defined 22:02:01 I know that some Forths, mainly PC based ones See decompiles a Word to the underlying Forth syntax, but with embedded it's usually dissasembled Assembly one gets 22:02:32 Depends on the Forth you have on the target. 22:02:33 perhaps they havent used the correct Word ( see vs view) ? 22:03:22 makes sense, after all once you have learnt ONE Forth, then you have only learnt ONE Forth :) 22:04:06 If its a tethered Forth, your source and headers are probably on a PC. 22:05:12 If its a full-blown onboard Forth on the target, the headers on the target, and maybe the source as well (e.g. in flash) 22:06:53 With a tethered Forth you might not even have a Forth on the target, just a serial monitor. 22:08:43 I have both kinds here and have used them in projects. Mecrisp-Stellaris and mecrisp-across 22:08:50 I have an optional disassembler, but no SEE or VIEW. SEE has the issue of me not tracking word lengths, so there's no clear place to stop disassembling. VIEW could be added, at least when using blocks, but I've never missed this. 22:09:25 Your Host PC Forth just peeks and pokes the target by conversing with the serial monitor. 22:09:37 crc, Ive just been thru the exercise of finding the end of each word using the Mecrisp-Stellaris dissasembler 22:10:54 rdrop-exit, mecrisp-across runs on a Tiva Connected Launchpad (arm) which itself runs Mecrisp-Stellaris and I talk to it with a PC based serial terminal (Gnuscreen) 22:11:28 rdrop-exit, the Tiva talks to a virgin MSP430 via JTAG 22:11:40 Cool 22:12:02 the MSP430 has zero code preloaded, I can take one from a factory tube and start talking to it 22:12:21 My host PC Forth has two cooperative tasks, one of which is the serial tether. 22:12:53 (the other task is the user terminal) 22:13:13 from the serial terminal I have a 'host' and a 'target' mode. The target mode appears exactly like Im talking to a Forth on the target, except that it's actually 20x slower than if I was really doing that 22:14:05 not that 20x slower than 16Mhz is humanly noticeable on the terminal 22:14:14 The serial terminal in my case is part of the PC Forth, no need for Gnuscreen or equivalent. 22:14:45 rdrop-exit, and your target needs to be running a special program to talk to your pc ? 22:15:32 rdrop-exit, cool, Ive seen a few Forths that croscompile via Gforth 22:15:54 rdrop-exit, what targets can your Forth currently handle ? 22:16:06 Something has to be listening on the other side, but it doesn't have to be my code. 22:17:56 In principle it's multi-target, you add an assembler vocabulary for the target, and figure out how you want to talk and/or upload to the target. 22:18:34 In effect it's an IDE written in Forth. 22:20:28 The idea is that on the PC I have one development environment regardless of how many different targets I want to develop for. 22:20:40 a great strategy 22:21:38 If tomorrow I want to start developing for ARM boards, I would add an ARM assembler to it, and figure out the best way to converse with the board. 22:23:29 If it's a harvard target than the interactivity would be more limited. 22:23:42 --- quit: dave0 (Quit: dave's not here) 22:25:52 I don't want to have to deal with maintaining multiple Forths on the PC, just one Host PC Forth regardless of targets. 22:26:57 don't you have to write a 'middle' code to take the gforth output and do useful things on the target even with a target specific assembler ? 22:27:22 I don't use gForth, it's my own Forth 22:27:41 oh! sorry 22:28:38 The Host PC Forth is written to run on 64-bit POSIX platforms. 22:30:56 bbiab 22:40:09 tp: Have you ever seen Forth Inc's SwiftX or their earlier ChipForth? 22:40:34 https://web.archive.org/web/20170701043559/http://www.computer-solutions.co.uk/chipdev/cfworks.htm 22:43:11 https://www.forth.com/embedded/ 22:44:21 MPE also has a tethered Forth, I always forget its name, just a sec... 22:44:26 rdrop-exit, no I havent see that. My experience to date has been only Mecrisp-Stellaris, mecrisp-across and rscy-pygness 22:44:59 Ive looked at some of the old free Forths briefly but I think Ive been spoilt by Mecrisp-Stellaris 22:45:18 https://www.mpeforth.com/software/forth-cross-compilers/forth-7-cross-compilers/ 22:45:26 plus all the older forths seemed determined to work with dos or windows and I avoid anything like that 22:47:07 rdrop-exit, does your Forth generate a intermediate syntax designed to then be reused by say, gnu-as ? 22:47:24 Surprisingly most of the free Forths aren't designed for tethered development, just for the PC as both host and runtime environment, while most commercial Forths being sold are tethered. 22:49:07 tp: No, I don't really care bout external assemblers. 22:49:13 * about 22:51:30 commercial forths being tethered seems logical to me because the target needs far less flash for production and the customer only wants a binary thats hard to copy or crack by competition 22:51:51 thats the attraction of mecrisp-across to me anyway 22:52:03 rdrop-exit, so you will write your own assemblers ? 22:53:14 Sure, writing an assembler in Forth is fairly easy, unless the target is outrageous like current generation x86, and I don't intend to target those. 22:53:57 yuk, why bother, there are a million languages for those all fighting each other ? 22:54:41 I've been studdying the Mecrisp-Stellaris 'interactive assembler' and it looks very straightforward 22:55:23 thats why I made my recent word2ihex, so I can run the guts of a word in a external simulator 22:55:27 on a pc 22:56:03 just another flight of fancy for me to help my forth/assembly education 22:56:15 bbs, shopping 22:56:41 Assemblers should always be straightforward, if you can't write a straightforward assembler for a target than avoid that target is my philosophy. 22:59:16 The last time I wrote any x86 assembly I used FASM, never liked the Gnu Assembler. 23:01:39 Fortunately, I don't think I'll ever have a need for x86 assembly in the foreseeable future. 23:04:22 bbl 23:59:59 --- log: ended forth/19.07.04