00:00:00 --- log: started forth/17.09.13 00:00:57 --- join: GITIB (~GiL@2a01:e0a:2a:f760:5177:8693:b8f8:4c62) joined #forth 00:02:30 --- part: GITIB left #forth 00:13:38 --- nick: koz__ -> koz_ 00:47:32 --- quit: dys (Ping timeout: 248 seconds) 00:59:06 --- quit: xek (Remote host closed the connection) 00:59:24 --- join: xek (xek@nat/intel/x-jxlzkctqdaxcnlnc) joined #forth 01:00:50 --- join: dys (~dys@2003:5b:203b:100:6af7:28ff:fe06:801) joined #forth 01:16:18 --- quit: smokeink_ (Ping timeout: 240 seconds) 01:28:15 --- quit: larsb (K-Lined) 02:05:58 --- quit: dograt (Quit: No Ping reply in 180 seconds.) 02:12:37 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 02:13:05 --- join: smokeink (~smoke@59.53.67.231) joined #forth 02:41:45 --- quit: smokeink (Ping timeout: 246 seconds) 03:00:02 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 03:28:02 --- quit: nighty- (Quit: Disappears in a puff of smoke) 03:38:03 --- quit: proteusguy (Remote host closed the connection) 03:56:21 --- quit: mnemnion (Remote host closed the connection) 03:56:56 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:c19d:e6ac:c632:4713) joined #forth 04:01:12 --- quit: mnemnion (Ping timeout: 246 seconds) 04:21:31 --- join: nighty- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 05:33:12 --- join: proteusguy (~proteus-g@2405:9800:bc10:1ca:8c92:9d49:fd6f:3b20) joined #forth 05:33:12 --- mode: ChanServ set +v proteusguy 05:39:50 --- quit: wa5qjh (Remote host closed the connection) 05:46:12 --- join: smokeink (~smoke@221.7.252.113) joined #forth 06:25:24 --- quit: pointfree1 (Ping timeout: 246 seconds) 06:25:55 --- quit: M-jimt (Ping timeout: 264 seconds) 06:29:08 --- quit: smokeink (Ping timeout: 255 seconds) 06:30:21 --- join: smokeink (~smoke@59.53.67.231) joined #forth 06:44:22 --- quit: smokeink (Ping timeout: 248 seconds) 06:45:33 --- join: smokeink (~smoke@59.53.67.232) joined #forth 06:50:40 --- join: pointfree1 (pointfreem@gateway/shell/matrix.org/x-qjuhynewxkolepaj) joined #forth 06:52:55 --- quit: smokeink (Ping timeout: 264 seconds) 07:03:25 --- quit: DGASAU (Read error: Connection reset by peer) 07:04:57 Anyone here ever used a Forth interp for Racket? 07:05:43 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 07:17:52 --- join: ncv_ (~neceve@109.99.36.53) joined #forth 07:17:52 --- quit: ncv_ (Changing host) 07:17:52 --- join: ncv_ (~neceve@unaffiliated/neceve) joined #forth 07:22:04 --- join: M-jimt (jimtmatrix@gateway/shell/matrix.org/x-vaopckrnrfouqhgb) joined #forth 08:25:40 --- join: DKordic (~user@93-86-148-2.dynamic.isp.telekom.rs) joined #forth 08:31:44 --- quit: Zarutian_PI (Read error: Connection reset by peer) 08:32:14 --- join: Zarutian_PI (~3.1415@89.17.133.173) joined #forth 08:36:38 --- join: qwebirc27374 (5396475d@gateway/web/freenode/ip.83.150.71.93) joined #forth 08:38:45 --- join: ncv__ (~neceve@unaffiliated/neceve) joined #forth 08:40:05 --- quit: ncv_ (Ping timeout: 255 seconds) 08:44:15 --- quit: ncv__ (Remote host closed the connection) 08:44:53 --- join: ncv__ (~neceve@unaffiliated/neceve) joined #forth 08:59:20 --- quit: ncv__ (Remote host closed the connection) 08:59:57 --- join: ncv__ (~neceve@109.99.36.53) joined #forth 08:59:57 --- quit: ncv__ (Changing host) 08:59:57 --- join: ncv__ (~neceve@unaffiliated/neceve) joined #forth 09:06:15 --- quit: ncv__ (Remote host closed the connection) 09:06:26 --- part: Bunny351 left #forth 09:06:53 --- join: ncv__ (~neceve@109.99.36.53) joined #forth 09:06:53 --- quit: ncv__ (Changing host) 09:06:53 --- join: ncv__ (~neceve@unaffiliated/neceve) joined #forth 09:17:23 --- join: ncv_ (~neceve@109.99.36.53) joined #forth 09:17:23 --- quit: ncv_ (Changing host) 09:17:23 --- join: ncv_ (~neceve@unaffiliated/neceve) joined #forth 09:17:30 --- quit: ncv__ (Read error: Connection reset by peer) 09:29:58 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:9955:3479:bcb7:58fa) joined #forth 09:34:08 --- quit: mnemnion (Ping timeout: 246 seconds) 09:45:24 --- join: GITIB (~GiL@2a01:e0a:2a:f760:61a4:3e89:1fdf:f18) joined #forth 09:45:32 hi 10:03:44 racket? 10:03:49 hey GITIB 10:07:38 hi fatalnix 10:15:07 --- quit: nighty- (Remote host closed the connection) 10:43:14 FatalNIX: Yes. I found a Forth interpreter for Racket (which is a Scheme-ish Lisp). 10:43:40 It's weird; 2 2 + results in an error, though 2\n2\n+ gives me 4 (so everything has to be on it's own line) 10:43:56 at least, from what I've seen. 11:01:20 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:9955:3479:bcb7:58fa) joined #forth 11:35:09 --- quit: dys (Ping timeout: 246 seconds) 11:42:34 ZombieChicken: source url? 11:59:18 http://docs.racket-lang.org/forth/index.html 12:01:13 and https://github.com/bennn/forth 12:02:20 --- quit: ncv_ (Remote host closed the connection) 12:02:54 --- join: ncv_ (~neceve@109.99.36.53) joined #forth 12:02:54 --- quit: ncv_ (Changing host) 12:02:54 --- join: ncv_ (~neceve@unaffiliated/neceve) joined #forth 12:11:02 --- join: dys (~dys@tmo-123-180.customers.d1-online.com) joined #forth 12:27:53 ty. I had stepped away 12:28:02 bavier`: What crc posted is the link 12:28:37 cool, thank you both :) 12:44:20 --- part: GITIB left #forth 13:15:48 --- quit: ncv_ (Read error: Connection reset by peer) 13:15:54 --- join: ncv__ (~neceve@109.99.36.53) joined #forth 13:15:54 --- quit: ncv__ (Changing host) 13:15:54 --- join: ncv__ (~neceve@unaffiliated/neceve) joined #forth 13:22:15 --- quit: ncv__ (Read error: Connection reset by peer) 13:25:09 Wow. 13:25:17 Shows how much I really know about Forth. Nothing lol 13:25:33 was testing to see if I know how to make a loop 13:25:37 https://www.irccloud.com/pastebin/OBqiJ2wJ/ 13:25:48 oh shit I know why 13:26:26 ok I fixed the segfault :D 13:26:28 s" Hello, World!A" DROP PRINTA ok 13:26:39 bu nothing happens, to no surprise, I suck at Forth :D 13:27:30 Nothing like a language that accepts ( "Apple" 2 + ) as a valid statement 13:27:44 ZombieChicken: LOL 13:28:26 Forth is on my list of languages to learn alongside Racket/Lisp and Prolog at this point 13:38:03 --- quit: mnemnion (Remote host closed the connection) 13:38:39 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:9955:3479:bcb7:58fa) joined #forth 13:42:56 --- quit: mnemnion (Ping timeout: 255 seconds) 13:53:30 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 13:57:58 --- quit: mnemnion (Ping timeout: 260 seconds) 14:08:46 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 14:43:40 --- quit: mnemnion (Remote host closed the connection) 14:44:05 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 14:44:49 --- quit: mnemnion (Remote host closed the connection) 14:44:54 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 14:47:40 --- quit: mnemnion (Remote host closed the connection) 14:50:08 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 14:54:23 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 14:57:20 --- quit: mnemnion (Remote host closed the connection) 15:07:54 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 15:14:45 I'm having this realization 15:15:09 many systems sit C on top of assembly 15:15:22 but what about sitting Lisp on top of Forth? 15:15:22 : 15:15:24 --- quit: mnemnion (Remote host closed the connection) 15:15:28 : 15:15:35 D key wasn't working 15:21:08 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 15:25:21 --- quit: mnemnion (Ping timeout: 240 seconds) 15:40:50 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 15:46:00 --- join: Chef_Gromboli (~Chef_Grom@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 15:48:02 --- join: leaverite (~quassel@175.158.225.198) joined #forth 15:48:02 --- quit: leaverite (Changing host) 15:48:02 --- join: leaverite (~quassel@freebsd/user/wa5qjh) joined #forth 15:51:26 --- quit: Zarutian_PI (Read error: Connection reset by peer) 15:51:54 --- join: Zarutian_PI (~3.1415@89.17.133.173) joined #forth 16:03:05 I've pondered that. In theory a simple Lisp should be implementable in Forth and, assuming a simple, basic enough Forth, could be easily retargeted to a new arch to make the whole thing more portable 16:03:24 Of course, "in theory" means I may be entirely wrong 16:10:37 --- quit: mnemnion (Remote host closed the connection) 16:11:03 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 16:15:32 --- quit: mnemnion (Ping timeout: 248 seconds) 16:18:21 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 16:23:48 --- quit: mnemnion (Remote host closed the connection) 16:24:14 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 16:28:32 --- quit: mnemnion (Ping timeout: 246 seconds) 16:58:06 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 17:21:06 --- quit: mnemnion (Remote host closed the connection) 17:21:13 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 17:37:47 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 17:45:43 --- quit: mnemnion (Remote host closed the connection) 17:46:20 --- join: mnemnion (~mnemnion@c-73-223-86-196.hsd1.ca.comcast.net) joined #forth 17:50:28 --- quit: mnemnion (Ping timeout: 248 seconds) 17:53:14 --- quit: dys (Ping timeout: 246 seconds) 18:05:40 --- quit: qwebirc27374 (Ping timeout: 260 seconds) 18:43:16 --- quit: wa5qjh (Ping timeout: 248 seconds) 18:43:16 --- join: wa5qjh_ (~Thunderbi@freebsd/user/wa5qjh) joined #forth 18:43:17 --- nick: wa5qjh_ -> wa5qjh 18:44:22 --- quit: leaverite (Ping timeout: 248 seconds) 18:45:13 --- join: leaverite (~quassel@110.54.147.87) joined #forth 18:45:13 --- quit: leaverite (Changing host) 18:45:13 --- join: leaverite (~quassel@freebsd/user/wa5qjh) joined #forth 18:48:38 --- join: wa5qjh_ (~Thunderbi@freebsd/user/wa5qjh) joined #forth 18:49:12 --- join: wa5qjh__ (~quassel@112.198.82.3) joined #forth 18:50:08 FatalNIX: I'm guessing you want PRINTA to print until it sees an A? Couple issues there: 1, @ is going to fetch an entire cell, but it seems like you probably want one character at a time - use c@ for that. 2, NEGATE is an arithmetic negate, not a logic negate (that is, 2 NEGATE => -2). What you want is in the standard called INVERT (but it will only do what you want on numbers that are -1 or 0, for more general booleans use 0= 18:50:08 instead). 3, "." prints a number, rather than emitting a character, so you'll get the character codes printed instead of the actual characters. 18:50:12 Hope that clarifies a bit 18:50:13 --- quit: wa5qjh (Ping timeout: 260 seconds) 18:50:14 --- nick: wa5qjh_ -> wa5qjh 18:51:09 --- quit: leaverite (Ping timeout: 240 seconds) 18:53:40 reepca: oh yeah. I forgot about the cell thing. Is it reasonmable to assume that cell addresses are segmented by fours? i.e. addr 4 + would equal next cell, but addr 1+ would be the next char? 18:54:53 --- quit: wa5qjh (Ping timeout: 260 seconds) 18:56:25 you don't have to assume - the standard word CELLS will tell you. For example, "1 CELLS" gives you the width of one cell in bytes. 18:56:38 --- quit: wa5qjh__ (Ping timeout: 260 seconds) 18:56:50 4. oh neat 18:57:01 in general, cells are 2 bytes, 4 bytes, or 8 bytes, depending on the platform. 18:57:02 but what I mean is, are pointers to the byte or the cell? 18:57:38 both. If you want to get the byte located at an address, use C@. If you want to get the cell located at an address, use @. 18:57:40 if I do s" Foo" and I get an addr and a count 18:58:00 is addr like the cell # or is it a direct pointer to some byte in memory 18:58:14 i would assume the latter but 18:58:20 oh yeah addr is an address/pointer 18:59:39 woah shit 18:59:45 so I did like 18:59:52 s" Test" DROP 19:00:00 then did C@, got T 19:00:07 did 1+ and did C@ and got a segfault 19:00:30 did you add 1 to the address or add 1 to the T? 19:00:46 oh woops I forgot to duplicate the address 19:02:08 it works! 19:02:17 using: : PRINTA BEGIN DUP C@ 65 INVERT WHILE EMIT 1+ REPEAT ; 19:02:46 👍 19:03:36 although I think you missed an = in there 19:03:37 I assume s" doesn't create a null terminated string since the magnitude is provided on the stack 19:03:53 oops. 19:03:57 somehow it worked XD 19:04:12 undefined behavior maybe 19:04:32 It's unspecified. It may or may not be null-terminated (or anything-terminated, for that matter). 19:06:27 I find swiftforth kind of annoying. pforth seems to be at least somewhat reasonabe.. 19:06:31 more reasonable* 19:06:40 although swiftforth comes with some really neat demos 19:07:04 but what do I know 19:08:34 I use gforth, which some consider a crime against humanity, but ¯\_(ツ)_/¯ 19:09:18 lol. That's gnu forth right? 19:09:25 mhm 19:09:43 The only gnu software I prefer to actually use is emacs 19:09:58 but I use plenty of gnu software every day 19:15:19 --- join: wa5qjh (~quassel@175.158.225.197) joined #forth 19:15:20 --- quit: wa5qjh (Changing host) 19:15:20 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 19:15:57 --- join: wa5qjh_ (~Thunderbi@freebsd/user/wa5qjh) joined #forth 19:17:08 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:91e0:cbca:ffde:a0f4) joined #forth 19:36:28 reepca: i often met postpone , what it use for? 19:37:13 "perform compile-time action of this word when this code is executed" 19:38:17 : foo postpone + ; 19:38:28 : bar [ foo ] ; 19:38:35 2 3 bar . => 5 19:39:02 but it's mostly used with immediate words 19:39:40 for example, if I wanted to define a word 2literal that compiled 2 literals, I would want to define it in terms of literal, but literal is immediate. 19:40:27 another example is replacing THEN with ENDIF : endif postpone then ; immediate 19:46:03 you mean compile the word followed? 19:47:48 sort of 19:50:08 and i am always interesting of how they implement immediate mode? 19:50:20 is there an inner register which indicate that? 19:50:51 immediate mode is only considered at compile-time, so it's just stored with the header of the word. 19:51:40 so what will compiler do when it recognized a imediate word? 19:51:49 execute it 19:52:13 so he invoke a intepreter or just execute it by himself? 20:07:55 --- join: dys (~dys@tmo-107-55.customers.d1-online.com) joined #forth 20:14:02 --- quit: mnemnion (Remote host closed the connection) 20:14:33 --- join: mnemnion (~mnemnion@71.198.73.193) joined #forth 20:19:21 --- quit: mnemnion (Ping timeout: 252 seconds) 20:21:37 the exact mechanism by which a word is executed varies from implementation to implementation, but in ITC it would fetch the contents of the cell pointed to by the XT and jump to it. 20:27:59 --- quit: proteusguy (Remote host closed the connection) 20:45:11 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:91e0:cbca:ffde:a0f4) joined #forth 20:47:01 --- quit: wa5qjh_ (Read error: Connection reset by peer) 20:49:55 --- quit: wa5qjh (Read error: No route to host) 20:57:06 --- join: qwebirc85929 (5396475d@gateway/web/freenode/ip.83.150.71.93) joined #forth 21:14:25 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 21:21:08 --- quit: reepca (Ping timeout: 248 seconds) 21:24:13 --- join: Bunny351 (~Bunny351@p4FD2D274.dip0.t-ipconnect.de) joined #forth 21:26:33 --- quit: Uniju (Ping timeout: 260 seconds) 21:28:18 --- join: Uniju (~frog_styl@cpe-74-78-4-232.mass.res.rr.com) joined #forth 21:44:06 --- join: leaverite (~quassel@175.158.225.207) joined #forth 21:44:06 --- quit: leaverite (Changing host) 21:44:06 --- join: leaverite (~quassel@freebsd/user/wa5qjh) joined #forth 22:00:10 --- quit: qwebirc85929 (Ping timeout: 260 seconds) 22:14:47 ok 22:15:10 it looks like with the recently rise of iot device, forth has a big chance to rerise 22:21:17 --- quit: Uniju (Ping timeout: 240 seconds) 22:26:56 --- quit: dzho (Ping timeout: 240 seconds) 22:27:17 --- join: djinni (~djinni@68.ip-149-56-14.net) joined #forth 22:27:56 --- quit: djinni_ (Ping timeout: 240 seconds) 22:28:10 --- quit: Chef_Gromboli (Quit: Leaving) 22:28:35 --- join: dzho (~dzho@tsuga.etrumeus.com) joined #forth 22:54:25 --- join: smokeink (~smoke@59.53.67.234) joined #forth 22:54:30 --- join: smokeink_ (~smoke@59.53.67.234) joined #forth 22:55:11 --- quit: smokeink_ (Remote host closed the connection) 22:55:15 --- quit: smokeink (Remote host closed the connection) 22:55:30 --- join: smokeink (~smoke@171.36.224.245) joined #forth 23:27:32 --- join: reepca (~user@208.89.170.230) joined #forth 23:47:38 --- quit: leaverite (Read error: Connection reset by peer) 23:48:01 --- quit: dys (Ping timeout: 240 seconds) 23:49:22 --- quit: wa5qjh (Read error: Connection reset by peer) 23:55:37 --- quit: mnemnion (Remote host closed the connection) 23:55:54 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:91e0:cbca:ffde:a0f4) joined #forth 23:59:59 --- log: ended forth/17.09.13