mark4 changed the topic of #forth to: Forth Programming | do drop >in | logged by clog at http://bit.ly/91toWN backup at http://forthworks.com/forth/irc-logs/ | If you have two (or more) stacks and speak RPN then you're welcome here! | https://github.com/mark4th
proteus-guy has quit [Ping timeout: 260 seconds]
proteus-guy has joined #forth
Zarutian_HTC has quit [Ping timeout: 240 seconds]
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
Zarutian_HTC has joined #forth
pbaille has joined #forth
pbaille has quit [Ping timeout: 252 seconds]
joe9 has joined #forth
sts-q has quit [Ping timeout: 252 seconds]
sts-q has joined #forth
pbaille has joined #forth
pbaille has quit [Ping timeout: 246 seconds]
LispSporks has joined #forth
pbaille has joined #forth
pbaille has quit [Ping timeout: 240 seconds]
LispSporks has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gravicappa has joined #forth
sts-q has quit [Quit: ]
sts-q has joined #forth
pbaille has joined #forth
LispSporks has joined #forth
pbaille has quit [Ping timeout: 265 seconds]
pbaille has joined #forth
f-a has joined #forth
[1]MrMobius has joined #forth
MrMobius has quit [Ping timeout: 265 seconds]
[1]MrMobius is now known as MrMobius
mtsd has joined #forth
<KipIngram> You know, it occurs to me that my looping words almost obviate the need for tail optimization. If I want to recurse on the current word, I use my word ME (think of it sort like the way "self" is used in some languages).
<KipIngram> So the only time tail optimization would actually DO anything would be when the last word of a definition is some OTHER : definition word.
<KipIngram> ME is a primitive that directly compiles the jump a recursion by name would be optimized into.
<KipIngram> How cute. Well, there it is - we could re-flash it.
<KipIngram> It mentions that it runs on three 18650 batteries, but it doesn't say how long they will run it for.
<KipIngram> There used to be "Lisp machines," back in the early days of the microcomputer era.
<KipIngram> It would be interesting to tinker with what one could do with an FPGA to "accelerate" Lisp.
<KipIngram> Of course that probably wouldn't be battery-powered.
<KipIngram> FPGAs are little power piggies.
proteus-guy has quit [Ping timeout: 252 seconds]
jess has joined #forth
proteus-guy has joined #forth
f-a has quit [Quit: leaving]
f-a has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
mtsd has quit [Ping timeout: 245 seconds]
mtsd has joined #forth
gravicappa has quit [Ping timeout: 240 seconds]
gravicappa has joined #forth
tech_exorcist has joined #forth
mtsd has quit [Ping timeout: 260 seconds]
mtsd has joined #forth
mtsd has quit [Remote host closed the connection]
f-a has quit [Ping timeout: 240 seconds]
f-a has joined #forth
proteus-guy has quit [Ping timeout: 252 seconds]
<cmtptr> so this isn't forth-related, but #forth is one of the best "general software design philosophy" channels i know of.
<cmtptr> one thing that i think i've recognized is very difficult for me is adopting a bad codebase and envisioning the path to a better codebase
<cmtptr> like, i can look at something and go "this sucks," but generally to improve it i have to just rewrite the whole thing from scratch
<cmtptr> i wonder if there are any good strategies to do that better
<boru> Start with tests before you start refactoring. It's easier to know if you broke functionality, then.
<f-a> some would say test drive- yeah
<cmtptr> well that helps me if i decide to just rewrite, but i mean that it's difficult for me to incrementally improve without rewriting
<f-a> eh, very difficult task
<boru> If it's not a modular design, then yes, incremental refactoring can be a can of worms.
<f-a> of course if you could break it modularly
<f-a> lol boru is faster than me
<boru> Which is rare for a Friday afternoon, f-a!
<f-a> hehe
proteus-guy has joined #forth
<boru> Factoring can be a good start for refactoring, though.
<boru> Breaking down big monolith functions or modules to DRY them out a bit.
<boru> Then you can decide which parts of those need to actually be refactored, or do some opportunistic refactoring along the way.
<boru> If it's for work, usually the most difficult part is convincing management that it needs doing.
<boru> In which case I'd buy a copy of Koopman's Better Embedded System Software and whallopping them over the head with it.
<boru> It's a nice size that balances well in the hand for assaulting management.
<cmtptr> yeah, it is for work, and yes the most recent anecdote is that i've adoped responsibility of something that was written by somebody years ago (imo not that well designed in the first place), and then touched by several people over time since then, and today they want it to support new HW (something that was never a concept before), but they don't want me to touch old-HW implementation because testers don't
<cmtptr> want to have to reverify old HW functionality
<boru> That old chestnut. Organically grown software.
<cmtptr> i'm done now, but looking back at what i did, i'm not real happy with it. but i also don't see what i could have done better without a massive refactoring
<boru> "don't want to have to reverify old HW functionality" sounds a bit broken, imho.
<boru> Surely, catching regressions is their job.
LispSporks has joined #forth
LispSporks has quit [Client Quit]
<cmtptr> yep, 100% agree
<cmtptr> our verification sucks
Zarutian_HTC has joined #forth
<cmtptr> anyway thanks for your responses. you reminded me that one of the biggest shortcomings with this module is that - at the moment - it's basically incapable of being isolated and unit tested. going forward, i think that's what i might do as my background task
<cmtptr> that's an easy sell because making it unit-testable doesn't impact functionality
dave0 has quit [Quit: dave's not here]
proteus-guy has quit [Ping timeout: 268 seconds]
proteus-guy has joined #forth
neuro_sys has joined #forth
neuro_sys has quit [Ping timeout: 240 seconds]
f-a has quit [Read error: Connection reset by peer]
spoofer has quit [Quit: Lost terminal]
spoofer has joined #forth
lispmacs[work] has joined #forth
f-a has joined #forth
neuro_sys has joined #forth
neuro_sys is now known as Guest82918
Guest82918 has quit [Ping timeout: 268 seconds]
Guest82918 has joined #forth
Guest82918 has quit [Ping timeout: 265 seconds]
proteus-guy has quit [Ping timeout: 246 seconds]
proteus-guy has joined #forth
Guest82918 has joined #forth
Guest82918 has quit [Ping timeout: 260 seconds]
proteus-guy has quit [Ping timeout: 245 seconds]
proteus-guy has joined #forth
Guest82918 has joined #forth
Guest82918 has quit [Ping timeout: 246 seconds]
gravicappa has quit [Ping timeout: 265 seconds]
LispSporks has joined #forth
pbaille has quit [Remote host closed the connection]
pbaille has joined #forth
f-a has quit [Ping timeout: 245 seconds]
f-a has joined #forth
tech_exorcist has quit [Remote host closed the connection]
tech_exorcist has joined #forth
LispSporks has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
LispSporks has joined #forth
pbaille has quit [Remote host closed the connection]
pbaille has joined #forth
pbaille has quit [Ping timeout: 252 seconds]
tech_exorcist has quit [Ping timeout: 268 seconds]
Monev has quit [Ping timeout: 252 seconds]
f-a has quit [Quit: leaving]
pbaille has joined #forth
LispSporks has quit [Quit: Textual IRC Client: www.textualapp.com]
pbaille has quit [Ping timeout: 240 seconds]
pbaille has joined #forth
proteus-guy has quit [Ping timeout: 245 seconds]
proteus-guy has joined #forth