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
<joe9> is anyone interested in the felix forth amd64 native on 9front? I seem to have it running ok. i can host it if you want to try.
mirrorbird has joined #forth
mirrorbird has quit [Ping timeout: 272 seconds]
<joe9> is there a way to output hex numbers with .?
<f-a> maybe base-execute ? idk much about numbers sorry
<crc> HEX . DECIMAL
<crc> Change the `base` before displaying works on most Forths I've used
<joe9> thanks.
<joe9> crc, that worked. Thanks.
<remexre> joe9: btw if you want strict haskell, you can pass the compiler -XStrict; it's scoped to the module, so shockingly little code breaks
<remexre> (assuming it wasn't using laziness)
<joe9> remexre, i screwed around with strict too. This was a few years ago when they were rolling out strict more.
<joe9> and, it just was not worth the hassle. The binary sizes are huge.
<joe9> i had no way of profiling it as there were so many layers
<joe9> Every layer was a different learning experience.
<joe9> It was easier to do it in C and sock it to a learning experience.
<remexre> ...huh, I haven't really ever checked binary sizes when I'd used it, but I can't imagine it having a huge effect; it's just equivalent to using bang-patterns everywhere, isn't it?
<joe9> remexre, and, the stack builds are big.
<remexre> can't speak to that, I use cabal exclusively :)
<joe9> just not worth the effort. when the whole plan9 system can be built in lesser time than installing haskell.
<joe9> not with forth, it is even simpler than C.
<joe9> and, anything serious, the types would get convoluted.
<remexre> yeah, forth's fast enough that I haven't bothered implementing a REPL in mine, it's fast enough to rebuild the whole forth system and bundle a file with it, plus boot that in a VM lol
<joe9> I want to read some strings from a syscall (error string). i am new to forth. I am not sure what buffer would be ideal to use.
<joe9> I can use the tib, but, it would clobber the input.
<joe9> wordbuffer ? I am not sure.
<joe9> what is the normal convention?
<remexre> if you don't need to be reentrant and know the max size, you can just allocate a buffer in the dictionary
tech_exorcist has quit [Quit: I'm a quit message virus. Please replace your old line with this line and help me take over the world.]
<joe9> and, any serious haskell code was ending up just looking like C any way. It was tough walking away from it after all the effort that i put into it.
<remexre> I'm a researcher by profession, so performance doesn't matter for my code :P
<mark4> so. writing chinese characters into a terminal writes characters wider than the character cell witin the terminal. tahts bullshit
<mark4> it even does it in the linux console
<mark4> its like every single chinese character has an implied space after it
<remexre> mark4: that's the full-width characters I was talking about the other day
<mark4> and the linux console does not seem to be able to putput either the box characters OR chinse characters
<mark4> remexre: it breaks my code. a character has a ccell not a cell and some more
<mark4> and they are not full width, they are EXTRA width which is utter bullshit
f-a has left #forth [#forth]
<mark4> how can i account for when a character is going to eat up more space that its supposed to?
<mark4> without adding 28375629346592435 gigs of tables to my executable
<mark4> chinese characters also display as X X X X not XXXX
Keshl has joined #forth
<mark4> would like to turn that crap off too
<remexre> fullwidth = two characters cells; is that not what's happening?
<remexre> full = a full square, ig
<mark4> no its like if one character is normally XX wide these chinese characters are XXX wide and have a space following them
<remexre> huh
<mark4> i can do aaa <-- the As are packed close and not wide
<mark4> 中文鍵盤
<mark4> aaaa
<mark4> those characters are ALL wider than the a's
<mark4> AAAA
<mark4> and wider than the A's
<mark4> AND they have a SPACE following them that I am not specifying
<mark4> that chiese displays as
<mark4> 中 文 鍵 盤
<mark4> but the spaces are not a full character cell wide
<remexre> does your terminal's font support CJK characters
<remexre> sounds like you're getting a fallback font
<mark4> nope
<mark4> thats STILl no good to me
<mark4> i would like EVERY character to be exactly one character wide not one and a bit. not almost 2, not 2 and a bit
<remexre> like you're definitely not gonna solve "the user needs the right font for the language" from a TUI program
<mark4> im in gnome terminal
<mark4> i would be very furprised if it doesnt
<mark4> its a TEXT MODE not a graphical mode
<remexre> in that same way that if you used a different font for every A, that'd mess things up
<mark4> a character can NOT take up more than ONE CELL in a text mode
<mark4> thats the entire fucking point of a text mode
<mark4> if i change my font from size 14 to size 8 the window shrinks
<mark4> the window size is entirely based on the font size AND the specified width
<mark4> i cannot write width chinese characters into a width sized console
<mark4> because each character is drawn as a BITMAP into that TEXT MODE CONSOLE!!!!!!!!!!
<mark4> thats fucking idiotic
<remexre> like, install a fixed-width chinese font if you want fixed-width chinese characters...
<mark4> im not switchig my console to a chinese font
<mark4> i dont speak chinese
<mark4> my existing font has all the characters specified for UTF8
<remexre> uhhhhhhh is it gnu unifont?
<remexre> because the vast, vast majority of fonts have nowhere near complete unicode coverage
<mark4> its MONOSPACE regular
<remexre> that's an alias provided by X, isn't it?
<mark4> well it has a significant number of them
<mark4> no idea
<mark4> but if its MONOSPACE that means every charactrer is EXACTLY the same width
<mark4> period
<mark4> if it has variable width characters in it then its NOT fucking monospace!
<remexre> right, gnome uses a different font as opposed to not being able to show characters
<mark4> blink i didnt even understand what you just said lol
<remexre> and that font's metrics are different from your main one
<remexre> so
<mark4> i have a font selected. what the FUCK is the terminal doing going outside THAT FONT?
<remexre> being gnomeware
<mark4> my terminal size and my character cell size inside the terminal is determined by the font I have sselected
<mark4> therse absolutely NO fucking point in supporting ANY language other than english now
<mark4> NONE!!!!!!!!!!
<remexre> users who are using a font other than yours?
<mark4> their terminal will be sized to have exactly XxY character cells of the specified font size
<mark4> each character should take up EXACTLY the space allocated for one character
<mark4> the fact that it does not do so is utter fucking bullshit
<mark4> how can ANY fucking text mode application work with this?
<mark4> you cannot know how many pixles any given character takes up in that console because of this
<mark4> what if i display a string containing chinese, english, mongolian, ... .. .. . etc?
<remexre> you can definitely know if you use characters the font supports and link to ncurses and icu
<mark4> every single one of those characters from the different languages might take up a different amount of horizontal space
<mark4> so. how do i know how many spaces to write to clear to end of line?
<mark4> FUCK NCURSES!!!!!!!!!!!!!!!!!!!!!
<mark4> no offense to thomas dicky
<mark4> but im writing a fucking TUI
<mark4> and that means that these text mode consoles are treated GRAPHICALLY!!!!!!!!!!
<mark4> which is utter fucking bullshit and makes the entire point of UTF8 broken
<remexre> this is necessary to support actual human languages written by millions of people
<mark4> if ONE character in a given font is XXX pixles wide and every other character in that font is X pixles wide
<mark4> then EVERY CELL IN THE TERMINAL SHOULD BE XXX PIXLES WIDE!!!!!!!!!!!!
<remexre> you're using multiple fonts, I guarantee it
<mark4> monospace
<remexre> fontconfig falls back to other fonts
<remexre> when a character isn't present in your font
<mark4> fuck
<remexre> (as stated above)
<mark4> and i have no control over what random font it selects?
<mark4> how do i stop it from using ANY font other than the one i have selected
<remexre> you do, configure fontconfig how you like it
<mark4> no
<mark4> thats system wide
<remexre> think you can make it process-wide, but the process is the terminal
<mark4> how do i stop fontconfig from fucking over THIS SINGLE APPLICATION?
<mark4> no
<mark4> that fucks over every other linux applicatipn
<mark4> i want to stop MY application from using 2874592364952 different fonts
<mark4> if you are chinese your characters are going to be of a certain size
<mark4> actually this is still going to be broken for me
<remexre> yeah, I think your application depending on a properly-configured terminal is a reasonable requirement?
<mark4> i would be restricting the applications using this TUI to only ONE language
<mark4> im pretty certain my terminal is properly configured
<remexre> fonts can support multiple languages; the one you are using at this moment just happens not to
<mark4> the problem is the terminal fucking me over and going outside the bounds of the font i have selected in its configs
<mark4> and randomly picking a font
<mark4> how do i stop it doing that within THIS application?
<remexre> yeah, that's a "you're using a terminal that renders with fontconfig and have a bad fontconfig config" problem
<mark4> https://dpaste.com/GDLSAMPAP thats my fonts.conf
<remexre> make a fontconfig file that specifies the font selection behavior you want (idk off the top of my head, consult the docs), then either put it into one of the user/system-wide locations, or pass it via the FC_CONFIG_FILE environment variable
<mark4> i cannot force YOu to use MY fonts
<remexre> right; if my terminal were configured to use Arial, your TUI would also be broken on it, but that's my problem, not yours
<mark4> i need ALL characters, no matter what font this terminal randomly selects, to be EXACTLY the same width what ever that is
<remexre> anyway, I'm getting nagged to go pick up dinner for the 3rd time, so gtg
<mark4> lol
f-a has joined #forth
<f-a> I have a question on stack comments ( a b -- c ) ← these
<f-a> say I have a compile time word
<f-a> how do I indicate «it takes the next word from stream»?
<f-a> or «next word from stream and top of stack»?
<mark4> you dont in the stack comment
<crc> In the ANS spec, words that parse the input stream have comments like (for 6.1.080, ( ): (“ccc<paren>”--)
<f-a> thanks
dave0 has joined #forth
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<dave0> maw
f-a_ has joined #forth
f-a has quit [Ping timeout: 264 seconds]
f-a_ has quit [Client Quit]
f-a has joined #forth
<f-a> sorry I got d/c
<f-a> I will paste again
<f-a> f-a uuhhh ok another q
<f-a> f-a create palla \ creates a new entry in the dict
<f-a> f-a is there a
<f-a> f-a s" palla" screate ( addr u -- ) ?
<f-a> also crc , say that a word consumes from the stream *and* from the stack, how would that work, ( -- ) wise?
<crc> I'm not aware of any standard words for `create` that take the string from the stack
<f-a> thanks
<crc> Before eliminating forward parsing, I used to do things like ( a b "word" -- c )
<f-a> that is appropriate
<crc> Forth200x standard there is execute-parsing, which would let you do: s" palla" ' create execute-parsing
<f-a> super
<joe9> I have a forth routines file that i am trying to include from the repl. Is that possible? I can read that the include word opens the file and puts the file descriptor in stdin.
<joe9> It is not doing anything else other that.
<joe9> If I type query or interpret, it seems to work fine (no errors) but the defined words in the file are still not recognized.
<joe9> this is what include does: http://ix.io/2RYn
<joe9> after I set the stdin to the included file, how do I get the file to be read? (query interpret) does not seem to do it.
<crc> `include filename` works for me with 8l/ff on ff-i386
<joe9> oh, that is interesting.
<joe9> it works, but, is it reading the word definitions in?
<joe9> I mean do the words in the file get added to the dictionary?
<f-a> why shouldn’t they joe9 ?
<joe9> i put : foo ." testing" cr ; foo \ to the top of a file and included it.
<joe9> f-a, they are not in my situation. but, I am porting it and want to make sure what the expected result should be.
<joe9> but, nothing happpens. if i paste the some of the contents of the file into the repl, it gets those words into the dictionary.
<crc> They are for me; in the example you posted, I can run `foo` after the include is done and it works fine
<joe9> just foo, correct? do you need the ticks?
<crc> Just foo
<joe9> ok, thanks. so, something is still broken for me.
<joe9> are you using the 8l/ff hosted there? or, did you make changes?
<crc> (I use the ticks as a matter of practice, to denote input)
<joe9> s/there/github/
<joe9> oh, ok. thanks.
<crc> Just the ff-i386 in the GitHub repo
<joe9> the code does not make sense to me though. The include word changes v_stdin to the included file.
<joe9> other than that i cannot see any code that raads from that file though?
<joe9> do you run the ff and then type into the console include file.ff?
<joe9> I am assuming that the query interpret in the quit word definition would read the contents of the included file, correct?
<joe9> this is how my console looks: http://ix.io/2RYJ
<crc> I'm assuming that the input source is read until EOF, then reset to the actual stdin somewhere
<joe9> yes, that makes sense. Thanks.
dave0 has quit [Quit: dave's not here]
sts-q has quit [Ping timeout: 264 seconds]
sts-q has joined #forth
<joe9> crc in core.f defer is being used before being defined. How would that work?
<joe9> or, is there some other defer word defined anywhere else
<crc> defer is defined in meta-install.f using mdefer from meta.f
<joe9> got it. Thanks.
_whitelogger has joined #forth
dave0 has joined #forth
f-a has quit [Quit: leaving]
f-a has joined #forth
Zarutian_HTC has joined #forth
f-a has quit [Read error: Connection reset by peer]
Keshl has quit [Quit: Konversation terminated!]
gravicappa has joined #forth
<Zarutian_HTC> hmm... been thinking, I have an 128x128 bitmap matrix lcd and a 4x4 keypad as user I/O. Would using the old style sms nokia editor entrymethod for text work?
<Zarutian_HTC> would be heavily menu driven ui/ux for the most part
<Zarutian_HTC> but I foresee cases where alphanumerical data might be need to be entered
Keshl has joined #forth
<mark4> can the keypad see multiple keys at once?
<mark4> make it chorded :)
<Zarutian_HTC> hmm two text input methods then
<Zarutian_HTC> but the old style 5 5 , 2 2 , 9 9 9 input might work better as getting five fingers on the pad is ackward
<mark4> lol
<mark4> well its 2am and im about to face plant lol
<Zarutian_HTC> btw, did Englebart's Augment system (see Mother of All Demos) use ITA.2 baudot code for lefthand keyboard chording?
<Zarutian_HTC> I woke around 3 am due to an earthquake, so I am fresh as daisies
<mark4> where are you again
<mark4> ?
<mark4> i usually sleep through earthquakes lol
<Zarutian_HTC> Iceland, near Reykjavík
<mark4> aga cool!
<mark4> no pun intended lol
<Zarutian_HTC> well this one was like somebody yanked my bed
<mark4> read that one of your volcainos is maybe going to pop soon
<Zarutian_HTC> been quite a few last 14 days or so
<Zarutian_HTC> aah, yeah somewhere near Keilir
<Zarutian_HTC> whose name can be translated as Cone-r
<Zarutian_HTC> named so because it is cone shaped
<Zarutian_HTC> but yeah somewhere near Sundhagagígjaröð í Þráinsskjaldarhrauni
* Zarutian_HTC wants to see tv news anchors balk at that one
<Zarutian_HTC> if there is an erruption there it most likely will be a lavaflow one
<Zarutian_HTC> and not ashcloud one
<mark4> ya i think it looked like that kind of volcaino they had pictured
<mark4> no telling if the picture was the actual one tho
<mark4> but i have to sleep
<Zarutian_HTC> gn
ornxka has quit [Read error: Connection reset by peer]
ornxka has joined #forth
Zarutian_HTC has quit [Remote host closed the connection]
mark4 has quit [Remote host closed the connection]
mark4 has joined #forth
_whitelogger has joined #forth
proteus-guy has joined #forth
<veltas> joe9: I've read a few styleguides for Forth and I think I disagree with all of them. I've shown my code in here before and people approve of the style
<veltas> So read a styleguide maybe but take it with a pinch of salt, it's much more important it's readable to you first, then worry about it being not totally unconventional
<veltas> But as long as you're documenting stack usage in a somewhat conventional fasion it's probably fine
<joe9> mark4 do you have a test suite? I think I have ff working now. I want to have some tests to be sure.
<mark4> hen not really
<mark4> but most of those probably wont compile for you
<mark4> and they are not really a test suite
Zarutian_HTC has joined #forth
<joe9> ok, thanks.
tech_exorcist has joined #forth
tech_exorcist has quit [Remote host closed the connection]
tech_exorcist has joined #forth
tech_exorcist has quit [Remote host closed the connection]
tech_exorcist has joined #forth
<neuro_sys> Was there a way to print the floating stack in Gforth?
<neuro_sys> Ah it's f.s
proteus-guy has quit [Ping timeout: 276 seconds]
<neuro_sys> Out of curiosity, does Forth have a word for inlining (i.e. expanding the word into the word in which it's defined and eliminating the call/return)?
jyf has quit [Ping timeout: 256 seconds]
andrei-n has joined #forth
jyf has joined #forth
<veltas> Not a standard forth feature and I'm not aware of a forth that does this
<veltas> There are forths that do inlining automatically for optimisation, I know mecrisp does
boru has quit [Ping timeout: 260 seconds]
boru` has joined #forth
boru` is now known as boru
dave0 has quit [Quit: dave's not here]
<MrMobius> at least one forth lets you set a minimum size in bytes and it inlines anything smaller
f-a has joined #forth
<crc> Zarutian_HTC: not as I recall. https://www.dougengelbart.org/content/view/273/309/ has some images showing some of the chords. I don't think they match up to baudot
<Zarutian_HTC> crc: thanks!
<crc> no problem
<Zarutian_HTC> hah! looks like you are just chording the number of the character in binary. That is, a is 1, b is 2, and so on
<crc> yes, very simple and straightforward
<crc> mouse was used for shift and access to numbers/symbols
<Zarutian_HTC> I wonder if one could use a simple left hand joystick with give buttons as a keyset
<Zarutian_HTC> and use left, right, up and down for charset shift
<Zarutian_HTC> nothing fancy, movement detection like commodore64 or atari joystick
<proteusguy> crc, didn't Chuck Moore have himself a one-handed keyboard as well at one point?
<crc> yes, for the original okad
<proteusguy> I've often thought about doing something like that - mostly for a wearable computing situation. But never found a practical opportunity.
<crc> for non coding tasks, I sometimes use a 10 key chorded keyboard (two hands). it's nice to not need to move hands or fingers much.
<nihilazo> I want to get a chorded keyboard like that
<nihilazo> rn I use a 40% non-chorded keyboard
<nihilazo> split ortho
<crc> I'm working on a compact single hand layout
<f-a> how fast are you on those
<nihilazo> I like the idea of asetniop layout
<nihilazo> that's a 10-key chording thing
<nihilazo> yeah! I was going to buy one of those but shipping ended up making it too expensive
<crc> that's what this uses
<nihilazo> I might try and build something like it though, handwire a thingy
<nihilazo> dunno
<f-a> does not seem- I mean I know how to write shorthand
<f-a> with pencil and pad
<f-a> it is super comfy but took me a while to get used to it
<f-a> well, years
<f-a> idk how long it would take to learn chorded input
<f-a> because that is syllabic, right crc ?
<crc> I'm still slow with the chorded layout (~15-20 wpm) [not that I'm fast in general, given rsi issues]
<crc> learning isn't that bad. I keep a tiny cheatsheet handy, but after a few hours of practice it was easi to remember much of it
<crc> definitely easier than when I switched to dvorak
<nihilazo> I'm using split ortho qwerty right now
<nihilazo> actually, I could probably program my current keyboard to do a chorded layout
<nihilazo> just with the homerow
<f-a> crc: so, is it syllabic?
<nihilazo> asetniop is not, it's characters
<nihilazo> steno is syllabic, and is far harder to learn
<crc> f-a: there are chords for both individual letters and some combinations (http://www.asetniop.com/combinations/), it's not like steno though
<f-a> I see
<f-a> that is cool
<nihilazo> now I want to hack my keyboard to be asetniop
<crc> nihilazo: I used to have an asetniop setup on my ergodox before getting this board
<nihilazo> hmm
<nihilazo> how did you set up asetniop on the ergodox?
<nihilazo> I bet something similar is possible with the crkbd
<crc> qmk combos
<crc> I'll look tomorrow to see if I still have the keymap.c for it, not sure if I saved it after getting the dedicated board
<f-a> at risk of keeping the OT flag flying high
<f-a> what is a good wpm on those keyboards?
Zarutian_HTC has quit [Ping timeout: 264 seconds]
<crc> On the asetniop layout, the best I've done is 35 wpm, with an average closer to 15. On my ergodox, with a 36 key layout, I can sometimes hit 60, though I'm often much slower.
<nihilazo> I type quite quickly on my keyboard but it's not a chording type thing, it's a normal split keyboard
<nihilazo> well, normal, it's a 42-key layout
<crc> I do have severe RSI problems that make typing difficult and painful though. I used to be *much* faster: (
<nihilazo> I've been curious about chording for ages though
<siraben> 120+ WPM with qwerty here :P
<nihilazo> I'm like 80-ish with qwerty on split ortho
<nihilazo> far less on staggered
<nihilazo> I actually learned to type properly for the first time on a split ortho
<crc> on the chorded board, I have 12g switches, which are really light and make pressing the keys easy
<nihilazo> because when I built my first (a redox) I used blank caps and had to learn to touchtype for the first time
<crc> siraben: I was able to do that many years ago
<nihilazo> I have 35g in this one I think
<nihilazo> people have said that these switches are too light but honestly I could go even lighter if I wanted
<nihilazo> I just find these OK
<siraben> IMO switching keyboard layout is too drastic when practicing proper finger placement and even usage probably gets most of the gains
<nihilazo> (stock gateron clears)
<siraben> s/even/having an even/
<crc> for me, moving to dvorak was helpful, and the split has been very helpful
<crc> but as noted, I have severe rsi problems and my case is far from typical
<nihilazo> split has been helpful for me
<nihilazo> so has ortho
<nihilazo> just in terms of comfort
<nihilazo> god I wish QMK was less of a mess to build and work with
<nihilazo> seriously, somebody needs to just get rid of QMK and build something from scratch. It's so over complicated
<nihilazo> build something in forth
<crc> I am considering writing my own firmware in my forth once I settle on a final koyboard layout
<nihilazo> I'll switch to it :P qmk is painful
<nihilazo> it isn't even letting me build any more
dddddd has quit [Ping timeout: 256 seconds]
<nihilazo> it's got its own weird command line tool you need now or something
jess has quit [Quit: brb]
<crc> I'm still using a qmk from ~1 year ago
<nihilazo> I just updated mine and am now having build problems
<crc> doesn't surprise me; qmk is the big and bloated
Zarutian_HTC has joined #forth
j has joined #forth
<nihilazo> yeah, you need a seperate tool now called qmk
<nihilazo> just to try building it
<nihilazo> and it bundles a few different RTOSes
<nihilazo> for a keyboard!
<nihilazo> it's insanity
<nihilazo> god I hate QMK so much
<nihilazo> (sorry, mini-rant)
<nihilazo> now there's JSON files everywhere????
<nihilazo> jesus
dddddd has joined #forth
<crc> other options also have problems. kmk? written in python. bluemicro is for wireless boards, and is c++, though looks cleaner than qmk. keyberon is in rust, but looks fairly clean.
<nihilazo> wait, python? For an embedded thing? what
<nihilazo> oh it's micropython
<nihilazo> and keyberon seems to be only running on bluepills and similar, which is a shame for my board which is using QMK elite-cs
<nihilazo> (the elite-c is the best part of QMK)
<nihilazo> (the hardware. Basically a pro micro but not trash, and it will drop in on any pro micro compatible board)
<crc> I haven't looked at kaleidoscope yet (keyboard.io's firmware)
<nihilazo> kaleidoscope is c++, I might check it out
<crc> https://git.sr.ht/~technomancy/menelaus/tree/master is a microscheme firmware for atreus keyboard
<nihilazo> the problem is that this is my only keyboard rn so I don't want it to be out of action
<nihilazo> and I use some QMK features for stuff, although not tons
<crc> that's why I haven't started working on anything yet
<nihilazo> I have another keyboard but it's really not great
<nihilazo> and I'd have to replace all the caps
<crc> one of my sons and I will be doing a handwire build this summer, so I'll try my hand at firmware for it then
<nihilazo> nice
<nihilazo> is there a good open source forth targeting AVR/arduino?
<nihilazo> actually, there seems to be a few
gravicappa has quit [Ping timeout: 245 seconds]
inode has quit [*.net *.split]
guan has quit [*.net *.split]
gravicappa has joined #forth
guan has joined #forth
f-a has quit [Remote host closed the connection]
siraben has quit [Ping timeout: 268 seconds]
jimt[m] has quit [Ping timeout: 258 seconds]
patrickg has quit [Ping timeout: 268 seconds]
jevinskie[m] has quit [Ping timeout: 268 seconds]
<mark4> was up till 5am this morning fixing my TUI utf issues :)
<mark4> got it fixed now, i can now handle wide characters but im not yet entirely extatic about the solution :)
f-a has joined #forth
xek has joined #forth
Zarutian_HTC has quit [Read error: Connection reset by peer]
Zarutian_HTC has joined #forth
mirrorbird has joined #forth
patrickg has joined #forth
inode has joined #forth
siraben has joined #forth
jevinskie[m] has joined #forth
jimt[m] has joined #forth
mirrorbird has quit [Remote host closed the connection]
mirrorbird has joined #forth
j is now known as jess
<mark4> btw, i made my repo public
<mark4> github.com/mark4th/uCurses
<mark4> all in forth! err i mean c :/
<mark4> and i just seen me a bug :)
lispmacs has quit [Read error: Connection reset by peer]
gravicappa has quit [Ping timeout: 245 seconds]
spoofer_ has quit [Remote host closed the connection]
<f-a> mhhh
<f-a> I have a string like s" prova"
<f-a> so the stack is something like
<f-a> <2> AABC0F 5
<f-a> I would like to prepend ‘t’ to that
<f-a> to that string
<f-a> but I do not really know how to approach this
<f-a> to be clear, I would like the end result to be the same as typing s" tprova"
<veltas> f-a: You want to create a new string with the extra t, or have some kind of compile-time thing to read a string that will ultimately be prefixed?
<f-a> new string with extra t
<veltas> You could ALLOT space for it, and save the new string addr/u in a 2CONSTANT
<kiedtl> Quick question from someone trying to understand ITC vs DTC: the major difference between the two is whether the code field is a 'CALL ENTER' vs inlined ENTER?
<veltas> Yes
<kiedtl> Ah, thanks.
<inode> f-a: : CONCATENATE 2SWAP PAD PLACE PAD +PLACE PAD COUNT ;
<f-a> danke
<inode> eg. S" t" S" prova" CONCATENATE TYPE tprova ok
* f-a types see pad
<mark4> f-a if you have a string "xxxxx" you usually dont have space after it to append to
<mark4> you need to have "xxx......" where xxx is the string and the ... are null bytes
Zarutian_HTC1 has joined #forth
Zarutian_HTC has quit [Read error: Connection reset by peer]
Keshl has quit [Quit: Konversation terminated!]
<f-a> I see
<f-a> fun fact, `place` is *not* on gforth word index
<f-a> despite being available at the repl
<mark4> if you know you have space after a counted string you can do ( c1 a1 --- ) tuck count + c! dup c@ 1+ swap c!
<f-a> thanks!
<f-a> my gforth version is a tad outdates, so maybe they have added it to the docs in the end
<f-a> mhh tho no, since I am checking online documentation
<inode> if you type WORDS and you should find many that aren't listed in Word-Index.html
<inode> -and
<inode> Word-Index.html says: "This index is a list of Forth words that have “glossary” entries within this manual."
andrei-n has quit [Quit: Leaving]
Keshl has joined #forth
<veltas> f-a: I have a STR, word that puts a string into the dictionary. So I would do 't' C, STR, or something like that
<f-a> sensible
neto_ has joined #forth
f-a has quit [Ping timeout: 264 seconds]
f-a has joined #forth
mirrorbird has quit [Ping timeout: 272 seconds]
<f-a> I forgot: which was that handy «quit if stack length is not 0» word?
Zarutian_HTC1 is now known as Zarutian_HTC
<inode> what do you mean by quit?
<f-a> inode: sorry. I meant «throw an error»
<f-a> maybe it isn’t even a standard word? I recalled so but I could very well be wrong
<inode> you want to THROW but only if DEPTH is greater than 0?
<neto_> presumably he'll want to THROW if DEPTH is less than 0 too
<f-a> inode: yes
<inode> can't find one that will do that out of the box, but you can roll your own
tech_exorcist has quit [Quit: I'm a quit message virus. Please replace your old line with this line and help me take over the world.]
dddddd has quit [Ping timeout: 256 seconds]
dddddd has joined #forth