00:00:00 --- log: started forth/13.01.28 00:01:37 --- join: Nisstyre_ (~yours@oftn/member/Nisstyre) joined #forth 00:02:21 --- quit: Nisstyre (Disconnected by services) 00:02:31 --- nick: Nisstyre_ -> Nisstyre 00:02:59 --- quit: Nisstyre-laptop (Ping timeout: 240 seconds) 00:16:07 --- quit: Nisstyre (Ping timeout: 276 seconds) 00:30:03 --- join: Nisstyre (~yours@oftn/member/Nisstyre) joined #forth 00:45:36 --- quit: I440r (Remote host closed the connection) 01:31:38 --- join: JDat (JDat@89.248.91.5) joined #forth 01:32:00 --- join: epicmonkey (~epicmonke@188.134.41.175) joined #forth 02:28:59 crc: the discussion the other day with protist and RodgertheGreat about Cheney's algorithm got me thinking about garbage collection in retro 02:30:01 i wound up writing a rather long article about it... not sure if it's corehent or not, but: https://github.com/sabren/b4/blob/master/blog/lp.a-heap-was-a-tree.md ... ( reddit: http://www.reddit.com/r/learnprogramming/comments/17f87j/once_upon_a_time_a_heap_was_a_tree/ ) 03:34:43 --- quit: proteusguy (Remote host closed the connection) 03:35:05 --- join: kbmaniac (~dave@host86-182-38-231.range86-182.btcentralplus.com) joined #forth 03:36:00 --- quit: dTal (Read error: Connection reset by peer) 03:36:07 --- join: dTal (~dtal@195.171.211.214) joined #forth 03:46:48 --- join: proteusguy (~proteusgu@ppp-115-87-215-106.revip4.asianet.co.th) joined #forth 03:49:15 --- join: karswell (~user@93-97-29-243.zone5.bethere.co.uk) joined #forth 03:49:52 --- quit: epicmonkey (Ping timeout: 245 seconds) 03:57:00 --- join: ASau` (~user@176.3.4.117) joined #forth 03:58:17 --- quit: ASau (Ping timeout: 252 seconds) 04:05:36 tangentstorm: Do you want an explanation of CAR/CDR? 04:06:20 sure! :) 04:06:38 Come with me in the Wayback Machine to the 1950s. 04:06:47 The hot computer generally known at the time was the IBM 704. 04:06:55 A 36-bit machine. 04:07:00 groovy 04:07:20 These words were divided into four parts. 04:07:25 Address Part. 04:07:30 Decrement Part. 04:07:35 Prefix Part. 04:07:37 Tag Part. 04:07:44 The first two were 15 bits wide. 04:07:50 The second two were 3 bits wide. 04:08:06 huh. 04:08:24 * tangentstorm thinks he is wrong about what CDR stood for. 04:08:32 CAR and CDR were assembler macros for "Contents Of Address Part of Register" and "Contents Of Decrement Part of Register". 04:08:42 It was just an encoding hack. 04:09:31 So a single cons cell could fit into a single register location. 04:09:59 makes sense 04:10:05 With the CAR portion pointing to the head value of a list and the CDR portion pointing to the head of the following list. 04:10:29 i don't know where I got the idea that it was "contents of data register"... probably because i think of a cons cell as an address + some data 04:10:55 There's a lot of inaccurate folklore around CAR/CDR. 04:11:11 what were the tag and prefix meant to be used for? 04:11:33 Don't know. I never really worked on a 704. 04:11:44 It's part of the 704's ISA is all I know. 04:12:26 I'd guess (and this is a wild-ass guess) that the tag portion was used for types in some way. 04:12:32 I have no idea what the prefix part would be used for. 04:12:36 Interesting. 8 possible values each... I wonder if it was for a sort of typed pointer? 04:13:57 there's a lisp called picolisp for x86 that uses typed pointers. 04:14:23 everything in picolisp is a cons cell, so the pointers are always updated in increments of 8 bytes 04:14:39 so it uses the last 3 bits to encode the type of the data being pointed to 04:15:15 I'm digging up some IBM 704 manuals here to see what the word divisions were used for. 04:15:53 Ah. 04:16:10 There's also three specialized 15-bit decrement registers. 04:16:24 The tag field was used to specify which one(s) were to be applied to the instruction. 04:17:12 The prefix was the instruction ID for the "type A" instructions. 04:18:37 "Ed Thorp also used the IBM 704 as a research tool, investigating the probabilities of winning while developing his blackjack gaming theory." 04:18:55 The 704 was the supercomputer of its day. 04:19:03 -- http://en.wikipedia.org/wiki/IBM_704 ... Thorp was the guy that invented card counting. :) 04:19:58 vacuum tubes, too... :) 04:20:08 Yep. 04:20:21 Wait until you read about magnetic drums.... 04:20:39 thanks for setting me straight on the CAR/CDR thing. 04:20:55 www.quadibloc.com/comp/cp0309.htm 04:20:59 you have a web page/twitter/github i can link to? 04:21:10 There's a better explanation of how the words were divided in the 704. 04:21:26 And not yet, no. 04:21:37 I'm working on my personal web site, but it's slow work, mostly because I hate HTML. :) 04:22:39 Oh, wait. 04:22:45 I guess you could link to my txt.io. ;) 04:22:57 http://www.txt.io/ttmrichter 04:24:34 awesome. thanks! 04:25:03 * tangentstorm used to have a blog but let the domain expire... one of these days i'll get it all back on tangentstorm.com 04:27:28 This was my intro to computing the hard way around: http://en.wikipedia.org/wiki/LGP-30 04:27:42 As in an influential uncle of mine worked on one of those and let me play on it. :) 04:29:24 whoah. that's pretty cool. :) 04:31:20 No, THIS is cool: http://www.youtube.com/watch?v=7WaYYNUCWMY 04:36:35 It's always convenient having a computer run so slowly you can see the instructions execute. :) 04:42:59 yes, it really is 04:43:35 in my course, i plan to use a very visual vm with little animations 04:44:48 https://twitter.com/i/#!/tangentstorm/media/slideshow?url=pic.twitter.com%2FKKjlwl8z <- "the turist" 04:45:52 it'll make a lot more sense when its animated... 04:47:15 --- quit: proteusguy (Ping timeout: 264 seconds) 04:53:57 Are you going to show the different VM implementation possibilities? 04:55:45 --- quit: Bahman (Read error: Connection reset by peer) 05:00:28 --- join: epicmonkey (~epicmonke@host-224-58.dataart.net) joined #forth 05:02:31 --- quit: kbmaniac (Ping timeout: 252 seconds) 05:03:47 i don't know 05:04:46 i think i will probably discuss different options, and there will be a series of assignments that have you add things to the vm over time 05:05:35 so the students will be coding a vm to a spec, but hopefully they will learn how it works and be able to experiment with other options 07:13:24 * tangentstorm just added a line-editor with bash-style keybindings for the pascal version of retroforth 07:42:28 --- join: Bahman (~Bahman@bba527082.alshamil.net.ae) joined #forth 07:47:46 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 08:13:37 --- quit: JDat (Ping timeout: 256 seconds) 08:23:15 --- quit: protist (Ping timeout: 256 seconds) 08:45:06 --- join: proteusguy (~proteusgu@ppp-115-87-215-106.revip4.asianet.co.th) joined #forth 09:26:46 --- nick: kulp -> curt 09:27:56 --- nick: curt -> kulp 09:37:14 --- join: MayDaniel (~MayDaniel@unaffiliated/maydaniel) joined #forth 10:00:59 --- join: kumool (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 10:03:25 --- quit: kumul (Ping timeout: 260 seconds) 10:16:38 --- nick: ASau` -> ASau 10:26:14 --- join: JDat (JDat@89.248.91.5) joined #forth 10:42:10 --- quit: Bahman (Quit: ave atque vale) 10:59:25 --- quit: epicmonkey (Ping timeout: 260 seconds) 11:04:58 --- join: I440r (~zhiming@147.sub-70-194-130.myvzw.com) joined #forth 11:04:59 --- mode: ChanServ set +o I440r 11:09:38 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 11:44:20 --- quit: tgunr (Ping timeout: 260 seconds) 11:46:27 --- join: RodgerTheGreat (~rodger@71-13-215-242.dhcp.mrqt.mi.charter.com) joined #forth 11:48:40 --- join: tgunr (~davec@cust-66-249-166-11.static.o1.com) joined #forth 12:01:03 --- quit: proteusguy (Ping timeout: 264 seconds) 12:08:51 --- join: epicmonkey (~epicmonke@188.134.41.176) joined #forth 13:00:59 --- join: kbmaniac (~dave@host86-182-38-231.range86-182.btcentralplus.com) joined #forth 13:12:55 --- quit: kbmaniac (Ping timeout: 256 seconds) 13:28:13 --- quit: kumool (Ping timeout: 256 seconds) 14:02:13 --- quit: nighty^ (Ping timeout: 256 seconds) 14:20:36 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 14:40:13 --- quit: JDat () 14:41:20 --- quit: malyn (Quit: Caught sigterm, terminating...) 15:03:05 --- join: Onionnion (~ryan@adsl-68-254-167-191.dsl.milwwi.ameritech.net) joined #forth 15:12:53 --- quit: Inode (Ping timeout: 255 seconds) 15:29:40 --- quit: ncv (Remote host closed the connection) 15:29:54 --- join: protist (~protist@125-237-130-19.jetstream.xtra.co.nz) joined #forth 15:35:51 --- quit: I440r (Ping timeout: 276 seconds) 15:40:15 --- quit: Plazma (Remote host closed the connection) 15:40:23 --- join: Plazma (~Plazma@freenode/staff/plazma) joined #forth 15:44:20 --- quit: protist (Ping timeout: 252 seconds) 15:45:41 --- join: protist (~protist@125-237-130-19.jetstream.xtra.co.nz) joined #forth 15:48:03 --- quit: MayDaniel (Read error: Connection reset by peer) 16:59:50 --- quit: epicmonkey (Ping timeout: 252 seconds) 17:03:58 --- quit: protist (Ping timeout: 240 seconds) 17:14:53 --- quit: kumul (Ping timeout: 256 seconds) 17:16:42 --- join: I440r (~zhiming@147.sub-70-194-130.myvzw.com) joined #forth 17:16:42 --- mode: ChanServ set +o I440r 17:27:45 --- join: kumul (~Kumool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 19:09:55 --- join: kbmaniac (~dave@host86-182-38-231.range86-182.btcentralplus.com) joined #forth 19:29:25 --- quit: kbmaniac (Quit: Konversation terminated!) 19:38:48 --- join: kbmaniac (~dave@host86-182-38-231.range86-182.btcentralplus.com) joined #forth 20:45:41 --- quit: kbmaniac (Ping timeout: 256 seconds) 20:48:02 --- join: Bahman (~Bahman@86.98.18.206) joined #forth 20:55:11 --- join: Serg_Penguin (~Serg_Peng@178.176.142.131) joined #forth 20:56:23 --- part: Serg_Penguin left #forth 21:11:14 --- quit: kumul (Read error: Connection reset by peer) 21:37:49 --- quit: I440r (Ping timeout: 256 seconds) 21:46:42 --- join: proteusguy (~proteusgu@ppp-58-8-105-197.revip2.asianet.co.th) joined #forth 21:49:26 --- join: I440r (~zhiming@36.sub-70-194-128.myvzw.com) joined #forth 21:49:26 --- mode: ChanServ set +o I440r 21:57:47 --- join: malyn (~malyn@unaffiliated/malyn) joined #forth 22:01:18 --- quit: I440r (Ping timeout: 276 seconds) 22:13:44 --- join: I440r (~zhiming@36.sub-70-194-128.myvzw.com) joined #forth 22:13:44 --- mode: ChanServ set +o I440r 22:18:13 --- quit: Onionnion (Quit: Leaving) 22:21:27 --- quit: proteusguy (Ping timeout: 264 seconds) 22:30:50 --- quit: RodgerTheGreat (Quit: RodgerTheGreat) 22:41:28 --- join: protist (~protist@222.153.223.105) joined #forth 22:43:31 --- quit: protist (Client Quit) 22:50:42 --- join: proteusguy (~proteusgu@180.183.51.66) joined #forth 22:52:21 --- quit: I440r (Ping timeout: 245 seconds) 23:05:25 --- join: I440r (~zhiming@36.sub-70-194-128.myvzw.com) joined #forth 23:05:25 --- mode: ChanServ set +o I440r 23:34:11 --- quit: I440r (Ping timeout: 252 seconds) 23:46:43 --- join: I440r (~zhiming@36.sub-70-194-128.myvzw.com) joined #forth 23:46:43 --- mode: ChanServ set +o I440r 23:59:59 --- log: ended forth/13.01.28