00:00:00 --- log: started forth/15.05.08 00:52:20 --- quit: aksatac (Quit: Connection closed for inactivity) 01:18:20 --- join: proteusguy (~proteusgu@49.230.101.182) joined #forth 01:18:20 --- mode: ChanServ set +v proteusguy 01:30:12 --- join: protist (~javery@129.237.69.111.dynamic.snap.net.nz) joined #forth 01:33:43 --- quit: tsumetai (Ping timeout: 276 seconds) 01:34:48 --- quit: scoofy (Remote host closed the connection) 01:44:06 --- join: tsumetai (x@unaffiliated/tsumetai) joined #forth 02:36:32 --- join: aksatac (uid12717@gateway/web/irccloud.com/x-lmyauskzglnatpam) joined #forth 02:46:06 --- join: true-grue (~grue@95-27-130-32.broadband.corbina.ru) joined #forth 02:58:49 --- quit: proteusguy (Remote host closed the connection) 02:59:10 --- quit: atommann (Quit: Leaving) 03:29:55 --- join: GeDaMo (~GeDaMo@dyn-62-56-110-241.dslaccess.co.uk) joined #forth 03:32:54 --- quit: tsumetai (Ping timeout: 244 seconds) 03:38:38 --- quit: ErhardtMundt (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 04:12:27 --- join: tsumetai (x@unaffiliated/tsumetai) joined #forth 04:16:19 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 04:37:51 --- join: scoofy (~scoofy@catv-89-135-80-2.catv.broadband.hu) joined #forth 05:33:18 --- quit: tsumetai (Ping timeout: 240 seconds) 05:36:32 --- join: tsumetai (x@unaffiliated/tsumetai) joined #forth 05:38:29 --- join: karswell (~user@121.41.200.146.dyn.plus.net) joined #forth 05:48:46 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 06:04:37 --- join: ErhardtMundt (~kvirc@93-43-89-145.ip91.fastwebnet.it) joined #forth 06:23:08 --- quit: saml_ (Remote host closed the connection) 06:23:48 --- quit: karswell (Ping timeout: 272 seconds) 06:24:16 --- join: mnemnion (~mnemnion@2601:9:4300:438:4c24:4165:c239:14c1) joined #forth 07:33:18 --- quit: tsumetai (Ping timeout: 240 seconds) 07:34:21 --- join: tsumetai` (x@unaffiliated/tsumetai) joined #forth 07:40:20 --- quit: darkf (Quit: Leaving) 07:40:42 --- quit: protist (Quit: Konversation terminated!) 07:58:27 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 08:08:25 --- join: proteusguy (~proteusgu@49.230.101.182) joined #forth 08:08:25 --- mode: ChanServ set +v proteusguy 08:09:25 --- quit: proteusguy (Max SendQ exceeded) 08:10:17 --- join: proteusguy (~proteusgu@49.230.101.182) joined #forth 08:10:17 --- mode: ChanServ set +v proteusguy 08:12:20 --- quit: aksatac (Quit: Connection closed for inactivity) 08:14:43 --- join: pointfree-w530 (~awagner@c-73-142-162-42.hsd1.ma.comcast.net) joined #forth 09:33:31 --- quit: tsumetai` (Ping timeout: 245 seconds) 09:34:29 --- join: johnmark_ (~johnmark@c-73-51-235-57.hsd1.il.comcast.net) joined #forth 09:34:52 --- nick: johnmark_ -> JohnMarkM 09:54:18 --- quit: proteusguy (Remote host closed the connection) 10:17:27 --- quit: ErhardtMundt (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 10:19:40 --- join: karswell (~user@21.191.113.87.dyn.plus.net) joined #forth 10:55:48 --- join: vsg1990_ (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 10:58:18 --- quit: vsg1990 (Ping timeout: 240 seconds) 11:10:54 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 11:15:01 if I have a (n-save) with the following interface : 11:15:01 << value-n, ..., value-1, address, n -- >> 11:15:01 which value should be saved under address ? value-n or value-1 ? 11:17:26 I would say value-1 11:17:38 Actually, I wrote a similar word, let me check what it does 11:18:32 Yeah, I think it's easier to write from stack top to bottom 11:20:13 This is mine 11:20:14 : !# ( x1 .. xn a n -- ) 0 do tuck ! cell+ loop drop ; 11:25:09 GeDaMo: I also have a (n-fetch) 11:25:09 << address, n -- value-1, ..., value-n >> 11:25:09 so, if one of them is easier to implement 11:25:09 another one will get harder to implement 11:25:12 [they are both easy, "harder" just in a relative sense] 11:25:27 : @# ( a n -- x1 .. xn ) tuck 1- cells + swap 0 11:25:27 do dup @ swap [ 1 cells ] literal - loop drop ; 11:26:08 Ah, that reads backwards in memory 11:27:58 Now that I look at it, there's probably a nicer way of doing that 11:29:41 --- join: bedah (~bedah@dyndsl-037-138-053-225.ewe-ip-backbone.de) joined #forth 11:36:24 --- join: ErhardtMundt (~kvirc@93-43-89-145.ip91.fastwebnet.it) joined #forth 11:36:35 I view this interface as a problem only when I try to implement a new version of (define-variable) in my little language. 11:36:35 I wish the following syntax works : 11:36:35 : *123* 11:36:35 1 2 3 11:36:38 ; define-variable 11:36:41 but, if the (n-save) is as the above one 11:36:44 then, what under the address of the variable *123* would be 3 instead of 1 11:36:49 xyh! 11:37:18 ErhardtMundt: :) 11:38:50 I have just created a subreddit for my lang ^-^ :: http://www.reddit.com/r/CicadaLanguage/ 11:39:41 cool 11:51:35 --- join: Mat4 (~quassel@ip188619bb.dynamic.kabel-deutschland.de) joined #forth 11:51:40 hi all 11:55:13 Hi Mat4 :) 11:55:23 hi GeDaMo 11:55:53 I'm working on some documentation *again* 11:56:19 how detailled should a specification sheed be ? 11:56:30 Somebody in another channel designed a simple processor so I wrote an assembler for it in Forth 11:56:44 nice ! 11:57:14 is there anything abozt that project online ? 11:57:18 CPU: https://bitbucket.org/linuxlalala/nopcpu/src assembler: https://ideone.com/HUprPk 11:57:19 (It's /very/ simple :P) 11:59:03 probably I oversee something but are there only 6 operation codes ? 11:59:32 sorry, seven 11:59:34 There are 9 11:59:37 Er, 10 11:59:46 Lines 14 to 16 define them 12:00:04 right 12:00:58 quite minimalistic 12:01:22 It only took 10 minutes to write :D 12:01:54 this remind me on some experimental processor designs which reduce instruction count to four 12:02:51 I'm doing a course on Coursera at the moment called Nand 2 Tetris which involves building a simple computer 12:03:23 ah, I have stduied the homepage yesterday 12:03:31 ^studied 12:04:02 do you know my spare time project ? 12:04:26 I don't think so 12:05:04 http://www.13rhinos.de/Berana.pdf 12:07:07 please take in mind that the english translation is still somewhat whimsical and I need to add some instruction descriptions 12:07:17 what does ISA denotes in "Generic ISA" ? 12:07:38 Could be Instruction Set Architecture 12:07:46 Instruction-set architecture 12:08:26 I have a somewhat tested logic schematic for a hardware implementation 12:08:28 --- join: tsumetai` (x@unaffiliated/tsumetai) joined #forth 12:08:47 but, what architecture is not "Instruction-seted" ? 12:09:22 micro code based designs for example 12:11:06 http://en.wikipedia.org/wiki/One_instruction_set_computer :D 12:11:43 or: http://en.wikipedia.org/wiki/No_instruction_set_computing 12:15:27 GeDaMo: What do you think about it ? 12:19:00 my idea is to declare a general applicative ISA as immediate code representation which is executable within minimal runtime environments on different targets (like a special designed CPU for example) 12:21:00 Is the address stack the same as the return stack or something else? 12:22:12 there are two independent stacks, a data and an address stack 12:23:00 Yes, but is the address stack the return stack? 12:23:10 yes 12:24:29 hm, I think this means the translation need to be corrected again 12:24:43 I keep meaning to design a virtual machine with whole array operations as primitives 12:30:40 that's possible in my design though execution of micro loops. For this a word width of 64 bits allows up to 16 instructions to be fused 12:32:25 I'm talking about something like for (i = 0 ... ) a[i] = b[i] + c[i]; as a single instruction 12:32:36 I know, let me explain: 12:33:54 LI #0100 0200 0300 0400 LI #1A10 1B10 1C10 1D10 ADD 12:33:55 Ah, is it something like Chuck's chips with packed instructions? 12:34:36 yes and no, my design execute instruction combinations 8up to 16 per word for 64 bit) 12:34:44 brb 12:35:02 I mean in one cycle 12:35:07 (or iteration) 12:35:14 But you still have to dispatch each of those micro instructions? 12:41:03 --- quit: vsg1990_ (Quit: Leaving) 13:03:24 eh no 13:03:54 Mat4: XOR is short for 'exclusive or' not 'extended or' 13:04:43 the complete operation code (all instruction combinations) are buffered inclusive there immediate parameters. Execution is done dynamical for units of instruction combinations 13:05:29 GeDaMo: exclusive or 13:07:36 ^ths can be done though a PLA for example (albeit the finer details of its configuration and unit ombination is very sophisticated) 13:07:46 combination 13:08:24 PLA? 13:09:16 programmable logic array. See the design of the 6502 CPU as simple example 13:09:28 Ah 13:11:14 if you are creative and forget what you've learned in university its possible to fuse sequential instruction sequences and execute them as single, combined instruction 13:11:35 :) 13:12:19 an alternative would be a (gate intense) pipeline architecture (a barrel design for example) 13:14:10 however second approach increase latency and cylce count for subroutine branches (or even more overhead for branch detection circuits) 13:14:34 the drawback of first approach is a wider cycle time 13:15:36 In my opinion this is a minor issue compared to the overhead for pipeline based designs 13:16:52 because the lesser complexity should enable higher clock cycles. In addition such design is efficient implementable asynchron 13:18:22 so execution time depends directly on the instruction sequence (which is of advantage because most sequences tend to combine basic instructions with less complexity) 13:18:59 --- quit: ASau (Remote host closed the connection) 13:19:36 --- join: ASau (~user@176.4.20.7) joined #forth 13:20:12 you see, I have some fun with that project 13:21:16 :) 13:22:54 sorry with higher clock cycles I mean higher tact? rates 13:24:55 ok, I will spend some time preparing a git repro (I have an software implementation and simulator which need some work) 13:25:18 * Mat4 hops his explanations are understandable 13:25:34 --- nick: Mat4 -> Mat4-work 13:31:53 "x" in "xor" used to stand for "exclusive" rather than "extended". 13:32:16 It still stands for exclusive 13:32:19 Some really archaic architectures used "or" and "ior" where "i" stood for "inclusive". 13:33:46 --- quit: tsumetai` (Ping timeout: 256 seconds) 13:35:14 'eor' <- e like exclusive is also known as mnemonic 13:35:42 I seem to remember that too. 13:36:34 Yeah, I've seen that 13:56:18 --- quit: GeDaMo (Remote host closed the connection) 14:22:17 --- quit: mnemnion (Remote host closed the connection) 14:38:57 --- join: tsumetai (x@unaffiliated/tsumetai) joined #forth 14:49:20 --- quit: bedah (Remote host closed the connection) 15:24:31 --- quit: true-grue (Read error: Connection reset by peer) 15:30:33 --- join: mnemnion (~mnemnion@c-24-23-168-196.hsd1.ca.comcast.net) joined #forth 15:32:20 --- join: tsumetai` (x@unaffiliated/tsumetai) joined #forth 15:34:03 --- quit: tsumetai (Ping timeout: 265 seconds) 15:42:40 --- nick: Mat4-work -> Mat4 16:19:38 --- quit: xyh (Remote host closed the connection) 16:31:46 --- quit: pointfree-w530 (Quit: leaving) 16:49:52 --- quit: Mat4 (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 17:16:06 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 17:20:27 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 17:32:24 --- join: tsumetai (x@unaffiliated/tsumetai) joined #forth 17:34:12 --- quit: tsumetai` (Ping timeout: 264 seconds) 17:38:54 --- join: saml__ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 17:41:22 --- quit: saml__ (Client Quit) 17:42:52 --- quit: JohnMarkM (Ping timeout: 272 seconds) 17:48:50 --- join: JohnMarkM (~johnmark@c-73-51-235-57.hsd1.il.comcast.net) joined #forth 18:36:46 --- quit: ASau (Remote host closed the connection) 18:37:04 --- join: ASau (~user@176.4.20.7) joined #forth 19:05:59 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 19:12:18 --- quit: karswell (Ping timeout: 240 seconds) 19:12:58 --- join: karswell` (~user@21.191.113.87.dyn.plus.net) joined #forth 19:34:23 --- quit: tsumetai (Ping timeout: 264 seconds) 19:36:00 --- quit: ASau (Remote host closed the connection) 19:36:18 --- join: ASau (~user@176.4.20.7) joined #forth 19:54:59 --- join: darkf_ (~darkf___@unaffiliated/darkf) joined #forth 19:57:03 --- quit: darkf (Disconnected by services) 19:57:04 --- nick: darkf_ -> darkf 20:16:22 --- quit: JohnMarkM (Quit: Leaving) 20:39:11 --- quit: ASau (Remote host closed the connection) 20:39:29 --- join: ASau (~user@176.4.20.7) joined #forth 21:20:36 --- quit: saml_ (Quit: Leaving) 23:59:59 --- log: ended forth/15.05.08