00:00:00 --- log: started forth/17.09.11 00:23:05 --- quit: rtmanpages (Ping timeout: 246 seconds) 00:46:59 --- join: proteusguy (~proteus-g@14.207.6.252) joined #forth 00:46:59 --- mode: ChanServ set +v proteusguy 01:07:12 --- quit: reepca (Remote host closed the connection) 01:07:41 --- join: reepca (~user@208.89.170.250) joined #forth 01:27:56 --- quit: dys (Ping timeout: 240 seconds) 01:40:32 --- nick: wa5qjh -> leverite 01:40:38 --- nick: leaverite -> wa5qjh 01:51:15 --- join: dys (~dys@2003:5b:203b:100:6af7:28ff:fe06:801) joined #forth 02:17:01 --- quit: mnemnion (Remote host closed the connection) 02:30:12 --- join: rtmanpages (~rtmanpage@100.sub-174-204-11.myvzw.com) joined #forth 02:46:49 --- quit: rtmanpages (Ping timeout: 240 seconds) 03:09:17 --- quit: nighty- (Quit: Disappears in a puff of smoke) 03:32:27 --- quit: proteusguy (Remote host closed the connection) 04:15:09 --- join: proteusguy (~proteus-g@2405:9800:bc10:1ca:295a:9ba0:1ce4:ee16) joined #forth 04:15:09 --- mode: ChanServ set +v proteusguy 04:54:09 --- join: rtmanpages (~rtmanpage@135.sub-174-204-21.myvzw.com) joined #forth 05:20:37 --- join: nighty- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 05:35:54 --- quit: wa5qjh (Remote host closed the connection) 05:35:54 --- quit: leverite (Remote host closed the connection) 06:18:55 --- quit: nighty- (Quit: Disappears in a puff of smoke) 06:44:09 How would one normally extract numbers out of bits (e.g. bit vectors) 06:45:19 and and shift, in either order 06:45:33 that is, "and" and "shift", not "and and shift" 06:54:22 lol 06:54:30 I suppose. That seems kinda slow 06:54:38 wait no, no 06:54:44 because I can and a bitmask on the whole cell 06:54:59 yeah that's perfect! 07:59:46 --- quit: groovy2shoes (Quit: Leaving) 08:32:00 --- join: MrBusiness (~ArcMrBism@2602:306:8325:a300:ed13:48ef:9aef:2a7) joined #forth 09:32:01 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:a8e3:e633:5cc9:cc25) joined #forth 09:36:43 --- quit: mnemnion (Ping timeout: 264 seconds) 09:43:26 --- quit: zignig (Ping timeout: 240 seconds) 09:43:34 --- join: zignig (~zignig@bl3dr.com) joined #forth 10:27:27 --- quit: dys (Ping timeout: 246 seconds) 11:36:57 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:a5ad:9469:a818:8629) joined #forth 11:41:27 --- quit: mnemnion (Ping timeout: 252 seconds) 11:57:24 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:a5ad:9469:a818:8629) joined #forth 12:46:01 --- join: mykespb (~myke@213.141.133.133) joined #forth 13:15:51 --- join: MrBismuth (~ArcMrBism@2602:306:8325:a300:ed13:48ef:9aef:2a7) joined #forth 13:17:01 --- join: crc_ (sid2647@gateway/web/irccloud.com/x-kiofzlgmjgijuwmh) joined #forth 13:20:40 --- join: jeremyheiler_ (sid81469@gateway/web/irccloud.com/x-mshlhhpkurkoypca) joined #forth 13:24:28 --- quit: ZombieChicken (*.net *.split) 13:24:28 --- quit: MrBusiness (*.net *.split) 13:24:29 --- quit: pointfree1 (*.net *.split) 13:24:29 --- quit: jeremyheiler (*.net *.split) 13:24:29 --- quit: crc (*.net *.split) 13:24:42 --- nick: jeremyheiler_ -> jeremyheiler 13:33:29 --- join: pointfree1 (pointfreem@gateway/shell/matrix.org/x-xlqgrhwizmpdcgyr) joined #forth 13:33:58 --- quit: zy]x[yz (Read error: Connection reset by peer) 13:43:47 --- join: dys (~dys@tmo-106-16.customers.d1-online.com) joined #forth 14:15:50 --- join: ZombieChicken (~weechat@gateway/tor-sasl/forgottenwizard) joined #forth 15:18:57 --- quit: mykespb (Remote host closed the connection) 15:26:08 --- quit: dys (Ping timeout: 260 seconds) 16:35:55 --- join: Chef_Gromboli (~Chef_Grom@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 17:24:27 --- join: djinni_ (~djinni@68.ip-149-56-14.net) joined #forth 17:25:37 --- quit: ZombieChicken (Ping timeout: 248 seconds) 17:27:18 --- quit: djinni (Quit: Leaving) 17:27:27 --- join: ZombieChicken (~weechat@gateway/tor-sasl/forgottenwizard) joined #forth 17:42:02 --- join: nighty- (~nighty@kyotolabs.asahinet.com) joined #forth 18:21:54 So I wonder, if I wanted to invent a new type of number that I could punch in as a literal, for example, if I wanted to be able tp type in something like FOO BAR 123E-6 BIZBAZ 18:22:35 would that be something relatively easy to do, considering it's so easy to mess with some of the ways Forth does some things? 18:23:32 I could do something like 123E-6 456E9 E+ and E+ would be some adding word for it to add them together 18:27:24 --- join: wa5qjh (~Thunderbi@freebsd/user/wa5qjh) joined #forth 18:27:39 I mean there is FLITERAL, so I wonder how I could trick it to use a new type of literal when I typed it 18:28:32 maybe I would use POSTPONE and redefine LITERAL to call the old one? 18:36:21 I also kinda wonder is thats how s" Foo" works 18:37:55 How is the number encoded? If it can fit in one cell, you may as well just use LITERAL anyway. 18:39:54 I am just wondering hypothetically. But to keep it simple I was thinking of single cell numbers 18:43:40 --- join: the_count (d181b4fc@gateway/web/freenode/ip.209.129.180.252) joined #forth 18:44:00 --- part: the_count left #forth 18:44:04 --- join: the_count (d181b4fc@gateway/web/freenode/ip.209.129.180.252) joined #forth 18:44:32 I've been looking at Jonesforth, and wondering how is forth run inline with assembly? 18:50:48 --- part: the_count left #forth 18:51:39 --- join: the_count (~the_count@209.129.180.252) joined #forth 18:53:07 Hello! I was just looking at Jonesforth, and wondering how forth can be run inline with assembly? It seems like after a certain point, it will just run 19:06:20 --- quit: wa5qjh (Remote host closed the connection) 19:21:42 the_count: you know I noticed something really cool about an inline assembler in forth the other day 19:22:03 What's that? 19:22:24 somebody just made forth words that each just placed the opcodes on the stack 19:22:43 run a bunch of em and it'd all pack it into some place in memory for execution later from the dictionary 19:22:44 nifty 19:22:52 so you could have like 19:23:05 : NOP (whatever opcode that is) ; 19:23:29 the problem is it gets hairier with address modes 19:23:46 because a single mneumonic has multiple opcodes in most cpus 19:24:20 How can you just compile the assembler with your forth code at the end of it, and your forth will run? 19:24:52 I don't know much about assembly, but I'm trying to learn... But struggling for good recources 19:25:52 I would assume it'd depend on your forth implementation. most low level forth implementations have an inline assembler from what I understand 19:26:18 Is naming them just executing them? I'm missing something simple, I think 19:29:01 https://github.com/nornagon/jonesforth/blob/master/jonesforth.S // line 380 Is it built on assembly macros, or what? 19:31:26 lot of times I see it called CODE 19:31:54 What do you mean? 19:32:33 http://amforth.sourceforge.net/TG/recipes/Assembler.html 19:32:34 kinda like that 19:32:45 though I'm sure it's extremely forth implementation specific 19:32:48 and unportable 19:33:13 you just kinda use CODE to write assembly code and from there you can call it from forth 19:33:25 If you look at the end of the asm source file, it says that you can place your forth code there... I'm not sure how that part works... It seems like the forth would run on top of the assembler, but it looks like it runs with it 19:34:14 I didn't look very hard but I saw _start and a label for docol 19:34:29 which, from that I sorta figured it was an implementation of forth 19:34:46 so at the bottom I'd figure that's where he wants to you extend the implementation with your own assembly? 19:34:49 ill look again 19:35:21 It says you can begin writing forth code there 19:35:25 I see 19:35:56 Does that make sense? 19:36:50 heh a lot of it is here https://github.com/nornagon/jonesforth/blob/master/jonesforth.f 19:37:03 it doesn't mean you can just randomly write forth code in the assembly file.. 19:37:16 that'd be weird. 19:37:36 It says, "I used to append this here in the assembly file, but I got sick of fighting against gas's 19:37:36 crack-smoking (lack of) multiline string syntax. So now that is in a separate file called 19:37:36 jonesforth.f" 19:37:54 So it can be togather 19:38:09 s/togather/together 19:48:59 FatalNIX: What do you think? 19:49:35 that is a good indication to not append forth code to the assembly 19:49:36 XD 19:51:10 True... But I'm wondering how it could work in the first place... 19:51:41 I have a feeling that is the answer to my question about how you can make a language in assembly 19:59:17 why wouldn't you be able to make a language in assembly? 20:23:11 No, I meant how it works... I know you can, I'm just trying to understand how it works 20:32:40 assembly is like a bridge to higher level languages 20:33:16 under the hood, it' all just cpu opcodes anyways 20:33:26 and then transistors if it doesn't go through microcode first 20:33:48 * reepca mumbles something about electrons 20:34:54 the_count: I find forth super powerful. know why? there are teo things in Forth I've found so far. 20:34:58 words and numbers 20:35:23 and in a computer, everything can be represented as numbers 20:35:40 thi includes letters 20:36:08 in Forth you're really just throwing numbers around. not surprisingly, assembly or C isn't much different 20:36:11 --- quit: the_count (Ping timeout: 246 seconds) 20:36:14 in that aspect 20:36:45 --- join: the_count (~the_count@209.129.180.252) joined #forth 20:37:07 --- quit: the_count (Read error: Connection reset by peer) 21:00:58 --- quit: Bunny351 (Ping timeout: 260 seconds) 21:13:50 --- mode: ChanServ set +v crc_ 21:14:00 --- nick: crc_ -> crc 21:15:01 --- mode: ChanServ set +o crc 21:24:01 --- join: Bunny351 (~Bunny351@p4FD2D83E.dip0.t-ipconnect.de) joined #forth 21:35:58 --- quit: bavier (Ping timeout: 260 seconds) 21:41:11 --- join: bavier (~bavier@msp-nat.cray.com) joined #forth 22:03:12 --- join: smokeink (~smoke@59.53.67.231) joined #forth 22:08:24 --- quit: Chef_Gromboli (Quit: Leaving) 22:16:10 --- join: dys (~dys@tmo-123-98.customers.d1-online.com) joined #forth 22:39:43 --- quit: reepca (Ping timeout: 264 seconds) 23:19:17 --- quit: proteusguy (Ping timeout: 246 seconds) 23:24:43 --- quit: smokeink (Quit: leaving) 23:31:02 --- join: proteusguy (~proteus-g@2405:9800:bc10:1ca:295a:9ba0:1ce4:ee16) joined #forth 23:31:02 --- mode: ChanServ set +v proteusguy 23:59:59 --- log: ended forth/17.09.11