00:00:00 --- log: started forth/17.05.17 00:27:22 izabera, regarding what you said last night, i have no idea why you imply such things. 00:27:35 whawt did i say? 00:28:34 something about "restricting whole language to hardware prototyping" and also the always-nice implication of something being wrong with me because i don't consider it problematic to be not programmatically hand-held by the language i use 00:28:56 different solutions for different purposes, or whatever 00:29:08 forth works really nicely for lots of things besides prototyping. 00:32:31 grow a thicker skin 00:33:52 no offense taken, just wondered about the choice of idiom 00:34:34 it seems as if you understand very little about forth but nonetheless have already decided that it's not good for much, which is not the best angle of approach 00:35:50 of course i understand very little about forth 00:35:57 i started less than a week ago 00:36:09 nothing wrong with that 00:36:10 but still, let me elaborate a bit 00:36:54 c doesn't actually prevent you from taking the address of a function and writing bytes to that address 00:37:29 but of course that'd be stupid to do so you just don't do it 00:37:45 and most systems will put that in non writable memory anyway 00:37:52 so nobody would do it 00:38:10 so there'd be little to no loss in the language if that wasn't possible at all 00:38:51 then again, forth runs on lots of systems without any kind of mmu 00:38:56 cool 00:39:23 "Forth is what you make it" 00:39:28 i don't know whether forth specification requires the implementation to allow said functionality, actually 00:40:27 yeah great forth is what you make it so if you're super careful and you write bug free code you'll be fine 00:40:33 just like in every other language 00:40:39 that's why c is so safe 00:40:50 because everyone is super careful and writes bug free code 00:44:25 then again, if you look at the historical context of forth development, such things were not priorities 00:44:42 if it's safety that you want, forth probably isn't for you 00:46:22 i'm just saying that letting people overwrite compiled code is pointless and not beneficial in any way 00:47:46 i don't even think people actually use this on purpose 00:48:20 it's just a (not very) hidden razor sharp edge 00:48:42 izabera: I agree it's usually pointless, especially in portable code 00:49:01 it can be beneficial, but it is more likely to blow up in one's face as it can be a real bitch to debug 00:49:28 I remember a PC Magazine article where they show a short assembler program and then say "at first glance this doesn't appear to have enough code to do what it's doing" 00:49:58 it was a program to do math operations on two numbers and it worked by overwriting the instruction in the middle depending on what the user put in 00:50:36 these days we have things like W^X, meaning if a segment of memory is executable it can't be writable, and if it's writable it can't be executable 00:51:40 sure, some idiot programmers probably use self-modifying code on purpose but you aren't going to see that very often on modern PCs because of W^X and the like 00:52:23 i can't remember ever using it or getting bitten by it either 00:53:42 Forth kind of commingles the area where data and code reside, from what I understand you can "compile" data into the code space just like anything else and it's expected to be able to write to that 00:53:50 not sure how that is supposed to play with W^X 00:55:12 --- join: proteusguy (~proteus-g@14.100.142.17) joined #forth 00:55:12 --- mode: ChanServ set +v proteusguy 01:29:05 Traditional Forth does that commingling. (Fun word!) 01:29:28 Forths on microcontrollers where Hardvard achitercture is the norm, doesn't. 01:30:36 Well, that is if you regard "code" as machine code. Threaded code can still be in writable memory. 01:32:44 But full-featured Forths often use subroutine threading or native code compilation. 01:39:23 larsb: what's the most popular threading model on hardvard arch? 01:39:50 exclude modified harvard 01:40:09 I don't know. I suppose all threading models work. 01:40:36 It's just that all machine code is in a separate space. 01:41:34 if so, how can you execute data space code? 01:42:14 like your dictionary was treated as data space 01:42:44 so some threading can not work since they just fetch the address and execute on it 01:43:25 --- quit: DocPlatypus (Quit: Ex-Chat) 02:25:07 Threaded code (ITC, DTC) execute by reading from data space and jumping to code space. 02:25:21 Native code executes directly in code space of course. 02:42:01 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 03:26:04 --- join: nighty-- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 03:35:01 --- quit: wa5qjh (Ping timeout: 240 seconds) 04:11:54 --- quit: proteusguy (Remote host closed the connection) 04:35:46 --- join: GeDaMo (~GeDaMo@212.225.127.213) joined #forth 04:49:49 --- quit: impomatic (Ping timeout: 240 seconds) 05:22:48 --- join: bedah (~bedah@2a02:810d:243f:f584:221:ccff:fe5f:92ff) joined #forth 06:05:01 izabera: You should redefine your words because words have different meanings in different contexts. Redefining words will not overwrite them http://wiki.c2.com/?HyperStaticGlobalEnvironment and your previously defined words will work just as they did before. 06:36:41 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 07:02:12 --- join: nighty-- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 07:10:37 --- join: neceve (~ncv@79.113.69.183) joined #forth 07:10:37 --- quit: neceve (Changing host) 07:10:37 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 07:31:39 --- join: proteusguy (~proteus-g@222.164.165.235) joined #forth 07:31:39 --- mode: ChanServ set +v proteusguy 07:57:52 --- join: true-grue (~true-grue@176.14.219.178) joined #forth 08:02:50 --- quit: nighty-- (Read error: Connection reset by peer) 08:54:24 --- join: MrBismuth (~ArcMrBism@2602:306:8325:a300:c801:d7f:77e1:92be) joined #forth 08:55:02 --- quit: MrBusiness3 (Ping timeout: 255 seconds) 09:12:14 --- quit: neceve (Quit: Konversation terminated!) 09:35:39 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 09:59:24 --- quit: ACE_Recliner (Ping timeout: 258 seconds) 10:01:28 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 10:40:59 --- quit: DGASAU (Read error: Connection reset by peer) 10:47:04 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 10:52:00 --- join: Guest79425 (~philsnowp@175.180.98.1) joined #forth 11:03:02 --- quit: Guest79425 (Quit: I crashed.) 11:29:37 --- quit: DGASAU (Read error: Connection reset by peer) 11:30:50 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 11:33:38 --- quit: DGASAU (Read error: Connection reset by peer) 11:34:51 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 11:38:34 --- quit: DGASAU (Read error: Connection reset by peer) 11:39:14 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 11:40:49 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 11:44:17 --- quit: true-grue (Read error: Connection reset by peer) 12:09:13 --- join: impomatic (~digital_w@host86-186-214-85.range86-186.btcentralplus.com) joined #forth 12:12:35 --- join: zincing (~zincing@2a03:1b20:4:f011::20de) joined #forth 12:13:19 --- quit: impomatic (Ping timeout: 240 seconds) 13:27:00 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 13:27:29 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 13:34:42 --- quit: GeDaMo (Remote host closed the connection) 13:41:04 --- quit: ACE_Recliner (Ping timeout: 260 seconds) 13:41:52 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 15:07:06 --- join: wa5qjh (~Thunderbi@121.54.90.144) joined #forth 15:19:02 --- quit: dys (Ping timeout: 240 seconds) 16:13:04 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 16:28:30 --- quit: wa5qjh (Ping timeout: 240 seconds) 16:30:57 --- join: wa5qjh (~Thunderbi@121.54.90.144) joined #forth 16:44:08 --- join: varuaa (~quassel@pool-100-2-162-136.nycmny.fios.verizon.net) joined #forth 17:00:56 --- quit: djinni (Quit: Leaving) 17:04:21 --- join: djinni (~djinni@68.ip-149-56-14.net) joined #forth 17:18:21 --- quit: MrBismuth (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 17:19:11 --- join: MrBusiness (~ArcMrBism@2602:306:8325:a300:c801:d7f:77e1:92be) joined #forth 17:24:09 --- join: nighty-- (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 17:28:10 --- quit: nighty-- (Remote host closed the connection) 17:34:07 --- join: nighty-- (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 17:52:29 --- join: neceve (~ncv@79.113.69.183) joined #forth 17:52:29 --- quit: neceve (Changing host) 17:52:29 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 17:54:40 --- quit: varuaa (Ping timeout: 246 seconds) 18:02:48 --- quit: proteusguy (Remote host closed the connection) 18:09:08 --- quit: dual (Ping timeout: 246 seconds) 18:33:12 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 18:33:36 --- join: varuaa (~quassel@pool-100-2-162-136.nycmny.fios.verizon.net) joined #forth 18:37:21 --- join: proteusguy (~proteus-g@118.189.135.38) joined #forth 18:37:21 --- mode: ChanServ set +v proteusguy 19:40:50 --- quit: ACE_Recliner (Ping timeout: 246 seconds) 19:42:07 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 19:59:12 --- quit: dual (Ping timeout: 240 seconds) 20:27:31 --- join: dys (~dys@ip-109-44-1-30.web.vodafone.de) joined #forth 20:36:55 --- quit: Zarutian (Quit: Zarutian) 20:39:22 --- join: Chef_Gromboli (~Chef_Grom@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 20:45:05 android just official support kotlin language now, curious when will they support a forth familly language 20:54:26 --- quit: neceve (Quit: Konversation terminated!) 21:00:52 --- quit: varuaa (Ping timeout: 240 seconds) 22:00:34 --- quit: Chef_Gromboli (Quit: Leaving) 23:14:10 --- quit: wa5qjh (Remote host closed the connection) 23:16:14 --- quit: zincing (Quit: Leaving) 23:59:48 kotlin is what? 23:59:59 --- log: ended forth/17.05.17