00:00:00 --- log: started forth/17.04.11 01:30:37 --- join: Bahman (~Bahman@88.247.101.164) joined #forth 01:44:22 --- quit: dys (Read error: Connection reset by peer) 02:08:36 --- quit: proteusguy (Ping timeout: 255 seconds) 02:15:21 --- quit: Bahman (Ping timeout: 252 seconds) 02:27:24 --- join: proteusguy (~proteus-g@182.232.248.94) joined #forth 02:27:24 --- mode: ChanServ set +v proteusguy 02:33:52 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 02:41:13 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:9eb:a3d4:8005:10b8) joined #forth 02:43:40 : anonymous-pointer here cell allot ; 02:44:48 : anonymous-link anonymous-pointer cell allot ; 02:45:12 variable end-of-list 02:46:41 --- join: MrBismuth (~ArcMrBism@2602:306:8325:a300:c801:d7f:77e1:92be) joined #forth 02:46:52 : anonymous-empty-list anonymous-link cell + end-of-list swap ! ; 02:47:58 : write-to-link swap ! ; 02:48:48 : point-link-at swap cell + ! ; 02:49:20 --- quit: MrBusiness (Ping timeout: 246 seconds) 02:51:48 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 02:53:42 --- quit: proteusguy (Ping timeout: 240 seconds) 02:55:02 : connect-links swap ! ; 02:55:10 --- join: smokeink (~smokeink@175.20.93.55) joined #forth 02:56:35 : connect-links swap over ! ; 02:56:44 --- join: Bahman (~Bahman@88.247.101.164) joined #forth 03:04:06 : anonymous-empty-list anonymous-link dup 0 swap ! dup end-of-list swap 1 cells + ! ; 03:08:38 : anonymous-link anonymous-pointer cell allot dup 0 swap ! dup 0 swap cell + ! ; 03:09:00 --- join: dys (~dys@ip-109-40-0-240.web.vodafone.de) joined #forth 03:12:51 : push { pointer value -- new pointer } pointer anonymous-link connect-links dup value write-to-link ; 03:15:48 variable recycled-lists recycled-lists anonymous-empty-list swap ! 03:16:55 : wipe-link 0 write-to-link ; 03:19:19 --- quit: Bahman (Ping timeout: 240 seconds) 03:20:53 : recycle-cell { cell-pointer -- } cell-pointer wipe-link recycled-lists @ cell-pointer connect-links recycled-lists ! ; 03:25:07 : pop { pointer -- tail-pointer value } pointer @ pointer tail swap pointer recycle-cell ; 03:25:16 Now I've got push and pop and can write forth within my forth 03:27:03 variable next-available-type 0 next-available-type ! 03:31:23 : expend-type next-available-type @ -1 = if ." out of types" else next-available-type @ 1 + next-available-type ! then ; 03:32:15 John[Lisbeth]: Is there some kind of Xzibit joke I can make now? 03:32:23 Something about 'we herd u liek Forth'? :P 03:32:38 I have been asked to repeatedly show some code so here it is 03:32:44 linked lists and a type system 03:33:40 It would be silly to make another language in forth and not make a stack within memory and work on that stack 03:40:44 My pop actually needs to check if something is the end of a list 03:43:10 : pop { pointer -- tail-pointer value } pointer cell + @ end-of-list = if ." nope" else pointer @ pointer tail swap pointer recycle-cell then ; 04:03:22 --- join: Bahman (~Bahman@88.247.101.164) joined #forth 04:17:14 why have you implemented a stack using a linked list when forth already natively has a stack 04:23:18 and I don't think you've been asked to just present code like it's show and tell 04:23:26 * crc doesn't see how this implements a type system 04:24:13 --- join: GeDaMo (~GeDaMo@212.225.127.213) joined #forth 04:25:04 aslo "swap over" is the same thing as tuck 04:26:07 and "dup 0 swap !" could be "0 over !" 04:30:04 using a pastebin would be helpful with this many definitions 04:35:16 https://gist.github.com/crcx/af9843abe430fa47783b1c5d10be3df3 04:35:35 --- join: smokeink_ (~smokeink@111.37.18.93) joined #forth 04:37:38 --- quit: smokeink (Ping timeout: 255 seconds) 04:37:48 --- join: nighty-- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 04:41:56 Stack comments would be helpful, and I'm not sure the local variables are necessary 04:56:06 --- join: drakho (~drakho@46-253-188-131.dynamic.monzoon.net) joined #forth 04:56:58 I started to use stack comments near the end 05:12:33 the code is incomplete: tail isn't defined 05:57:55 additionally, the recycled cells don't appear to be reused anywhere 06:06:21 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 06:20:24 --- join: real-grue (~true-grue@176.14.222.10) joined #forth 06:23:42 --- quit: true-grue (Ping timeout: 240 seconds) 06:45:06 --- quit: drakho (Quit: bye) 06:49:24 --- join: gravicappa (~gravicapp@ppp83-237-162-70.pppoe.mtu-net.ru) joined #forth 07:26:01 --- join: neceve (~ncv@86.125.247.109) joined #forth 07:26:19 --- quit: neceve (Changing host) 07:26:19 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 07:38:02 --- quit: Bahman (Ping timeout: 240 seconds) 07:43:39 --- quit: Zarutian (Quit: Zarutian) 08:07:08 --- quit: groovy3shoes (Ping timeout: 246 seconds) 08:10:42 --- quit: neceve (Quit: Konversation terminated!) 08:19:17 --- join: groovy3shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 08:29:43 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 08:51:20 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 08:52:47 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 09:34:28 --- quit: smokeink_ (Ping timeout: 268 seconds) 10:22:31 --- quit: groovy3shoes (Quit: Leaving) 10:31:46 --- quit: Zarutian (Quit: Zarutian) 10:32:23 --- join: Bahman (~Bahman@88.247.101.164) joined #forth 10:59:40 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 11:01:52 --- quit: bedah (Quit: quitting) 11:35:32 --- quit: Bahman (Ping timeout: 240 seconds) 12:06:23 --- quit: pointfree[m] (Quit: Client limit exceeded: 10000) 12:08:40 --- quit: Zarutian (Quit: Zarutian) 12:25:46 --- join: Bahman (~Bahman@88.247.101.164) joined #forth 12:45:37 --- join: karswell (~user@36.91.199.146.dyn.plus.net) joined #forth 13:01:05 --- quit: GeDaMo (Remote host closed the connection) 13:35:57 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 13:53:45 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 14:09:49 --- quit: Bahman (Ping timeout: 260 seconds) 14:09:49 --- quit: gravicappa (Ping timeout: 260 seconds) 14:13:05 --- quit: real-grue (Read error: Connection reset by peer) 14:29:31 --- quit: qzo (Ping timeout: 264 seconds) 14:32:21 --- join: qzo (~qzo@c-73-153-11-93.hsd1.co.comcast.net) joined #forth 14:48:03 --- quit: dual (Ping timeout: 245 seconds) 15:32:13 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 15:33:53 . 15:38:34 --- join: John[Lis` (~user@2601:601:8f01:a6a0:9eb:a3d4:8005:10b8) joined #forth 15:42:38 --- quit: John[Lisbeth] (Ping timeout: 245 seconds) 15:42:44 I figured out my secret to success 15:43:04 I have to treat my gforth history like it was a library and remove the pieces of code that do not need to be there 15:43:16 by reducing away at my gforth history I whittle down to what is also a gorth config 15:49:51 --- quit: John[Lis` (Ping timeout: 255 seconds) 15:51:14 don't you have to be successful before you have a secret to success 15:55:02 zy]x[yz: nope. You can have a secret to success without knowing it and hence be unsuccessfull. 15:59:55 how do you "have" a secret without knowing it 16:00:58 zy]x[yz: that is a question for you to ponder. /zen-monk 16:28:53 --- join: John[Lisbeth] (~user@173-160-167-234-Washington.hfc.comcastbusiness.net) joined #forth 16:28:57 --- quit: dys (Ping timeout: 240 seconds) 16:29:14 so next-available-type is a variable that when dereferenced contains an integer 16:29:46 I want to do : make-type next-available-type @ ; but the problem is I want it to dereference each time make-type is called and not at compile time 16:30:04 So I guess what I need is a version of @ which uses the runtime behavior of @ at compile time 16:34:38 what you wrote does that 16:35:06 : make-type next-available-type @ ; ( <-- @ is executed at runtime, not at compile time ) 16:35:22 hold on a minute let me test it out 16:35:57 I see thanks 16:37:36 or you mean, you want to compile the contents of next-available-type into definitions as a constant? 16:37:44 no zy]x[yz was correct 16:37:49 but now here's the thing 16:38:03 I need to do the opposite this time 16:39:19 John[Lisbeth]: : make-type-take2 [COMPILE] DOLIT [ next-available-type @ ] , ; \ or some such, no? 16:39:39 so make-type is already solved 16:40:16 I've got : new-type next-available-type dereference expend-type ; which produces a new int every time and I want to do : untyped new-type ; and have it save that int just one time 16:40:25 as in untyped should result in the same int every time when invoked 16:42:13 inside of the [] just replace it with new-type and that should work. But it is important that you understand why. 16:42:36 inside of the [] ? 16:43:05 in the make-type-take2 word definition I gave 16:44:28 : untyped [ new-type ] ; 16:45:58 I need to take a series of forth runs and run them immediately before compiling and store that inside of another word 16:46:23 John[Lisbeth]: that is what the words [ and ] are for ;-Þ 16:46:31 they do not work for me 16:46:48 I am doing the same as variable foo new-type foo ! : untyped foo @ ; 16:48:17 But I don't want to make a new variable each time I want to create a type 16:48:25 that last untype word definition would not work as it is unclear what the value fetched ends up. 16:48:41 John[Lisbeth]: you read about how CREATE and DOES> work? 16:48:55 I have not been able to get those words to work either 16:49:31 It seems like [ and ] may do what I want better though I just can not figure out how to invoke them like this : untyped [ new-type ] ; 16:49:36 I am typing it wrong 16:50:40 I have tried : untyped [compile] dolit [ new-type ] ; and that does not work either 16:50:58 If I can not see a valid example of it working then I can not do it 16:51:15 what [ does is to put the system in runtime behaviour, that is the subsequent words are executed when encountered in the input. The ] puts the system into compile behaviour. 16:51:36 I do not really need to know what it does I just need a valid way to type : untyped [ new-type ] ; 16:51:45 If you could give it to me then I could close my computer and go clock onto my job 16:51:47 does : untyped [compile] dolit [ new-type , ] ; work? 16:51:53 one moment 16:52:31 btw, I have no idea what variation of forth you are using. 16:52:46 undefiend word dolit 16:52:47 I am using ans forth 16:52:51 3 minutes remaining 16:53:10 hmm... replace dolit with (lit) 16:53:18 literal 16:53:45 also , is not immediate 16:53:46 thanks 16:53:48 it works now 16:54:23 okay time to clock onto my job see you guys later 16:54:28 zy]x[yz: nor is it compile time only. It does not care. 16:54:39 John[Lisbeth]: study why this work otherwise you wont get it 16:54:46 when you have time that is 16:54:50 Zarutian, I know, but you write it outside of the [], which seems like not what you wanted 16:55:41 zy]x[yz: I made an error in the make-type-take2 word definition. 16:56:02 oh, I see that you corrected it later. sorry 16:56:14 zy]x[yz: transposed the ] and , for some reason. 16:58:42 --- quit: John[Lisbeth] (Ping timeout: 255 seconds) 16:58:44 are there source files up for john's project, or just the liveblogging on here? 16:59:36 i do want to help but i don't feel like scrolling through kilolines of rambling and manually tracking changes 17:01:02 no, and it probably isn't really worth too much attention anyway 17:03:03 his "project," if you can even call it that, is some pot-induced fantasy about making a cloud-based web forth or some nonsensical bullshit, intermixed with a lot of rambling about reignighting widespread interest in forth and "bringing forth to the millenial generation" 17:06:31 I've actually started from scratch, learned forth, implemented my own in assembler, and am now working on a self-hosting version, all within the same amount of time that he still doesn't know what [ ] does. just to point out that I wouldn't hold you breath to see anything actually productive come out of him 17:06:32 * Zarutian give zy]x[yz a Look for that bizspeak 17:07:15 had not caught the first of those and figured he would see the issues with his approach to the latter in due time. 17:08:04 zy]x[yz: well, I took the route of porting eForth from x86 masm to ahem, DCPU-16 asm. But now I am decided to use a very small dual stack machine speck inspired 'Stack Machines the New Wave' by Koopman. 17:09:20 that's fine, I'm not trying to brag or anything. I'm just pointing out that his progress is pathetic. he's not really doing anything, he just enjoys generating noise here 17:09:44 was just struck by the rube goldbergishness of his linked list implementation, but he seems impervious to pointers there (pun not intended) 17:10:37 koisoke, my "pot-induced" comment wasn't just a off-base insult. he's talked about smoking weed, he literally is a stoner 17:11:18 zy]x[yz: same here. Porting eForth this way, plus reading various Forth books and so forth gave me a rather good understand what is going on 17:11:43 understanding* 17:12:09 * Zarutian should really concentrate and not try to read a web page the same time he is writing something here. 17:12:27 zy]x[yz: noted 17:14:31 Zarutian, no worries, I've been writing like english is my second language for the same reason 17:18:15 --- join: cp__ (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 17:34:29 --- join: neceve (~ncv@86.125.247.109) joined #forth 17:34:29 --- quit: neceve (Changing host) 17:34:29 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 18:11:27 Building a code base by manually editing a gforth history seems like a really bad approach 18:19:26 that's why it's best kept a secret 18:21:37 He's falling into the same pit as many. Trying to reimplement or create a new language before actually learning how to do anything with it. 18:25:43 and that is one way to learn, if one is attentive to the failure modes of one's efforts 18:36:56 and doesn't do that to the exclusion of all else, and studies existing solutions. and it is possibly something best done in private 18:40:07 but "i'm going to save the world, and i will listen to noone who tells me my design decisions based on naive intuitions in a vacuum are suboptimal" is not a good starting point 18:55:10 --- join: smokeink (~smokeink@111.37.18.124) joined #forth 19:10:11 --- quit: ACE_Recliner (Ping timeout: 255 seconds) 19:33:22 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 20:17:14 --- quit: neceve (Quit: Konversation terminated!) 20:24:32 --- quit: Zarutian (Quit: Zarutian) 20:38:11 It makes me sad to see him struggling but not realizing it. Not much that can be done, and even less that can be done constructively. 21:50:28 --- join: dys (~dys@ip-109-40-0-33.web.vodafone.de) joined #forth 22:04:30 --- quit: ACE_Recliner (Remote host closed the connection) 22:10:32 --- join: bedah (~bedah@2a02:810d:243f:f584:24ef:8258:3c1e:1932) joined #forth 22:19:28 looking for a replacement for flashforth @ atmega328 22:19:44 need forth that can redefine a word 22:20:10 with ff you need to erase your words up to marker 22:28:42 --- join: MrBusiness (~ArcMrBism@2602:306:8325:a300:c801:d7f:77e1:92be) joined #forth 22:32:47 --- quit: MrBusiness (Client Quit) 23:16:34 --- quit: karswell (Remote host closed the connection) 23:17:56 --- join: karswell (~user@36.91.199.146.dyn.plus.net) joined #forth 23:39:00 --- quit: bedah (Quit: Ex-Chat) 23:39:03 --- quit: dys (Ping timeout: 252 seconds) 23:49:33 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:714e:cf76:c41f:5e03) joined #forth 23:49:35 okay so 23:49:37 I've got this word 23:49:54 : untyped [compile] lit [ new-type , ] ; 23:50:12 and I wanna turn that into a macro so all that I have to type is new-type name-of-new-type 23:53:08 good lord 23:53:42 i think you mean something like : untyped [ new-type ] literal ; 23:57:11 --- quit: coelebs (Ping timeout: 260 seconds) 23:57:11 --- join: nighty-_ (~cp@www.taiyolabs.com) joined #forth 23:57:11 --- quit: nighty- (Ping timeout: 260 seconds) 23:59:59 --- log: ended forth/17.04.11