00:00:00 --- log: started forth/13.01.19 00:34:24 --- quit: bjorkintosh (Remote host closed the connection) 00:35:11 --- join: epicmonkey (~epicmonke@188.134.41.175) joined #forth 00:35:11 --- mode: ChanServ set +v epicmonkey 00:41:59 --- join: anannie (~chatzilla@unaffiliated/anannie) joined #forth 00:41:59 --- mode: ChanServ set +v anannie 01:09:08 --- quit: john_metcalf (Read error: Connection reset by peer) 01:09:14 --- join: impomatic (~john_metc@211.67.125.91.dyn.plus.net) joined #forth 01:09:14 --- mode: ChanServ set +v impomatic 01:26:24 --- join: schmx_ (~marcus@c83-254-190-169.bredband.comhem.se) joined #forth 01:26:24 --- mode: ChanServ set +v schmx_ 01:28:48 --- nick: schmx_ -> schmx 01:28:55 --- quit: schmx (Changing host) 01:28:56 --- join: schmx (~marcus@sxemacs/devel/schme) joined #forth 01:28:56 --- mode: hubbard.freenode.net set +v schmx 02:26:40 --- join: JDat (~JDat@89.248.91.5) joined #forth 02:26:40 --- mode: ChanServ set +v JDat 02:27:30 --- quit: JDat (Client Quit) 04:11:32 --- join: MayDaniel (~MayDaniel@unaffiliated/maydaniel) joined #forth 04:11:32 --- mode: ChanServ set +v MayDaniel 04:36:04 --- part: anannie left #forth 04:44:14 --- quit: Nisstyre-laptop (Read error: Operation timed out) 05:01:07 --- quit: Bahman (Remote host closed the connection) 05:04:58 --- quit: ASau (Ping timeout: 245 seconds) 05:17:48 --- join: fantazo (~fantazo@213.129.230.10) joined #forth 05:17:48 --- mode: ChanServ set +v fantazo 06:06:34 --- join: Onionnion|Eee (~ryan@adsl-68-254-165-254.dsl.milwwi.ameritech.net) joined #forth 06:06:34 --- mode: ChanServ set +v Onionnion|Eee 06:23:44 --- quit: tgunr (Ping timeout: 240 seconds) 06:24:54 --- join: tgunr (~davec@cust-66-249-166-11.static.o1.com) joined #forth 06:24:54 --- mode: ChanServ set +v tgunr 07:01:22 --- quit: epicmonkey (Remote host closed the connection) 07:01:44 --- join: epicmonkey (~epicmonke@188.134.41.175) joined #forth 07:01:44 --- mode: ChanServ set +v epicmonkey 07:30:28 --- quit: Onionnion|Eee (Ping timeout: 252 seconds) 07:55:41 --- quit: tgunr (Quit: I'm outta here) 08:12:09 --- join: I440r (~zhiming@150.sub-70-194-67.myvzw.com) joined #forth 08:12:09 --- mode: ChanServ set +o I440r 08:18:12 --- join: Onionnion (~ryan@adsl-68-254-165-254.dsl.milwwi.ameritech.net) joined #forth 08:18:12 --- mode: ChanServ set +v Onionnion 08:39:41 --- quit: epicmonkey (Ping timeout: 252 seconds) 08:46:50 --- join: ncv (~quassel@89.35.216.197) joined #forth 08:46:50 --- quit: ncv (Changing host) 08:46:50 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 08:46:50 --- mode: ChanServ set +v ncv 08:55:06 --- quit: tangentsleep (Read error: Operation timed out) 09:03:10 --- join: tangentsleep (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 09:03:10 --- mode: ChanServ set +v tangentsleep 09:26:43 --- nick: tangentsleep -> tangentstorm 09:45:49 --- quit: I440r (Remote host closed the connection) 09:51:36 --- quit: ncv (Read error: Operation timed out) 10:01:03 --- quit: proteusguy (Remote host closed the connection) 10:12:40 --- join: ncv (~quassel@89.35.216.197) joined #forth 10:12:40 --- quit: ncv (Changing host) 10:12:40 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 10:12:40 --- mode: ChanServ set +v ncv 10:18:21 --- quit: ncv (Remote host closed the connection) 10:28:52 --- join: JDat (JDat@89.248.91.5) joined #forth 10:28:52 --- mode: ChanServ set +v JDat 10:33:45 --- quit: JDat () 10:33:53 --- join: JDat (JDat@89.248.91.5) joined #forth 10:33:53 --- mode: ChanServ set +v JDat 10:35:13 --- join: tgunr (~davec@cust-66-249-166-11.static.o1.com) joined #forth 10:35:13 --- mode: ChanServ set +v tgunr 10:43:39 --- quit: fantazo (Ping timeout: 256 seconds) 11:08:53 --- join: epicmonkey (~epicmonke@188.134.41.175) joined #forth 11:08:53 --- mode: ChanServ set +v epicmonkey 11:48:51 --- quit: karswell (Read error: Operation timed out) 12:11:26 --- quit: tgunr (Ping timeout: 252 seconds) 12:14:45 --- join: tgunr (~davec@cust-66-249-166-11.static.o1.com) joined #forth 12:14:45 --- mode: ChanServ set +v tgunr 12:22:03 --- quit: swiley (Ping timeout: 245 seconds) 12:25:40 --- quit: tgunr (Ping timeout: 248 seconds) 12:28:21 --- join: tgunr (~davec@cust-66-249-166-11.static.o1.com) joined #forth 12:28:22 --- mode: ChanServ set +v tgunr 12:42:44 --- quit: epicmonkey (Ping timeout: 248 seconds) 12:47:09 --- join: I440r (~zhiming@150.sub-70-194-67.myvzw.com) joined #forth 12:47:09 --- mode: ChanServ set +o I440r 12:54:10 --- quit: tgunr (Quit: Nity nite) 13:33:02 --- join: _spt_ (~in@host-92-12-211-216.as43234.net) joined #forth 13:33:02 --- quit: _spt_ (Changing host) 13:33:02 --- join: _spt_ (~in@unaffiliated/-spt-/x-5624824) joined #forth 13:33:02 --- mode: ChanServ set +v _spt_ 13:40:34 --- quit: MayDaniel (Read error: Connection reset by peer) 13:57:25 --- join: MayDaniel (~MayDaniel@unaffiliated/maydaniel) joined #forth 13:57:25 --- mode: ChanServ set +v MayDaniel 13:58:35 --- nick: tangentstorm -> tangentaway 14:21:25 --- quit: MayDaniel (Read error: Connection reset by peer) 14:23:07 --- quit: kulp (Ping timeout: 260 seconds) 14:27:19 --- join: kulp (~kulp@unaffiliated/kulp) joined #forth 14:27:19 --- mode: ChanServ set +v kulp 14:33:04 --- nick: tangentaway -> tangentstorm 14:50:56 --- join: ncv (~quassel@89.35.216.197) joined #forth 14:50:56 --- quit: ncv (Changing host) 14:50:56 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 14:50:56 --- mode: ChanServ set +v ncv 14:57:00 --- join: protist (~protist@125-237-130-19.jetstream.xtra.co.nz) joined #forth 14:57:00 --- mode: ChanServ set +v protist 14:57:48 --- quit: JDat () 15:12:53 --- join: JDat (JDat@89.248.91.5) joined #forth 15:12:53 --- mode: ChanServ set +v JDat 15:17:52 --- quit: JDat () 15:31:31 --- quit: Onionnion (Quit: Leaving) 15:44:55 --- join: kumul (~Kumool@173.215.194.228) joined #forth 15:44:55 --- mode: ChanServ set +v kumul 16:01:17 --- part: _spt_ left #forth 16:09:48 --- quit: protist (Ping timeout: 244 seconds) 16:43:00 --- join: tgunr (~davec@cust-66-249-166-11.static.o1.com) joined #forth 16:43:00 --- mode: ChanServ set +v tgunr 17:00:38 --- join: protist (~protist@125-237-130-19.jetstream.xtra.co.nz) joined #forth 17:00:38 --- mode: ChanServ set +v protist 17:04:53 --- join: ASau (~user@46.115.124.122) joined #forth 17:04:53 --- mode: ChanServ set +v ASau 18:05:17 --- quit: kumul (Quit: Leaving) 18:08:00 --- quit: ncv (Remote host closed the connection) 18:19:26 --- join: spoofer (~cruella@72.10.28.164) joined #forth 18:19:26 --- mode: ChanServ set +v spoofer 18:24:35 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 18:24:35 --- mode: ChanServ set +v Nisstyre-laptop 18:28:54 --- join: PoppaVic (~pops@unaffiliated/poppavic) joined #forth 18:28:54 --- mode: ChanServ set +v PoppaVic 18:30:13 --- part: PoppaVic left #forth 18:32:46 --- join: ASau` (~user@46.115.121.150) joined #forth 18:32:46 --- mode: ChanServ set +v ASau` 18:35:30 --- quit: ASau (Ping timeout: 244 seconds) 19:49:22 --- join: IAmHere (~IAmHere@c-75-70-11-91.hsd1.co.comcast.net) joined #forth 19:49:23 --- mode: ChanServ set +v IAmHere 20:18:07 --- join: RodgerTheGreat (~rodger@71-13-215-242.dhcp.mrqt.mi.charter.com) joined #forth 20:18:07 --- mode: ChanServ set +v RodgerTheGreat 20:18:38 hey everybody 20:19:57 hey RodgerTheGreat 20:20:05 what's up, tangentstorm? 20:20:56 working on this oberon07 compiler still. i've got a good start on a test suite and am now going to try compiling it to haxe 20:21:04 and after that: retroforth :) 20:26:12 --- quit: I440r (Ping timeout: 252 seconds) 20:27:08 hello to the forth folks, have not seen much here in the past few years. Glad there are folks online! 20:31:09 Glad to be here. :) 20:31:19 Wish I had something more immediately forthy to report. :) 20:32:26 no worries, forth is old, and new, and good and always going to be around. 20:32:44 at least in my lifetime. 20:36:13 a collection of ideas about programming can't go "obsolete" 20:37:32 a language of words can, and that is what forth is, the idea of a TIL is not likely to go away. 20:37:54 I do doubt the words of forth will go away either, but it could. 20:38:11 so I agree, in large part with you. 20:40:37 I think the biggest thing that killed forth on the desktop was the standardization of commodity architectures. When you hardly ever have to bring up a new system and your machines are fast, the benefits of a system you can write from scratch in a weekend are less valuable 20:41:07 things today seem to grow mostly by slow accretion 20:42:45 and many tasks we want to do with computers seem to have levels of irreducible complexity which require large teams of programmers to collaborate, diminishing the value of cleverness in code relative to code which an average programmer can grok 20:43:31 languages like forth will always be a secret weapon for hackers 20:44:02 Was forth ever a mainstream language? 20:44:42 I kind of had the impression it's always been off to the sidelines... 20:45:34 based on my readings it was close to mainstream during the micro revolution but lost steam relative to BASIC 20:46:26 I think people who program microcontrollers will keep forth alive for a long time 20:46:50 MCU-targeting C compilers are probably the worst commercial compilers in existence 20:47:10 unless we're counting Adobe software 20:47:56 well, my compiler's pretty crummy too at the moment :) 20:48:24 betcha it doesn't cost two grand 20:49:03 nope... closer to $0 :) 20:49:26 bingo 20:50:44 --- join: I440r (~zhiming@150.sub-70-194-67.myvzw.com) joined #forth 20:50:45 --- mode: ChanServ set +o I440r 20:50:59 i think there's definitely something that's been lost for people trying to learn programming now. 20:51:15 it's hard to have the experience of "just you and the machine" 20:52:23 I've been making little VM-based programming environments that work sort of like a freshly powered-up C64 20:52:36 :) 20:52:41 like my Logo and I also have a BASC environment 20:52:56 kids seem to have fun with them 20:53:12 that's kind of what drew me to retro: direct control over the ports, complete access to ram... 20:53:39 are your VMs online somewhere, RodgerTheGreat ? 20:53:58 well it 20:54:03 forth was big in the early days of home computers. 20:54:07 is mostly VM, singular 20:54:08 https://github.com/JohnEarnest/Mako 20:54:21 It was never mainstream, just 'big' in that it was alternative to ASM and really was killed by BASIC and C 20:54:28 you'll need javac and ant to build it or if you have java installed I can roll a jar for you 20:54:29 RPN is not something the mainstream consumes. 20:54:57 Its enginerd stuff, and for embedded systems early on, and to some extent today via C cross compilers, it works for many applications. 20:55:11 Its fast, the runtime is small and clean, and so it works for that mostly well. 20:55:12 the relevant educational environment things are https://github.com/JohnEarnest/Mako/tree/master/demos/Loko and https://github.com/JohnEarnest/Mako/tree/master/demos/Masica 20:56:23 I also have a forth one but it's flaky and I need to revisit it 21:05:38 tangentstorm: thoughts 21:09:31 RodgerTheGreat: sorry, was reading your code. very interesting stuff. 21:09:42 oh, thanks 21:13:19 i'm working on a programming course/language that starts with virtual machine code and works all the way up to a language like haskell, doing video games all along the way 21:13:39 that's pretty neat 21:13:48 i actually started by teaching some game programming in processing too. 21:13:56 ( looking at your processing code here ) 21:14:21 http://www.gamesketchlib.org/ 21:14:38 processing is overall pretty good but using it to teach several classes has exposed some really goofy things that they get wrong 21:15:23 it is extremely irritating that they wrap Java error messages with their own different-looking error messages which convey no additional information 21:18:59 Where is the forth interpreter in this codebase? 21:19:15 it is here: https://github.com/JohnEarnest/Mako/blob/master/demos/Editor/MakoDE.fs 21:19:27 unless you mean the forth system used to compile everything 21:19:43 that would be Maker: https://github.com/JohnEarnest/Mako/blob/master/src/Maker.java 21:20:07 it is not strictly speaking a forth so much as an assembler which closely resembles a forth 21:21:49 yeah... i'm very interested in bootstrapping 21:23:01 I guess using Maker to write MakoDE (which has proper forth features like immediate mode calculation and defining words) is a good example of that 21:23:18 I just dimly remember MakoDE having many bugs 21:23:24 never really hammered on it hard 21:23:25 :) 21:23:41 Loko and Masica are moderately childproof 21:23:57 Loko in particular I think is very well-hardened 21:24:28 https://github.com/sabren/b4/blob/master/b4a/b4asm <- one of my various attempts at an assembler. that one's in perl. 21:24:53 you feed this into it: https://github.com/sabren/b4/blob/master/b4a/ngaro.b4a 21:26:31 I was just looking at that 21:27:44 it's not finished... i was trying to do everything in a single pass, which is fun, but way too hard 21:28:23 what i decided to do instead was to have a visual representation of the vm, where you could just type machine code directly into ram 21:29:24 and then present it as a series of exercises, following the bootstrapping method here: http://www.colorforth.com/POL.htm 21:30:14 under "9. programs that bootstrap" 21:30:53 I found this series very intriguing but sadly it seems to have been abandoned: http://code.google.com/p/scheme-from-scratch/wiki/SchemeFromScratchLog 21:31:21 I think that going from assembly straight to a scheme-like language is rather misguided though 21:31:42 assembly -> forth is quite easy and forth can be used to build functional languages 21:32:05 --- quit: spoofer (Quit: Leaving) 21:32:06 --- quit: kulp (Read error: Connection reset by peer) 21:32:11 tangentstorm: did you see that other tiny compiler I made a few days ago? 21:32:23 was it IsForth? 21:32:31 no 21:32:33 https://github.com/JohnEarnest/Mako/blob/master/demos/FiDo.fs 21:32:59 it's an infix procedural language implemented in 139 lines of forth (plus some libraries) 21:33:09 is this GCL? 21:33:29 tangentstorm: uh? 21:34:00 the name of the language. It's from dijkstra's book... Is it Guarded Command Language? 21:34:33 I don't recall him referring to it as such but it does use guarded commands 21:34:37 it looks like it, from what I know of GCL 21:34:47 then yes this is a subset of GCL 21:35:22 it's funny, i was just telling someone about that today, because oberon07 has a control structure just like DO..OD 21:35:46 I do really like the orthogonality of do...od and if...fi 21:35:50 https://github.com/nickelsworth/noct/blob/master/test/given/T22WhileElsif.mod 21:36:34 that code's obviously messy, but it print ABC... it's just a test case for the compiler 21:36:46 why don't you need a semicolon at the end of line 8 21:37:41 actually the ones on line 7 and 9 shouldn't be there, but the other compiler i'm testing with is forgiving and i didn't notice they were there 21:38:07 in pascal / oberon , the ; is a separator, not a terminator 21:38:19 yeah I'm familiar with that convention 21:38:32 but most compilers let you use it as a terminator because otherwise it's really annoying :) 21:38:39 GCL and its progenitor ALGOL work like that 21:38:50 well, most compilers allow the empty statement 21:39:00 which allows you to pretend it is a terminator 21:39:06 yeah 21:39:59 dijkstra and wirth were collaborators on all kinds of things, including being on the algol working group together 21:42:09 Well thanks for showing me this stuff. I need to get back to my compiler here, but I'm going to have to go through your repo in detail before too long. you have some pretty cool stuff here :) 21:42:19 :D 21:42:28 it's always nice to be appreciated 21:42:35 I hope you find something useful 21:43:25 are you a teacher/professor by profession? 21:43:58 I'm a PhD student. I occasionally teach classes and I've done a number of summer courses and after-school programs for kids 21:44:35 I'm very interested in language design and observing beginners gives a particularly interesting lens on how beginners form mental models of programming 21:46:05 * tangentstorm used to teach little kids to read. 21:46:22 Were you in summerbridge/breakthrough collaborative by any chance? 21:46:22 basically the same idea 21:46:28 nope 21:46:40 I am not familiar with that 21:47:08 its just a summer program where high school and college students teach middle school kids 21:47:43 i did it one summer many years ago 21:47:49 ( as a teacher ) 21:48:14 my university has an extensive series of summer youth programs and they generally recruit grad students to design and teach courses 21:48:51 anyway. I do need to get back to work here. but i will definitely talk to you again soon. nice to meet you. :) 21:48:57 the first year I did it they handed me a one-paragraph course description (essentially "make video games in java") with a week's notice and I flew by the seat of my pants 21:49:02 likewise 21:49:04 --- nick: tangentstorm -> tangentaway 21:49:08 --- join: Bahman (~Bahman@92.98.51.175) joined #forth 21:49:08 --- mode: ChanServ set +v Bahman 21:49:09 haha :) later. 21:54:52 RodgerTheGreat: I found out that some of my young students who were turned off by programming with mainstream languages fell in love with it via Prolog. 21:55:04 hunh 21:55:17 so far the most glowing response I've seen has been to BASIC 21:55:39 for several kids who were having trouble understanding nested structure, line numbers instantly "clicked" 21:56:05 then if you simply allow them to write some spaghetti code they learn on their own and in a concrete fashion why structured programming is valuable 21:56:28 --- join: rabenauge (~sag@i59F6CA3.versanet.de) joined #forth 21:56:28 --- mode: ChanServ set +v rabenauge 21:57:15 my favorite moments are when the students realize there is a deficiency in the language they are working with, articulate it, and then I can introduce a new language or concept 22:14:50 --- join: Onionnion (~ryan@adsl-68-254-165-254.dsl.milwwi.ameritech.net) joined #forth 22:14:50 --- mode: ChanServ set +v Onionnion 22:22:35 --- quit: rabenauge (Ping timeout: 260 seconds) 22:31:29 --- join: proteusguy (~proteusgu@ppp-58-8-111-219.revip2.asianet.co.th) joined #forth 22:31:29 --- mode: ChanServ set +v proteusguy 22:41:22 --- quit: Onionnion (Quit: Leaving) 23:03:24 --- quit: RodgerTheGreat (Quit: RodgerTheGreat) 23:04:30 --- quit: proteusguy (Remote host closed the connection) 23:59:59 --- log: ended forth/13.01.19