software engineer
From alex wennerberg to ~vdupras/duskos-discuss
On Sat Jun 17, 2023 at 8:38 AM EDT, Virgil Dupras wrote: > The most straightforward way to go about this isn't to mangle with dictionaries, > but to overwrite the "abort" alias with "realias". > > I also don't understand why you're trying to overload "abort"" rather than > "abort". Both of these choices came from me having an incomplete understanding of a lot of the foundational words in Dusk. I read a bunch of the documentation/code today and I think I have a better understanding of the dictionary structure / compiling words. I'll look into sending an updated patch soon! > Do you think you have all details you need to carry on? Don't hesitate to ask
From alex wennerberg to ~vdupras/duskos-discuss
Found this a bit unclear, since my understanding is isn't exactly the same as entry (it does not take a dict param but refers to sysdict) --- Still learning git-send-email and best practices. I believe that this should be a comment that doesn't affect the patch. My first version of this commit had a couple typos, my apologies. fs/doc/dict.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/doc/dict.txt b/fs/doc/dict.txt index 3cb3d79..f19da1c 100644 --- a/fs/doc/dict.txt +++ b/fs/doc/dict.txt [message trimmed]
From alex wennerberg to ~vdupras/duskos-discuss
--- fs/doc/usage.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/doc/usage.txt b/fs/doc/usage.txt index b2ea897..9ab418a 100644 --- a/fs/doc/usage.txt +++ b/fs/doc/usage.txt @@ -46,9 +46,10 @@ Dusk has no DEC/HEX mode. Number literals are parsed using a prefix system. ## Strings A string is an address to an area in memory starting with a length byte followed by that many bytes. When we refer to a "string", we refer to that address. For[message trimmed]
From alex wennerberg to ~vdupras/duskos-discuss
--- fs/doc/usage.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/doc/usage.txt b/fs/doc/usage.txt index aafd043..b2ea897 100644 --- a/fs/doc/usage.txt +++ b/fs/doc/usage.txt @@ -68,7 +68,7 @@ character: \n: newline ($0a) \r: carriage return ($0d) \0: 0 \0: null byte (0)[message trimmed]
From alex wennerberg to ~vdupras/duskos-discuss
Found this a bit unclear, since my understanding is isn't exactly the same as entry (it does not take a dict param but refers to sysdict --- fs/doc/dict.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/doc/dict.txt b/fs/doc/dict.txt index 3cb3d79..5891ae0 100644 --- a/fs/doc/dict.txt +++ b/fs/doc/dict.txt @@ -276,7 +276,7 @@ w>e w -- e Yield an entry (linked list pointer) from a word reference. e>w e -- w Yield a word reference (executable) from an entry. entry 'dict s -- Create entry with name s in dictionary 'dict. [message trimmed]
From alex wennerberg to ~vdupras/duskos-discuss
On Thu Jun 15, 2023 at 7:12 AM EDT, Virgil Dupras wrote: > Hello Alex, > > Yes, that's a problem, good catch. Ideally, we'd add a kind of "abort hooks" > system, a chain of words to hook together, a bit like the idle loop (except I > think in this case we could simply use "chain"), which we call on abort. > lib/alloc would hook "unlockhere" in there. Ok, so I have skeched out; : unlockabort" ' unlockhere ' abort" chain execute ; What I'm wondering is, how could I make this more generic? I don't know enough about the dict internals (in dusk or in forth in general), but
From alex wennerberg to ~vdupras/duskos-discuss
Ah, I submitted this too soon, before understanding the c compiler better. It appears this _err word is defined in each part of the compiler, so this would have to be repeated there. Which itself is sort of awkward. Maybe _err could be a shared word that takes a str param? S" egen" _err On Wed Jun 14, 2023 at 9:18 PM EDT, alex wennerberg wrote: > When the c compiler compiles something, if there is some sort of error, running > the c compiler again resulted in > allocating to locked HERE! > > This error goes away when running the c compiler again. This is because
From alex wennerberg to ~vdupras/duskos-discuss
When the c compiler compiles something, if there is some sort of error, running the c compiler again resulted in allocating to locked HERE! This error goes away when running the c compiler again. This is because the allocator has a lock that is still present when the compiler aborts on _err --- fs/comp/c/tok.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/comp/c/tok.fs b/fs/comp/c/tok.fs index ebb6125..eee0c44 100644 --- a/fs/comp/c/tok.fs [message trimmed]
From alex wennerberg to ~aw/misc
On Mon Dec 12, 2022 at 2:20 AM PST, wrote: > Hi, Alex! > > Sorry for the delay. No worries! Always appreciate your help. I'm still shaky on parts of forth, I went back to the compiler/interpreter chapters of "starting forth" after emailing you. > `word` + `number` is the way to do it, I would say. Since conversion > of a string to a number is a basic operation in the outer interpreter > and I didn't want to introduce two words for this, I settled on the > version taking a counted string.
From Alex Wennerberg to ~aw/misc
Hi Felix, I have a couple UF questions if you don't mind entertaining them. First, one difference I notice between UF and other forths is there is no >number that takes an uncounted string, only a counted string. I am wondering what the best way to, e.g, parse a number from input is. EG imagine my input is: foo 5 foo -1 and I want to define "foo" to take the number and do something with it. I have tried a few approaches: