00:00:00 --- log: started forth/20.05.19 00:05:19 --- quit: antaoiseach (Quit: leaving) 00:06:29 --- join: TCZ joined #forth 00:26:45 --- quit: guan (Ping timeout: 252 seconds) 00:29:08 --- join: guan joined #forth 00:34:19 --- join: xek joined #forth 01:18:32 --- join: X-Scale` joined #forth 01:20:13 --- quit: X-Scale (Ping timeout: 256 seconds) 01:20:14 --- nick: X-Scale` -> X-Scale 01:35:07 --- quit: TCZ (Quit: Leaving) 01:44:06 --- join: rdrop-exit joined #forth 02:06:34 --- quit: X-Scale (Ping timeout: 258 seconds) 02:07:32 --- join: X-Scale` joined #forth 02:08:41 --- nick: X-Scale` -> X-Scale 02:16:00 --- join: dys joined #forth 03:26:51 --- join: dddddd joined #forth 03:43:11 --- join: iyzsong joined #forth 03:58:33 --- quit: dave0 (Quit: dave's not here) 04:30:02 --- quit: rdrop-exit (Quit: Lost terminal) 05:30:06 --- join: TCZ joined #forth 06:00:24 --- quit: _whitelogger (Remote host closed the connection) 06:03:28 --- join: _whitelogger joined #forth 06:12:42 --- join: jedb_ joined #forth 06:13:33 --- quit: jedb (Read error: Connection reset by peer) 06:13:38 --- nick: jedb_ -> jedb 06:27:00 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 07:32:18 --- quit: Zarutian_HTC| (Ping timeout: 256 seconds) 08:43:38 --- join: WickedShell joined #forth 09:05:54 --- join: Zarutian_HTC joined #forth 09:07:03 --- quit: dys (Ping timeout: 252 seconds) 09:10:44 --- quit: Zarutian_HTC (Ping timeout: 265 seconds) 09:11:24 tabemann, you would use IAR because the simulator is free 09:11:42 which is not so important for C but very nice for assembly 09:11:50 also, is there clang for msp430? 09:14:53 tp, I think cells are still 16 bit even on an 8 bit chip like stm8 09:28:57 --- quit: TCZ (Quit: Leaving) 11:47:18 --- join: Zarutian_HTC joined #forth 11:53:31 --- quit: cantstanya (Remote host closed the connection) 13:00:05 --- join: TCZ joined #forth 14:01:50 --- join: dave0 joined #forth 14:05:56 --- quit: TCZ (Quit: Leaving) 14:06:15 --- join: TCZ joined #forth 14:10:41 --- quit: xek (Ping timeout: 258 seconds) 14:20:26 MrMobius, I think youre right! 14:21:09 pretty handy really 14:26:31 definitely 14:26:49 I've thought about experimenting with 8 bit cells for 6502 14:26:59 and treating 16 bits like doubles 14:27:56 thats what I'd do, but Im a tech not a programmer 14:28:40 but I think 16 bits are a standard with Forth anyway 14:28:46 MrMobius: do you use an emulator for the 6502 ? 14:28:56 commodore 64 emulator? 14:28:57 I mean 8 bits is next to useless anyway 14:29:06 or apple ][ ? 14:30:05 MrMobius, the very first cpu I ever saw was a native 16 bit (National PACE) in 1974 14:30:44 MrMobius, back then that CPU cost $270 odd AUD 14:33:17 dave0, yes but for 65C02. I made one in javascript so people can try stuff in their browser 14:33:35 heh, next to useless? I dont think so 14:33:42 MrMobius: ooh cool 14:33:52 I was reading about stm8 after someone mention eforth yesterday 14:34:08 looks like st came out with that after stm32 :P 14:34:26 MrMobius, 8 bit only is next to useless I mean 14:34:46 oh right 14:34:50 MrMobius, I thought STM8 came first 14:34:52 i'venever written anything in javascript... does javacsript syntax resemble c syntax? 14:35:37 dave0, yep with a good bit of other stuff mixed in. no variable types though 14:35:48 ah cool 14:35:50 tp, maybe I'm wrong then 14:36:39 i wrote a game in c, and a guy i know did a javascript version... i was wondering if you could automatically convert c code to javascript 14:37:28 not automatically 14:37:45 javascript doesnt really have pointers for one 14:38:31 yeah pointers is a bit of a defining C thing 14:38:48 forth too :-) 14:38:52 MrMobius, I'm not so sure, I cant find anything on the stm8 history online ... 14:38:55 except forth is nicer than c 14:39:23 dave0, agree 100% 14:39:49 tp: ehehe 14:40:19 MrMobius, I actually like the STM8 ISA but 'discovered' the STM32 first, and there isnt any going back for me 14:40:54 * tp has the most kickarse stm32 forth development system in the known universe :) 14:42:18 --- quit: gravicappa (Ping timeout: 265 seconds) 14:42:45 https://emscripten.org/ possibly relevant 14:42:51 lol, look at this STM8 Hackaday review sentence, see anything wrong with it ? "The good thing is, this isn’t a blinking LED example. The code he shows uses interrupts and reads analog values. He doesn’t get into a lot of details" 14:46:20 somehow it's now popular for people who probably cannot blink a led if their life depended on it, to cast disdain on any led blinking article while unknowingly showcasing their utter ignorance of all things embedded 14:47:11 I guess that Hackaday journo cant imagine a blinking led example using interrupts ? 14:49:10 MrMobius, you are right! 14:49:34 Following the market launch of the award winning STM32TM microcontroller, 14:49:34 STMicroelectronics completes the renewal of its microcontroller product line with the announcement of the STM8S family. 14:54:48 https://www.st.com/resource/en/application_note/cd00227488-stm8s-and-stm32-mcus-a-consistent-832bit-product-line-for-painless-migration-stmicroelectronics.pdf 14:54:53 --- quit: reepca (Read error: Connection reset by peer) 14:55:29 --- join: reepca joined #forth 14:57:07 MrMobius, hmm, the stm32F103 was released in 2004 15:05:56 --- quit: TCZ (Quit: Leaving) 15:10:47 --- quit: Labu (Quit: Leaving.) 15:12:20 --- join: TCZ joined #forth 15:38:33 --- quit: TCZ (Quit: Leaving) 15:53:40 MrMobius, and the STM8S announced in July 2009 15:53:43 --- quit: reepca (Read error: Connection reset by peer) 15:54:08 --- join: reepca joined #forth 15:54:26 so the STM8S appears to be a more recent product than the STM32F103, but it's 2 years before the chip I use, the STM32F051 16:20:43 hmm, some of the docs say it has something that is good for romless designs 16:20:56 and accessing external code memory serially or in parallel 16:21:03 cant find any examples of this though 16:24:42 MrMobius, I think the STM8S is a underrated chip in the west, seems very popular in China, and Ive seen them for sale at $0.18 USD each, tho not for a while 16:27:16 interesting that they went with the x and y index register setup 16:27:45 as opposed to a bunch of byte sized registers 16:34:49 --- join: TCZ joined #forth 16:37:27 true .. I asked the author of Mecrisp-Stellaris if he would consider a tethered forth for it on the same basis as mecrisp-across, but he said he dislikes the STM8 ISA 16:37:56 where MSP430 chips are $5 compared to $0.20 for a STM8 16:39:00 during my admittedly brief STM8S investigation, ISA looked good to me 16:39:43 --- join: rdrop-exit joined #forth 17:15:35 --- quit: bluekelp (Ping timeout: 264 seconds) 17:15:43 --- join: bluekelp joined #forth 17:15:44 --- quit: reepca (Read error: Connection reset by peer) 17:16:15 --- join: reepca joined #forth 17:25:02 --- join: cantstanya joined #forth 18:02:02 --- quit: dddddd (Ping timeout: 246 seconds) 18:05:46 hey guys 18:06:14 hey tabemann 18:08:11 I talked to Thomas (the STM8EF guy), and he suggested building up continuous integration as the next thing to do, even though with my setup it'd have to be semi-continuous; however, the thing is that I'm not sure how feasible it would be, due to multitasking and interrupts 18:09:09 just testing individual words' outputs doesn't feel like really an adequate test 18:11:41 automated testing of Zeptoforth ? 18:11:48 yeah 18:12:38 I think it's a good idea along with automated doc of words etc. I noticed some of your handwritten doc was out of date 18:12:57 it's a big job trying to keep everything up to date and tested 18:13:03 along with the doc 18:13:34 tp, none of the dip msp430s cost $5 :P 18:13:36 well, about the doc, I did omit certain words that were meant to not be for human consumption 18:13:49 tabemann, I was also wondering, why publish non current Zeptoforth versions ? 18:14:11 tp: when I make builds I remove those 18:14:19 tabemann, would Zeptoforth 'current' not be more suitable ? 18:14:49 I keep them around so that if someone perchance reported a bug with a version number, I'd be able to go back to that version and run it 18:15:23 tabemann, my problem is I dont use GIT, and I cant eassily even make a script to wget a zeptoforth-*.bin from the one location 18:15:39 tabemann, ahh, good point 18:16:07 tabemann, but dont software maintainers just advise 'upgrade to the latest version' ? 18:16:20 tp: I also release binaries on github and hackaday, so from either place you can download the latest build 18:16:40 tabemann, you may have already fixed the problem in an earlier version ? 18:16:40 well, they include both source code and the freshest binaries 18:17:03 tabemann, yeah, but they have to be found and manually dl ? 18:17:15 as the latest version will have a new version bumber 18:17:18 number 18:17:42 MrMobius, they cost $6.00 ? 18:18:13 tabemann, it's no biggie, just mentioning it 18:18:19 each release has a version number associated with it, which is prominently associated with the tarball for the build 18:18:26 tabemann, I can easily manually dl the latest one 18:18:38 tabemann, I know, I have been dl them 18:20:02 if someone wants to try out the code I'd suggest the tarballs because not only does the user not have to build any binaries, they also don't have to build the html docs 18:21:07 and thus they don't have to install py.sphinx or recommonmark 18:21:52 and thats a good thing :) 18:22:10 tabemann, I'll do that myself from now on 18:24:08 of course, installing py.sphinx and recommonmark on debian at least is not hard, but so are installing arm-none-eabi, screen, or your other standard build tools like make 18:24:44 also true 18:25:00 it's all dead esay to install on any Unix 18:25:11 I have had them all for years on this FreeBSD box 18:25:30 I bet someone trying to work with this on Windows or macOS would have a far different experience 18:26:05 macos is probably fine, windows not so much 18:26:54 windows is a hell on earth for it's users, sadly most dont know it 18:26:55 people have built up package managers for macOS, and macOS is a POSIX environment at least 18:27:09 * tabemann works with Windows at work 18:27:17 the FreeBSD devs mostly use mac laptops for development 18:27:52 * tp knows tabemann has to use windows at work and he feels the pain 18:28:15 personally I'll never use a mac, FreeBSD is plenty user friendly for me 18:28:36 and the thing is that the code I develop is crossplatform - we even run it on linux servers 18:28:44 * tp also had to use windows once 18:29:07 tabemann, frankly I find xplatform code to be shite in general 18:29:16 good morning Forthlanders c[] 18:29:29 hey rdrop-exit 18:29:36 it's ok, but what a frigging nitemare to have to develop for different oses 18:29:39 hi tabemann! 18:29:48 hey rdrop-exit 18:29:53 hi tp! 18:30:18 agreed, multi-platform code is a pain 18:30:44 tp: well this is mostly because it is all written in Java where everything platform-related is abstracted away far away from what our code interfaces with, except for the endless amounts of JavaScript, which runs under Chrome and Firefox 18:33:23 I've never written any Javascript 18:33:37 JavaScript is a horrible language 18:33:52 you'll learn to appreciate Java once you have to program in JavaScript 18:34:44 I looked into the JVM a while back, that's the extent of my java land exposure 18:35:14 I was more interested in their VM than the language itself 18:36:48 a deep dive into the JVM spec turned me off to doing anything with it 18:37:04 the difference between Java and JavaScript is that Java forces some discipline on you as a programmer, not nearly to the degree of the likes Haskell of course, but some at least, whereas JavaScript is the wild wild west where it is so easy to do fuck all, and it won't even complain, until something somewhere else in the code breaks, and you don't have a clue as to why 18:37:51 Java code is so easier to debug than JavaScript code 18:37:56 I'm fine with that aspect, I don't expect a language to discipline me, I'm not into language bondage 18:39:05 I'm always more interested in VMs and their semantics, than the syntax and bondage that runs atop it 18:39:29 the thing is that JavaScript lets you fuck up royally, and doesn't complain, until it suddenly does - contrast this with Forth, for instance, where you need discipline from the outset, or otherwise your code will segfault straight away 18:41:30 tabemann, good point! I see Forth as allowing instant gratification, but also delivers instant moron punishment 18:42:46 lol, even easy old Mecrisp-Stellaris usually punishes instantly with the dreaded 'error 3' scrolling endlessly up the terminal until the tar`get is rebooted 18:43:21 ya, I don't put any syntax checking to speak of in my Forths, each word does what it says on the label, you get what you ask for, each word does what it says on the label, it's up to you to know what you want 18:43:47 people say 'why do I get that damn error' I reply, did you try and access non existent memory ?? and theyre like ... "so?" 18:44:05 zeptoforth doesn't even bother with that, it just locks up instantaneously until one resets the board or, if one flashed bad code onto the board, one reflashes the board 18:45:00 as always the ability to test small Words independently is a great benefit of Forth 18:45:34 rdrop-exit, yeah, the words don't do any syntax checking in zeptoforth either 18:45:39 tabemann, I've never written any java or javascript 18:46:01 Forth doesnt need to be 'strongly typed' if you ask me 18:46:19 Forth comes with a strong 'stick' thats all I need 18:46:31 to me Forth is essentially interactive assembly to me 18:46:33 it whacks me when I screw up 18:47:17 tabemann does "on fill wash spin drain off" look like assembly to you ? 18:47:25 ;-) 18:48:03 tp: I'm talking about the fact that you can directly access RAM with words like @ and ! 18:48:09 tabemann, I know 18:48:47 even when you have high level words in Forth, you don't bury the low-level, Forth is mixed-level programming 18:48:56 yes 18:49:23 that's what prevents it from becoming needlessly complex 18:50:10 Forth is essentially the child of assembly and Lisp 18:51:04 I think Forth is like two alternate pictures of a beautiful blonde, one is her at her wedding, her face is angelic and would launch a thousand suitors ... the other is a picture at her divorce and her face is that of a Gorgon, writhing snakes for hair, she's so horrible one look turns a man to stone 18:51:20 Forth is just like that 18:51:22 ;-) 18:51:44 which face you see depends where and when you look 18:51:50 it was influenced by Lisp maybe, since Moore studied under McCarthy, but the philosophy is quite the opposite 18:52:12 my 'configuration' section is Forth is like the Gorgon 18:52:43 but the higher level I go, the prettier my source becomes 18:53:01 tp, lol no less than $5 :P 18:53:25 MrMobius, perhaps it depends where you are in the world ? 18:53:34 MrMobius, MSP430 is expensive for me 18:53:59 rdrop-exit, I'm referring to the fact that it can be so low level as to do things that really only assembly and low-level C can do well... while at he same time being interactive and reflective and highly extensible and quite freeform 18:54:11 MrMobius, *only* in comparison the STM32, because any chip under $270 is 'cheap' to me 18:55:06 tabemann, I'm just uneasy everytime I see anyone say C can do low level well 18:55:08 tp, no youre thinking of higher end smd stuff probably 18:55:16 fram is probably more than $5 18:55:51 MrMobius, I do have about 10x MSP430's in dip and smt (dil flat packs) 18:55:58 but yes being expensive is a common complaint 18:55:59 tabemann, right you are 18:56:42 MrMobius, I dont know if it shows but I'm very fond of Ti parts and gear 18:57:17 * tp fondles his Ti-34 which is over 20 years old and works perfectly 18:58:01 --- quit: TCZ (Quit: Leaving) 18:58:17 in fact I think my Ti-43 will outlive me, and my kids will no doubt ditch it in the bin when they go thru my stuff 18:58:29 without knowing how incr`edible it is 18:58:35 --- join: boru` joined #forth 18:58:38 --- quit: boru (Disconnected by services) 18:58:41 --- nick: boru` -> boru 18:59:02 * rdrop-exit caresses his 1982 HP-16C Computer Scientist 18:59:54 tp: if you know you're gonna kick the bucket ahead of time, sell/donate it to someone deserving so it doesn't go to waste 19:00:11 tabemann, hahhahaha, no one know ahead of time! 19:00:30 tabemann, we all die with the look of WTF? on our faces 19:00:50 tp, maybe you should put a sticky note on it just in case 19:01:11 MrMobius, hahah, it's comedy hour here in #forth land 19:01:19 as if my kids would even read it 19:01:38 and if they did theyd still probably ditch it 19:02:07 and keep the POS Sharp graphing calculator in the same box 19:02:42 because the Sharp has 'Advanced D.A.L' ... 19:02:46 whatever that is 19:04:12 i bought the Ti-34 to help me write machine code wayyyy back, and after I started using PC's I never used hand calculators again 19:05:03 I still remember when I bought my HP at Macy's Department Store in San Francisco, back when the calculator department looked like a jewellery department, with everything displayed under glass, and they'd put the calculator on a felt pad for you to try out. 19:05:20 ah well off on the pushbike shopping, bbl! 19:05:43 ciao tp 19:06:57 see ya tp 19:17:16 I don't know how I'm even going to write automated tests for zeptoforth, and of course it's precisely the kind of code I do not find enjoyable writing 19:17:44 there's stuff that'd be trival to test, but also I know it works to begin with so it's not work testing 19:18:13 *worth 19:20:53 you can start simply by saving history of your coding sessions 19:23:37 what I think I could do is inserting code that captures the bytes written out via emit, so I can capture output from any given task 19:23:49 and then compare it with expected output 19:25:19 and do this under e4thcom, so I can use NAK to indicate a test failure, since the mode I use e4thcom with, noforth mode, treats NAK as indicating an end of execution 19:25:28 Currently my emit writes directly to a rolling history 19:26:19 My forth's "console" is just a display of that rolling history 19:29:01 well my forth's normal output is to a serial TX, but it all goes through emit-hook, so I can save emit-hook, and install my own emit-hook handler, which will capture the data output and then call the previous emit-hook handler 19:31:54 ya, these are areas where a tethered setup differ significantly from a standalone Forth 19:36:02 You could take a look at John Hayes' approach, which was adopted by the standards people 21:10:02 back 21:10:35 I've seen how the Forth 2012 people do it, and they seem to mainly do it through the validation of the outputs of words or sequences thereof 21:10:44 which is fine and dandy 21:11:29 but I'm concerned with testing the stuff that is important but hard to test, e.g. multitasking 21:12:59 * tabemann has just implemented a basic output validation tool that allows a failure to be flagged if there is output that is not expected, or the expected output does not occur within a certain number of characters 21:13:33 by output in this context I mean TX on serial, not cells on the stack 21:15:13 @rdrop-exit 21:16:23 --- quit: jpsamaroo (Ping timeout: 265 seconds) 21:19:01 --- join: jpsamaroo joined #forth 21:23:09 tabemann, you could use another discovery board to validate one running your latest tests? 21:33:08 cooperative multitasking is so simple that the testing burden is more at the application level, since there's a greater burden on the application to play nice with resources 21:36:44 the base code that goes around the ring, and inserts/removes tasks from the ring is the bare minimum 21:38:33 mutexes are just regular variables in a cooperative system 21:42:22 it's the application (including its interrupt handlers) that can wreak havoc if it misuses the ultra-simple infrastructure 21:47:40 --- join: gravicappa joined #forth 21:56:11 --- quit: jpsamaroo (Ping timeout: 272 seconds) 21:56:40 --- join: jpsamaroo joined #forth 22:02:33 ooh, hand-made calzone for lunch! Catch you all later, stay healthy. Ciao! 22:02:47 --- quit: rdrop-exit (Quit: Lost terminal) 22:05:02 --- quit: deesix (Ping timeout: 256 seconds) 22:10:39 --- join: deesix joined #forth 22:30:24 --- quit: _whitelogger (Remote host closed the connection) 22:33:28 --- join: _whitelogger joined #forth 23:38:17 --- quit: reepca (Read error: Connection reset by peer) 23:38:49 --- join: reepca joined #forth 23:59:59 --- log: ended forth/20.05.19