<Zarutian_HTC>
hmm... are there any forths that keep comments in their definitions?
<rdrop-exit>
some Forths have a view field in their headers
<rdrop-exit>
the view field points to the source code of the word
<tp>
i'd think that comments are not excluded by any Forth in any area ?
<tp>
surely it's up to the programmer ?
<tp>
I use comments everywhere, nowhere is exempt in my code
<rdrop-exit>
from the view field you can get to the source and therefore inline comments
<rdrop-exit>
and from the source you can get to the shadow comments
<rdrop-exit>
(block based Forths have two types of comments, inline comments, and shodow blocks)
<rdrop-exit>
* shadow blocks (not shodow blocks)
<tp>
here is a small example of what I do
<tp>
: acquire ( -- ) \ TSC_CR_START, Start a new acquisition
<tp>
TSC_CR_START bis! \ start acquisition, it finishes with a interrupt by the irq-tsc
<tp>
; \ which updates g2-counter within about 5 milliseconds.
<rdrop-exit>
Zarutian_HTC, is that what you're asking about, where the comments are stored?
<Zarutian_HTC>
yes this did answer what I had in mind
<rdrop-exit>
On colorForth-like systems that pre-parse and tokenize source code there may be a special comment token, that's how some Basics did it too IIRC
<rdrop-exit>
Laxen & Perry's F83 had view fields IIRC, maybe Pygmy for DOS too, my memory's hazy
<rdrop-exit>
Some Forths had built-in Help systems too
<rdrop-exit>
e.g. EXPLAIN <name> or HELP <name>
<tp>
rdrop-exit, any forths ever have a stack comment as part of the dictionary ?
<rdrop-exit>
I can't recall such a thing, but having source in blocks and a header view field gave you instant access to source including stack comments
<tp>
only when the source wasnt assembly
<rdrop-exit>
VIEW <name> would bring up the source of <name> and position the cursor
<rdrop-exit>
even if the source was assembly
<rdrop-exit>
a CODE word has a header
<tp>
sure
<tp>
I can see the assembly anytime with "see word" but no comments, no stack picture
<rdrop-exit>
that's because SEE disassebles the word, VIEW would show you the source code of the word
<tp>
assembly source when compiled is a binary and it had to be disassembled to even view it as assembly
<tp>
so VIEW stored the assembly source linked to each word somehow ?
<rdrop-exit>
the header of the word stores the location of the source in a view field
<tp>
aha
<rdrop-exit>
i.e. the block number, or block number and offset where the source is
<tp>
this is a pc Forth I'm guessing because of the extra space of the source ?
<tp>
assembly source that is
<rdrop-exit>
it's up to the implementor, as long as you have storage for source, even compressed
<tabemann>
back
<tabemann>
hey guys
<rdrop-exit>
hi tabemann
<tabemann>
I now have a means of uploading without using e4thcom
<tp>
rdrop-exit, ahh, good point
<tp>
tabemann, hello, awesome
<tp>
tabemann, I found that a blue pill with the Mecrisp-Stellaris USB driver only needs a 5ms EOL delay and it's damn fast, probably faster than my screen at 460800 baud
<tabemann>
thanks to the guy behind STM8EF
<tp>
tabemann, STM8EF is a pretty decent looking Forth imho
<tp>
and the STM8 is probably one of the cheapest 8 bit mcus around with a decent peripheral repertoire
<tabemann>
I had to hack up the code a bit to get it to work, but now it works very well, such that for my most recent release I didn't even use e4thcom
<tp>
I think that e4thcom is perfect for users who dont want anything special
<tabemann>
my main gripe with e4thcom is that it limits relative paths to 32 chars
<tp>
it sure gets around the EOL delay that makes the traditional no handshaking Forth dead slow and virtually unusable imho
<tabemann>
oh, codeload3.py is fast as fuck
<tp>
tabemann, ahh yes, I'd forgotten that
<tp>
tabemann, so thats your new method, upload with codeload3.py ?
<tabemann>
if I don't plan on doing anything interactive, yes
<MrMobius>
what's the appeal of the STM8?
<tp>
aha, so a separate terminal cant access the serial devise while codeload3.py is using it ?
<MrMobius>
registers at least look like a 6502
jsoft has joined #forth
<tabemann>
tp: yeah
<tp>
MrMobius, the short 4 letter name ...
<tp>
MrMobius, seriously the stm8 is dirt cheap, like 20 cents from Chinese retailers, and it's peripherals are quite similar to the stm32
<tabemann>
tp: I've also written some somewhat better documentation for zeptoforth, specifically w.r.t. multitasking and scheduling
<tp>
MrMobius, plus I like the STM8 ISA, it looks ok to me
<tp>
tabemann, I dl and ran your latest today, looking good
<tabemann>
what version was it?
<tp>
tabemann, I did notice there is a bit of disconnect between the basic.md doc and the actual words present in the "everything" binary
<tp>
zeptoforth_full-0.2.2.bin
<MrMobius>
tp. hmm ya just looking. stack relative addressing is very good. dont get that on some 8 bitters
<tabemann>
note that a lot of the "assembler" words aren't documented
<tabemann>
the newest is 0.3.0
TCZ has quit [Quit: Leaving]
<MrMobius>
tp, pic32mm is interesting. ever look at those?
<tabemann>
the version bump was mostly because there are some breaking changes to systick, multitasking, and scheduling
<tp>
tabemann, ahh, well I only updated it about 5 hrs ago :)
<tp>
MrMobius, no, I avoided the PIC32 as it had poor OSS support
<MrMobius>
tp, ya same. only got interested when I considered writing in assembly
<tp>
MrMobius, plus Ive been staying with stm32 since 2014, Ive too much time invested to change to anything else
<tp>
not to mention my stock of 480 stm32f051's
<tp>
MrMobius, stm32 assembly is ok, nothing like the sweet language of the 6800 but it's ok
<tp>
MrMobius, probably more fun than Z80, 8085 etc tho
<tabemann>
STM32 assembly has the main disadvantage of that which addressing modes each instruction has, though, is dependent on that instruction
Zarutian_HTC has quit [Read error: Connection reset by peer]
<MrMobius>
tp, ok ill ask you about pic32 again when you run out of stm32f051s
<tp>
tabemann, yeah, it's usable tho, I don't *hate* it
Zarutian_HTC has joined #forth
<tp>
MrMobius, hahaha, I have no attraction to microchip thesedays, when my stock has run out in the year 4095 (based on my current usage) I'll probably be into RISC-V
<tp>
or you know ... dilithium crystals or whatever
<tabemann>
isn't PIC32 basically MIPS?
<tp>
tabemann, yes
<tabemann>
whereas other PIC archs are, well, insane
<MrMobius>
RISC+VIIXCCI
<tp>
Mecrisp-Stellaris has a PIC32 version in Mecrisp-Quintus
<tp>
same family as RISC-V
<tabemann>
RISC-V is basically MIPS too?
<MrMobius>
ya MIPS for pic32mx and mz which have a 16 bit mode like arm has thumb but the pic32mm stuff is interesting because it only has the 16 bit mode like m0 but its a different 16 bit mode optimized for when you only have the one mode
<MrMobius>
and is much cheaper than mx and mz
<tp>
MrMobius, I have a ton of MIPS mcu's here in old wifi gear but frankly, cant be bothered with them
* tabemann
remember learning MIPS in college - nice arch aside for the branch delay slot
<ornxka>
the first time i used mips i assumed it was like all the other assembly languages i had learned
<rdrop-exit>
RISC-V although inspired by MIPS thankfully removed the branch delay slot
<tp>
ornxka, and ?
<ornxka>
i did not fill in the branch slot and many joyous hours were spent wondering what the heck was going on
<MrMobius>
I read somewhere some compilers just put a nop in the delay slot and call it a day
<ornxka>
until i actually bothered to read an actual guide on it
<tabemann>
the assembler we used in school hid the branch delay slot from the user
<rdrop-exit>
I hate smart assemblers
<ornxka>
i hate branch slots but i would probably hate smart assemblers too if i ever used one
<tabemann>
I was wondering why there wasn't a branch delay slot, as I already knew that MIPS had this prior to heaving to learn it
<tabemann>
bbiab
<tp>
tabemann, what does codeload.py do if the compiler spits out a error ?
<rdrop-exit>
probably hid it in a macro-op
<tp>
tabemann, pls ignore, I see it displays the error
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<tabemann>
back
<tp>
tabemann, codeload.py looks good, all I need is to feed the errors back to Make so they get displayed with my source
<tp>
... so much to learn
<tabemann>
opinion question
<tabemann>
should I change , current, flash, to be ram, , flash, ?
<tabemann>
I have it that way currently so they parallel ! current! flash!
<tp>
compiletoram, compiletoflash ?
<tabemann>
! and , are currently always for RAM, and of course flash! and flash, are always for flash
<tabemann>
current! and current, are currently dependent upon the current compilation mode
<tp>
Im glad you understand it :P
<tabemann>
tp: could you read over my *_guide.md documentation to see if it looks good?
<tp>
sure
<tabemann>
task_guide.md and schedule_guide.md
<tp>
git pulliing now
<tabemann>
the documentation looks uglier as its source, as it's in GitHumb markdown
<tabemann>
*GitHub
<tp>
yeah i was about to ask, what do you view it with ?
<tabemann>
yeah, any file *.md in a git repository hosted by github can be assumed to be github markdown meant to be viewed via github
<tp>
ahh it's ok, I can easily view it in my SCM
<tabemann>
oh, so it's compatible with github's flavor of markdown
<tp>
seems to be
<tp>
tabemann, they look fine in a rendered .md nice and professionsl
<tabemann>
other things I should write guides for include words that are meant to take xts created with [: ;]
<tabemann>
I see it renders things slightly differently from github, but not by much
<tp>
perhaps, I dont use github so I wouldnt know
<tp>
all .md are a bit diferent depending
<tabemann>
yeah
<tp>
that's just how my fossil scm remders it
<tp>
and it's fine for me
<tabemann>
I don't use anything weird like how github implements tables
<tp>
I suspect that CRC's documentation is made and viewed on Fossil also as that is his SCM
<tabemann>
fossil is like the SCM which gives you everything in the world, whereas git is the SCM that is literally just a versioned filesystem and nothing more
<tabemann>
relying on sites such as github to provide more functionality
<tp>
tabemann, I know
<tp>
fossil doesnt give *everything* just a scm, webserver, forum, tickets, wiki
<tabemann>
there's a reason why linus calls git "the stupid content tracker"
<tp>
if you want c[] you have to get that yourself
<rdrop-exit>
good idea, brb
<tp>
haha
<tabemann>
okay, time for my daughter to go to bed
<tabemann>
bbiab
<tp>
tabemann, and fossil keeps *everything* in a repo in *one single file*
<tp>
no problemo
<tp>
and that single file is basically a sqlite database
<rdrop-exit>
sounds like a block-based forth
<tp>
could be I guess
<tp>
whereas git is a multiple file repo with a content indexed filesyetem
<rdrop-exit>
The DOS version of Holon stored each word as a database record of sorts
<tabemann>
Holon?
<tp>
rdrop-exit, cool
<rdrop-exit>
kinda like a cross between a smalltalk browser and a cross-compiling Forth for embedded targets
<tp>
I like the idea
<rdrop-exit>
he has a newer version that uses TCL for the host
<tp>
I have *one* new 68HC11 and matching PLCC socket in my stocks
<tp>
and zero incentive to ever use it
<MrMobius>
those max out at 2-3mhz iirc :(
<tp>
yeah but theyre pretty old, a generation oe 2 at least
<rdrop-exit>
I'd rather use Forth for the host, anyway on a tethered system the host Forth can be a completely different type of Forth than what you're putting on your targets
<tp>
rdrop-exit, absolutely
<rdrop-exit>
I think the reason for TCL is the ease with which one can develop a GUI-ish IDE for the host
<tp>
I agree with rdrop-exit here, a tethered fort has almost every advantage over Forth on the target, especially in embedded
<tp>
rdrop-exit, yet Riscy-Pygness has no GUI, just the usual Forth terminal (with blocks)
<tp>
perhaps Frank planned to use some GUI later on
<tp>
I myself plan to learn tk/tcl at some point, mainly for gui stuff
<rdrop-exit>
Holon is similar to a Smalltalk browser environment
<rdrop-exit>
I'm switching my host to X, but not GUI
<rdrop-exit>
I respect what Wejgaard did with Holon, but I still prefer a more traditional block-based approach
<rdrop-exit>
I find the smalltalk browser approach too constraining
<rdrop-exit>
brb
<Zarutian_HTC>
tp: ya want to learn tcl/tk for gui stuff the take a look at tcl.tk and wiki.tcl.tk
<Zarutian_HTC>
tp: damn easy to throw together a custom gui just for the spefic task at hand. One was to visualize robotics telemetry comming over a serial link
<Zarutian_HTC>
s/the take/then take/
<rdrop-exit>
back
<tp>
Zarutian_HTC, thanks!
<Zarutian_HTC>
been thinking a bit. Should kiosk machines spray themselfs down with isopropanol on conclusion of interaction?
<rdrop-exit>
make them voice activated
<Zarutian_HTC>
kiosk machines include atms, btms, self checkout and other vending machines
<rdrop-exit>
good point
<Zarutian_HTC>
though it is a fire hazard
<crc>
tp: I don't use fossil's wiki or documentation stuff; only one thing (the all-in-one book.html) isn't built with tools I've written in forth, and I expect to rectify that by early summer
<tp>
crc, the book.html is fossil assisted ?
<crc>
No, it's built using an online editor called stackedit currently
<tp>
oh
<crc>
It's the only part of my builds that's not automated, and that's only used as I haven't implemented tables in my markdown conversion yet
<tp>
go automation!
<tp>
crc, your output will be html ?
<crc>
Yes, though I'm working on supporting other formats in the future
<crc>
(Aiming to add epub, ps, and pdf eventually)
<tp>
very nice
<rdrop-exit>
nice!
<tp>
will your doc system have links and cross refs at al ?
<crc>
I'm not sure on that yet
<crc>
That's slightly complicated as I provide the all in one, and separate files, via http and gopher
<tp>
I see
<crc>
I should note: there is a toc and links to specific sections / topics, but no direct links from one section to another yet
<tp>
a toc is very good
Zarutian_HTC has quit [Ping timeout: 256 seconds]
Zarutian_HTC has joined #forth
MrMobius has quit [Read error: Connection reset by peer]
MrMobius has joined #forth
gravicappa has joined #forth
dddddd has quit [Ping timeout: 256 seconds]
mtsd has joined #forth
<veltas>
crc: Please ping me when you add docs on the [ ] , would be interested
<veltas>
tabemann: "relying on sites such as github to give more functionality" git was designed for patching by email, it can do that. So technically it doesn't rely, people have just decided to adopt things like github anyway
<veltas>
And if you say that using the email client is like relying on something then, well, I can probably find a few programs or libraries any SCM relies on. Nobody told me you had to write it all yourself ;)
dys has joined #forth
merkc1 has joined #forth
merkc1 has quit [Ping timeout: 256 seconds]
xek has joined #forth
reepca` has joined #forth
reepca has quit [Read error: Connection reset by peer]
proteus-guy has quit [Ping timeout: 256 seconds]
proteus-guy has joined #forth
TCZ has joined #forth
patrickg has quit [Remote host closed the connection]
patrickg has joined #forth
dddddd has joined #forth
dave0 has quit [Quit: dave's not here]
patrickg has quit [Remote host closed the connection]
patrickg has joined #forth
mtsd has quit [Quit: Leaving]
patrickg has quit [Remote host closed the connection]
patrickg has joined #forth
TCZ has quit [Quit: Leaving]
rdrop-exit has quit [Quit: Lost terminal]
iyzsong has quit [Ping timeout: 246 seconds]
reepca` has quit [Read error: Connection reset by peer]
reepca` has joined #forth
gravicappa has quit [Ping timeout: 250 seconds]
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 265 seconds]
X-Scale` is now known as X-Scale
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 264 seconds]
X-Scale` is now known as X-Scale
gravicappa has joined #forth
reepca` has quit [Read error: Connection reset by peer]
reepca` has joined #forth
reepca` has quit [Read error: Connection reset by peer]
mark4 has quit [Remote host closed the connection]
mark4 has joined #forth
mark4 has quit [Quit: Leaving]
WickedShell has joined #forth
gravicappa has quit [Ping timeout: 256 seconds]
<veltas>
I think that Chuck Moore knows how important documentation is because of all the manuals, articles, presentations he's authored
<veltas>
Even if he doesn't like 'comments'
f-a has joined #forth
xek has quit [Ping timeout: 260 seconds]
f-a has quit [Read error: Connection reset by peer]
f-a has joined #forth
crab1 has quit [Quit: WeeChat 2.8]
boru has quit [Read error: Connection reset by peer]
boru has joined #forth
TCZ has joined #forth
f-a has quit [Ping timeout: 256 seconds]
TCZ has quit [Read error: Connection reset by peer]
TCZ has joined #forth
dave0 has joined #forth
TCZ has quit [Quit: Leaving]
TCZ has joined #forth
<tabemann>
back
<tabemann>
hey guys
<crc>
hi tabemann
<tabemann>
why do I continue to use IF ELSE THEN with zeptoforth when zeptoforth has quotations (it calls them lambdas) and combinators to use with them?