00:00:00 --- log: started forth/17.01.28 00:25:28 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 00:25:44 --- quit: mnemnion (Remote host closed the connection) 00:27:45 --- quit: I440r (Ping timeout: 240 seconds) 00:31:26 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:9ca9:1a14:e16d:aa72) joined #forth 00:35:55 --- quit: mnemnion (Ping timeout: 255 seconds) 01:58:54 --- quit: wa5qjh (Ping timeout: 258 seconds) 02:06:05 --- join: wa5qjh (~Thunderbi@121.54.90.152) joined #forth 02:13:44 --- quit: wa5qjh (Remote host closed the connection) 02:14:10 it seems I forgot x86 assembly :-( 02:16:02 --- join: wa5qjh (~Thunderbi@121.54.90.152) joined #forth 03:14:52 --- join: GeDaMo (~GeDaMo@212.225.112.221) joined #forth 03:54:21 seems like that should warrant a smiley face 04:06:18 x86 is, uh, not the greatest 04:06:27 it's not horrible, though 04:49:30 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 04:51:58 --- quit: Zarutian (Read error: Connection reset by peer) 04:53:38 well, considering I want to bootstrap a Forth on x86, I'm not happy about it :-> 04:53:43 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 04:54:58 z0d: you've read jonesforth, right? 04:55:24 yeah, I'll probably return to it 04:57:13 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 05:15:09 --- quit: wa5qjh (Remote host closed the connection) 05:59:14 --- join: nopnop (~jjn@179.233.219.99) joined #forth 06:06:20 just keep in mind that half of it is wrong 06:07:08 and there are other parts of it that aren't even very good x86. wasted instructions moving shit through registers were he could have addressed the memory directly and stuff 06:07:32 I haven't read all of it but mark4's x4 is probably a better reference 06:10:31 it's written in nasm though, so if you're targetting gas you'll have to figure out how to translate 06:16:21 --- quit: karswell (Read error: Connection reset by peer) 06:16:59 --- join: karswell` (~user@58.209.208.46.dyn.plus.net) joined #forth 06:17:35 no, I don't really like AT&T syntax 06:17:41 I could never learn it properly 06:29:38 --- join: newuser|32871 (59d257c9@gateway/web/cgi-irc/kiwiirc.com/ip.89.210.87.201) joined #forth 06:35:36 --- quit: newuser|32871 (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 06:41:18 I can go either way tbh 06:42:00 I can see arguments for and against both of them 06:42:16 nasm complains about mov es:[di], ax 06:51:08 might just be mov [di], ax 06:51:27 I said I could go either way but honestly I haven't used nasm in ages, and I'm not sure I ever used it for 16-bit code 07:07:58 --- join: mnemnion (~mnemnion@71.198.73.193) joined #forth 07:13:03 --- quit: mnemnion (Ping timeout: 276 seconds) 07:16:31 --- quit: beretta (Quit: Leaving) 08:19:43 --- join: sdfsdf (4633a82b@gateway/web/freenode/ip.70.51.168.43) joined #forth 08:19:48 Forth looks... neat? 08:19:51 Also scary. 08:28:04 sdfsdf: well, kind of :-) 08:28:29 the interesting bit is not what the language looks like written down, but how it works internally 08:28:51 It's a bit scary 08:29:36 I want to learn it though as its so straight forward looking 08:30:05 sdfsdf: well, it's best to start with how it works 08:30:20 sdfsdf: Forth is mostly written in Forth 08:30:26 I saw that 08:30:30 Its self bootstrapped? 08:30:57 pretty much 08:31:00 you know what a linked list is?@ 08:31:59 ~ 08:33:13 you write a dozen or so simple words in assembler 08:33:36 the clever bit is that you have a word NEXT, which keeps track of where in the list you are, and jumps to the next word 08:34:28 once you've got some basic arithmetic and memory manipulation words in, and some stack maniupulation words, you can write the rest of it in terms of those words 08:34:43 So 08:34:55 1 * 4 A 08:35:04 Would put 4 Into A 08:35:17 no 08:35:17 I might be mixing forth up with a different language 08:35:21 not quite 08:35:39 it uses a stack for parameters 08:36:08 you don't really use variables much, not in the same way you do in languages like for example C 08:36:38 So how would I keep track of things 08:38:05 they're unnamed values on a stack 08:38:09 well, variables are used a bit differently, maybe you'd use them to identify something like a particular IO port in a bit of hardware 08:38:26 you'd put values onto the stack, and operations take them off the stack and leave a result there instead 08:38:34 zy]x[yz: [fear intensifies] 08:38:57 there's nothing to be afraid of. it can't hurt you 08:39:08 it does take some getting used to, though 08:39:20 it can affect your perception of lesser languages though 08:40:31 sdfsdf, turns out if you write your program in a certain wait, value-passing is just noise, and if you make it implicit you can write some incredibly terse but expressive things 08:40:42 s/wait/way/ 08:41:16 that's the idea, anyway. I'm still struggling a bit to get to where my forth programs actually read well 08:41:32 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:7562:ab36:f43e:6e8f) joined #forth 08:45:57 --- quit: mnemnion (Ping timeout: 255 seconds) 08:59:34 --- quit: sdfsdf (Quit: Page closed) 09:10:24 --- join: ricky_ricardo (~rickyrica@2601:240:4203:ecb0:2cdb:bd5e:b40e:34c1) joined #forth 09:33:39 --- quit: ricky_ricardo (Ping timeout: 255 seconds) 09:35:57 I was going to say to sdfsdf that stack images help out when you are first starting out. 09:48:32 --- join: I440r (~mark4@138-229-170-157.dhcp.ftwo.tx.charter.com) joined #forth 10:29:49 --- quit: neceve (Quit: Konversation terminated!) 11:12:20 --- join: mnemnion (~mnemnion@71.198.73.193) joined #forth 11:20:53 --- join: ricky_ricardo (~rickyrica@2601:240:4203:ecb0:2cdb:bd5e:b40e:34c1) joined #forth 11:43:29 --- quit: nopnop (Read error: Connection reset by peer) 11:54:06 --- join: mtsd (~mtsd@customer-46-39-122-235.stosn.net) joined #forth 12:00:21 --- quit: ricky_ricardo (Ping timeout: 255 seconds) 12:00:26 --- quit: dys (Remote host closed the connection) 12:20:04 an input method for Forth using something like NES or SNES gamepad: beside char selection screens there is also a screen that lists the words in the dictionary so one can just select the one which you desire. Might want also most recently used screen. 12:36:41 --- quit: mtsd (Quit: Lost terminal) 12:47:37 --- join: dys (~dys@ip-109-44-1-147.web.vodafone.de) joined #forth 13:01:04 --- quit: dys (Remote host closed the connection) 13:01:30 --- join: dys (~dys@ip-109-44-1-147.web.vodafone.de) joined #forth 13:45:06 --- join: ricky_ricardo (~rickyrica@2601:240:4203:ecb0:2cdb:bd5e:b40e:34c1) joined #forth 13:52:08 --- quit: GeDaMo (Remote host closed the connection) 14:08:40 --- quit: ricky_ricardo (Remote host closed the connection) 14:25:17 --- join: wa5qjh (~Thunderbi@121.54.90.152) joined #forth 15:50:13 sounds tedious 15:55:21 --- quit: true-grue (Read error: Connection reset by peer) 16:07:33 zy]x[yz: not as tedious as writing a word by selecting each character one by one 16:08:18 could be a bit like tab completion such as in some shells 17:04:17 --- quit: Zarutian (Quit: Zarutian) 17:05:42 --- quit: wa5qjh (Remote host closed the connection) 17:08:08 --- join: wa5qjh (~Thunderbi@121.54.90.152) joined #forth 17:56:28 --- join: cale2 (62c00dd2@gateway/web/freenode/ip.98.192.13.210) joined #forth 18:06:56 --- part: cale2 left #forth 18:38:51 --- join: rgrinberg (~rgrinberg@24-246-56-85.cable.teksavvy.com) joined #forth 18:42:21 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 19:22:29 could implement a user-driven binary search so that all you need are 2 buttons to be able to select words. Selecting from 1k words would then take at most 10 presses. 19:26:41 just don't make a mistake 19:34:47 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 19:38:36 --- quit: ACE_Recliner (Ping timeout: 276 seconds) 20:01:37 --- quit: wa5qjh (Remote host closed the connection) 20:40:06 --- quit: rgrinberg (Ping timeout: 240 seconds) 21:18:19 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 21:51:08 --- join: wa5qjh (~Thunderbi@121.54.90.152) joined #forth 22:45:25 --- quit: wa5qjh (Ping timeout: 258 seconds) 23:08:57 does gforth have a non-destructive stack print command? 23:23:51 .s 23:25:30 which is in ans 23:28:32 koisoke, thanx. I had my interpreter in a funk so it didn't find it. :) 23:59:59 --- log: ended forth/17.01.28