00:00:00 --- log: started forth/13.02.25 01:49:31 --- quit: nighty__ (Quit: Disappears in a puff of smoke) 02:07:33 --- join: nighty^ (~nighty@tin51-1-82-226-147-104.fbx.proxad.net) joined #forth 02:36:18 --- quit: epicmonkey (Ping timeout: 255 seconds) 02:42:39 --- join: epicmonkey (~epicmonke@91.247.221.56) joined #forth 04:17:06 --- quit: Nisstyre (Ping timeout: 255 seconds) 04:31:07 --- join: Nisstyre (~yours@oftn/member/Nisstyre) joined #forth 04:35:29 --- quit: epicmonkey (Ping timeout: 252 seconds) 04:50:03 --- join: epicmonkey (~epicmonke@91.247.221.54) joined #forth 05:05:55 --- quit: epicmonkey (Ping timeout: 252 seconds) 05:12:08 --- join: epicmonkey (~epicmonke@91.247.221.54) joined #forth 06:13:45 --- join: cataska` (~user@210.64.6.233) joined #forth 06:15:35 --- quit: cataska (Ping timeout: 252 seconds) 07:00:39 --- quit: epicmonkey (Remote host closed the connection) 07:13:47 --- join: epicmonkey (~epicmonke@91.247.221.54) joined #forth 07:48:24 --- quit: DocPlatypus (Read error: Connection reset by peer) 07:58:06 --- join: Tod-Work (~thansmann@host-25.pl1071005.fiber.net) joined #forth 08:01:55 --- quit: epicmonkey (Ping timeout: 252 seconds) 08:55:55 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 09:18:31 --- join: kumool (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 09:19:20 --- quit: kumul (Ping timeout: 256 seconds) 09:44:07 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 09:46:32 --- quit: kumool (Ping timeout: 256 seconds) 09:46:51 --- join: kumool (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 09:48:44 --- quit: kumul (Ping timeout: 246 seconds) 09:49:29 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 09:52:39 --- quit: kumool (Ping timeout: 252 seconds) 09:53:52 --- join: kumool (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 10:11:13 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 10:13:44 --- quit: kumool (Ping timeout: 256 seconds) 10:20:38 --- join: kumool (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 10:22:43 --- quit: kumul (Ping timeout: 252 seconds) 10:27:29 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 10:29:41 --- quit: kumool (Ping timeout: 246 seconds) 10:47:30 --- join: kumool (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 10:49:38 --- quit: kumul (Ping timeout: 246 seconds) 11:34:31 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 11:37:03 --- quit: kumool (Ping timeout: 276 seconds) 12:56:42 --- quit: kumul (Read error: Connection reset by peer) 13:07:27 --- join: JDat (JDat@89.248.91.5) joined #forth 13:11:34 --- join: epicmonkey (~epicmonke@77.122.91.146) joined #forth 13:30:42 --- quit: epicmonkey (Remote host closed the connection) 13:30:58 --- join: epicmonkey (~epicmonke@77.122.91.146) joined #forth 13:32:53 --- join: Onionnion (~ryan@adsl-68-254-168-12.dsl.milwwi.ameritech.net) joined #forth 13:37:19 --- quit: ncv (Remote host closed the connection) 13:44:26 --- join: RodgerTheGreat (~rodger@71-13-215-142.dhcp.mrqt.mi.charter.com) joined #forth 14:03:59 --- join: ncv (~quassel@92.83.227.80) joined #forth 14:03:59 --- quit: ncv (Changing host) 14:03:59 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 14:22:11 --- quit: epicmonkey (Read error: Operation timed out) 14:44:40 --- quit: ncv (Remote host closed the connection) 14:49:12 --- join: kumul (~mool@76.26.237.95) joined #forth 15:18:16 --- quit: kumul (Ping timeout: 245 seconds) 15:31:02 --- quit: JDat () 15:50:01 --- quit: Tod-Work (Quit: Leaving) 15:55:43 --- quit: Onionnion (Quit: Leaving) 16:01:14 --- join: kumul (~mool@c-76-26-237-95.hsd1.fl.comcast.net) joined #forth 16:36:37 --- quit: kumul (Ping timeout: 272 seconds) 16:51:29 --- join: kumul (~mool@76.26.237.95) joined #forth 18:29:08 --- join: protist (~protist@110.225.69.111.dynamic.snap.net.nz) joined #forth 18:29:42 --- quit: protist (Client Quit) 18:32:06 --- join: I440r (~zhiming@114.sub-70-195-64.myvzw.com) joined #forth 18:32:06 --- mode: ChanServ set +o I440r 18:34:37 kulp: just found http://tenyr.info/ . neat!! 18:35:20 I have an FPGA: http://papilio.cc/index.php?n=Papilio.Hardware 18:36:08 is it possible to put your HDL version on that? 18:36:31 (i have no idea how to use it yet :/) 18:47:09 --- join: sw2wolf (~czsq888@222.209.242.146) joined #forth 18:48:57 --- part: sw2wolf left #forth 18:53:06 That tenyr is a sweet little architecture. 18:54:02 that's a nice landing page, kulp 18:54:05 hadn't seen that 19:00:11 hey there ttmrichter, RodgerTheGreat ... :) 19:00:21 'sup, tangentstorm? 19:01:58 RodgerTheGreat: can you remind me where in the mako repository you were bootstrapping the core part of the forth interpreter? 19:02:31 uh you mean the forth interpreter used in Forth Warrior? 19:02:36 I've written several 19:02:48 or do you mean the forth compiler I use to build mako memory images 19:03:28 i meant the main one for mako i guess 19:04:09 well there is the "Maker" target compiler: https://github.com/JohnEarnest/Mako/blob/master/src/Maker.java 19:06:37 no... 19:06:40 hmm... 19:06:50 * tangentstorm checks his weechat logs 19:07:13 https://github.com/JohnEarnest/Mako/blob/master/games/Warrior2/MakoForth.fs <-? 19:08:24 --- join: Onionnion (~ryan@68.254.168.12) joined #forth 19:15:45 tangentstorm: hehe 19:15:59 tangentstorm: yeah my documentation is horrid 19:16:11 tangentstorm: uh, am I getting any warmer? 19:16:19 ttmrichter: thanks but now my head is too big to fit through the door 19:16:52 it's cool, but register machines. :| 19:17:23 also having a C compiler for the platform is like equal parts cool and sad. 19:17:30 haha 19:17:32 I'm very torn 19:17:45 well i'm going to have a forth finished first 19:17:50 even at my glacial pace 19:18:01 "A whole new world of infinite possibilities stretch out before me- oh I guess I can just run somebody else's C code. Hm." 19:18:14 although the first C compiler will be an LLVM backend. pity LLVM doesn't support word-address computers properly 19:18:32 RodgerTheGreat: if you require that kind of artificial constraint to unleash your creativity then that's your own problem ;) 19:18:49 LLVM doesn't support most things that are not a mainstream architecture 19:19:21 the LLVM tenyr backend will probably always be a big hack 19:19:34 but that may encourage me to better my own compiler, i hope 19:19:50 (see, i do agree with you in principle, re: "I guess I can just run somebody else's C code. 19:19:54 ") 19:20:11 just if I was going to make something as complicated as a C compiler I would strive to do something unique with it 19:20:12 (or maybe in practice) 19:20:21 well i certainly would like to do that 19:20:29 but then it wouldn't be C anymore 19:20:30 but i am barely skilled enough to make one at all 19:21:10 i have, however, already made some nice diagrams from the ASTs, so in theory it could be a didactic compiler with nice introspection support 19:21:24 not to toot my own horn or anything but when dudes were telling me I should have an infix systems programming language for my VM I made a language that's like "what if C had no type system, rather than just a crummy one" 19:21:25 but in practice my C is terribly unamenable to teaching. 19:21:30 and I learned some things from that 19:21:39 neat :) 19:21:42 what was it called 19:21:46 Stroyent 19:21:56 oh right 19:22:17 there's some code examples in the manual: https://github.com/JohnEarnest/Mako/tree/master/tools/Stroyent 19:22:39 it generally kinda-sorta looks like C but starts to diverge 19:22:43 RodgerTheGreat: just re-read my old logs... i guess Maker.java is what you showed me before after all... I'm not sure what i was remembering :) 19:22:50 tangentstorm: it should certainly be possible to fit the design on that spartan 3e ; however i still have an issue with my multiplier which means my HDL still needs work. 19:23:01 tangentstorm: maybe a better question is what did you want to see whatever it was for? 19:25:36 kulp: You deserve the head swelling for a unique approach to ISA design. Will that thing fit in a Spartan 6? 19:25:42 RodgerTheGreat: I've been juggling parts of this giant project for months, and am trying to put things online. I just implemented a new assembler for ngaro, and I planned to rewrite the core retro interpreter with that 19:25:55 ... and i just wanted to take another look at what you had done to bootstrap. 19:26:25 ttmrichter: i implemented it in a spartan 6 ; it takes about 25% of the slices 19:26:31 Cool. 19:26:37 everything works except the multiplier, still debugging that 19:26:50 Methinks it's time for me to get serious about picking up FPGA skills then. 19:26:51 i have a VGA block from opencores working, so i can do some vaguely interesting things 19:26:51 kulp: i bought the fpga with the goal of learning how to design circuits, but i have no idea where to start. 19:27:08 tangentstorm: well i had the minuscule advantage of an intro class at uni 19:27:12 but i forgot most of that anyway 19:27:18 :) 19:27:24 i can't really suggest a good place to start, unfortunately 19:27:28 * ttmrichter had that dubious advantage as well, but it has all faded away. 19:27:41 And my classes predated wide use of programmable logic like FPGAs. 19:28:03 * ttmrichter had to implement a 4-bit CPU in TTL. 19:28:14 hehe 19:28:15 I can imagine how a circuit works... i just don't know how to put it on an fpga, or how to not electricute myself/burn out all the equipment when i plug it in :D 19:28:23 a friend of mine did an 8-bit one in TTL on his own 19:28:31 what's TTL? 19:28:32 well i mean, for a class, but as an elective project, i think 19:28:40 transistor-transistor logic 19:28:47 basically he means 74xx series chips 19:28:52 with like three gates to a chip 19:29:14 Yep. 19:29:17 Exactly that. 19:29:50 ttmrichter: completely off topic, but are you by any chance aware of on a prolog system in forth ? 19:29:50 Massive breadboard, wire wrap posts and wire. 19:29:53 (or anybody) 19:30:02 fpgas are actually the only electronics i've really ever gotten working 19:30:12 I've heard rumours of a logic system written in Forth but never stumbled over one, tangentstorm. 19:30:13 maybe because i can bumble along in an editor instead of on a breadboard :( 19:30:31 you're probably thinking of the one chuck moore wrote ? 19:30:37 oh 19:30:38 There's a reason why I stuck with software (albeit fairly low-level software), kulp. 19:30:39 never mind 19:30:44 i didn't see the prolog comment 19:30:50 so i was thinking digital logic. 19:31:16 ttmrichter: yes, same here. i like the low-level stuff, but i like abstractions too. loose ground wires break my comfortable model of the world :) 19:31:52 last time i messed around with an electronics kit, it was all analogue and i popped an LED 19:31:57 analog 19:31:58 The line I drew for most of my career was "if I have to know voltage levels, it's too low-level". 19:33:26 i'd like to be good at electronics. but i am not motivated to start with tiny projects that don't have inherent interest 19:33:34 i am afraid i am losing my drive to learn :( 19:34:09 i want to make robots 19:34:19 like a little robot factory 19:35:37 RodgerTheGreat: i am tempted to implement Stroyent 19:35:54 tell me why i should or should not try. 19:36:40 first i need to pick a language to implement it in, though. why i was so daft as to start my first compiler in C ... 19:38:22 write it in forth :) 19:38:57 * tangentstorm is writing a pascal/oberon compiler in forth. 19:39:37 probably the best language for the job, except maybe lisp/scheme 19:42:35 well i don't think in forth yet 19:42:50 so although it might be objectively a good idea, i would write a terrible terrible implementation 19:42:57 i could conceivably write it in java like RodgerTheGreat did 19:43:12 i haven't touched java since uni 19:43:16 --- quit: kumul (Ping timeout: 245 seconds) 19:43:20 tangentstorm: I want to make quadcopters. 19:43:37 ttmrichter: yeah! that's the kind of robot i was thinking of :) 19:44:06 make quadcopters that make bigger quadcopters 19:44:07 i even have a book on rotary aerodynamics but the math has been too scary to dive into so far :) 19:44:55 ttmrichter: antlr4 will take a grammar and a source file and output an AST that looks like lisp 19:45:14 really easy to hand-parse 19:46:01 the tough part is digging into the tree and doing the semantic checks 19:46:17 but emitting code to do whatever you want is easy 19:46:46 so if you don't mind deferring the tricky stuff in the middle, it's not too hard to get a compiler working 19:46:48 --- join: lazyden (~lazyden@58.185.121.38) joined #forth 19:47:23 if you use forth you can build up forth to look like a vm that closely matches your target language 19:48:05 i started out writing my compiler in java, and just started emitting retroforth code in the templates to try it out 19:48:09 writing a compiler in Forth is a good way to learn more about forth 19:48:43 Stroyent is... I dunno, I always thought it was sort of an ugly, inflexible way of doing things I could just as easily do in Forth 19:48:48 i have a pascal-like compiler in forth '79 that someone wrote in 1983 19:48:48 it's a lot more regular than C 19:49:09 there are some places where lacking a type system is rather inconvenient when working with something like C 19:49:11 plus RodgerTheGreat's pask stuff 19:49:21 which remember I never finished 19:49:27 What is Stroyent? 19:49:33 c-- 19:49:35 Stroyent is sort of BCPL on acid 19:49:41 Ah. 19:49:47 So why not just use BCPL if you want it? 19:49:49 it's C without a type system or preprocessor 19:49:57 actually c-- is a real language that is also C without a type system or preprocessor. :) 19:50:01 because I was implementing it from scratch for a custom VM 19:50:10 so there was really no need to conform to an existing standard 19:50:59 I thought about C and decided that the parts I didn't like were the preprocessor, the fact that it is sort of a single-pass compiler and I didn't like the type system 19:51:28 so I got rid of the type system and preprocessor, made it multi-pass and added a few little things like constant declarations to compensate for the bits I ripped out 19:51:52 and then otherwise it just has a much more rigid, regular syntax which simplifies the compiler and makes it look, in my opinion, nicer 19:51:52 http://cminusminus.org/ 19:52:20 may still be buggy 19:52:31 was the vm mako? 19:52:36 the most complicated thing I did with Stroyent was a game where you're a crab 19:52:38 yes 19:53:04 I got to the point where I felt like it was usable if anybody wanted it and then shelved it because I liked forth better anyway 19:53:11 oh right i remember this :) 19:53:40 https://github.com/JohnEarnest/Mako/blob/master/tools/Stroyent/demos/CrabFall/CrabFall.snt 19:54:17 i'm trying to get this working for my editing environment for pascal: http://www.templetons.com/brad/alice.html 19:54:43 hmm 19:55:03 --- quit: lazyden (Ping timeout: 252 seconds) 19:55:21 RodgerTheGreat: that code looks very clean 19:55:53 --- join: lazyden (~lazyden@58.185.121.38) joined #forth 19:56:02 compared to C I guess, but it's a lot clunkier than the same thing would've been in forth 19:56:33 ttmrichter BEHOLD! a prolog -> forth compiler! :) http://soton.mpeforth.com/flag/jfar/vol4/no4/article4.pdf (48 page article from JFAR, PDF) 19:56:45 the Stroyent standard library is a little cleaner than some parts of the forth equivalents because I had a much better idea of what I was doing when I wrote it 19:57:35 tangentstorm: you might enjoy the book "Designing and Programming Personal Expert Systems" 19:57:52 it is about writing a lisp in forth and then a prolog in that lisp 19:57:58 haha 19:58:06 and also a prolog interpreter in that same issue, plus various other things this guy wrote: http://soton.mpeforth.com/flag/jfar/authors-O.html 19:58:24 i enjoy it already :) 19:58:51 well there we go 19:59:30 --- quit: Nisstyre (Ping timeout: 276 seconds) 20:00:31 I like how the book starts off by saying that Forth is the ideal language for writing such a thing because at the time it was one of the only languages available for small home computers that was fully capable of recursion 20:00:38 makes you thin 20:00:40 *think 20:00:50 thanks for the tip, RodgerTheGreat ... added to my wishlist 20:01:57 I was sort of disappointed that the book doesn't describe creating a garbage collected lisp because at the time I was trying to figure out how to do that 20:02:08 but I figured it out on my own eventually 20:03:13 i have a bunch of notes on how to implement garbage collection but never actually did it 20:03:40 I've linked this before: https://gist.github.com/JohnEarnest/4522067 20:03:53 haha... actually i remember you guys talking about cheney's algorithm a while back and i wound up writing a whole giant thing about it somewhere... 20:03:57 I'm pretty sure the approach I take here is the simplest way to go about it 20:04:16 although naturally some small parts of my implementation could be made simpler 20:04:29 https://github.com/sabren/b4/blob/master/blog/lp.a-heap-was-a-tree.md 20:07:06 hmmm 20:07:08 a fun ramble 20:08:00 in picolisp, everything is a cell consisting of 2 32-bit ints 20:08:21 haha thanks :) 20:09:13 so since everything is 8 bytes wide, that frees up 3 bits on the pointer 20:09:41 if i recall, it uses 2 of those bits to describe the type of the thing it's pointing to 20:09:59 and 1 as a marker for garbage collection 20:10:32 and since everything is the same size there's no fragmentation and no need to copy anything 20:11:01 i think it just marks everything like cheney does, but then instead of copying, it just adds the "holes" to a linked list of free slots 20:11:41 the tradeoff is there are no contiguous arrays and each character in a string is 64 bits 20:12:35 tangentstorm: interestingly the first GC I wrote works exactly as you describe 20:12:56 https://github.com/JohnEarnest/Mako/blob/master/lib/Algorithms/Pair.fs 20:13:24 --- join: Nisstyre (~yours@oftn/member/Nisstyre) joined #forth 20:15:00 dang dude. have you already implemented my whole project? :D 20:20:47 mumble mumble great minds whatever 20:25:13 the reason i wanted to see how you bootstrap is i want to run your games in javascript in a web browser 20:25:45 probably going to make a sprite device for ngaro 20:30:46 ooh 20:34:45 --- join: sw2wolf (~czsq888@222.209.242.146) joined #forth 20:36:10 i'm trying to rebuild retro's core interpreter up from its own assembly language 20:36:30 but i think even that is probably too big 20:36:52 maybe i will take a shot at porting your Maker.java to the assembler 20:37:51 that would be pretty interesting 20:37:54 it seems like it might be a good midway point between ngaro assembly and the retro main loop 20:38:02 Maker Forth running on ngaro 20:39:14 retro's actually very high level ... crc uses a lot of quotations and combinators like joy and factor... which makes for really nice code, but i want to talk about what computers do, not about what computations can be done on them, if that makes sense 20:43:27 --- join: kumul (~mool@76.26.237.95) joined #forth 20:46:28 yeah 20:48:46 --- part: sw2wolf left #forth 20:56:17 --- part: lazyden left #forth 20:56:56 --- join: Bahman (~Bahman@86.98.18.206) joined #forth 21:14:06 --- quit: kumul (Ping timeout: 245 seconds) 21:33:14 --- quit: RodgerTheGreat (Quit: RodgerTheGreat) 21:46:01 --- quit: I440r (Ping timeout: 264 seconds) 21:50:49 --- quit: Onionnion (Quit: Leaving) 21:56:39 --- quit: tangentstorm (Ping timeout: 244 seconds) 21:56:54 --- join: sw2wolf (~czsq888@222.209.242.146) joined #forth 21:58:48 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 21:59:38 --- join: I440r (~zhiming@114.sub-70-195-64.myvzw.com) joined #forth 21:59:38 --- mode: ChanServ set +o I440r 22:20:30 --- join: ASau` (~user@46.115.45.64) joined #forth 22:23:37 --- quit: ASau (Ping timeout: 260 seconds) 22:48:19 --- nick: tangentstorm -> tangentsleep 22:48:37 ttmrichter: can you share the design of your 4bit cpu in ttl? 22:54:12 yunfan: Nope. I did this in the early '80s and have promptly forgotten everything. 22:54:16 (Because I hated it.:D) 22:54:40 oops 22:56:02 i recently just read the book "the pattern on the stone" and i want to check some simplify design using logic components 22:56:55 There's loads of books out there for TTL design. 22:57:04 You can find them in the museums for outdated technology. 22:57:12 I believe they're called "public libraries" for some unknown reason. 22:58:01 --- join: ncv (~quassel@92.83.227.80) joined #forth 22:58:01 --- quit: ncv (Changing host) 22:58:01 --- join: ncv (~quassel@unaffiliated/neceve) joined #forth 22:59:52 well i dont want to deep in that, just want to know some basic things 23:00:23 by the way, the water computer design is cool 23:09:41 --- join: epicmonkey (~epicmonke@91.247.221.54) joined #forth 23:39:30 --- quit: yunfan (*.net *.split) 23:39:30 --- quit: obobo (*.net *.split) 23:41:46 --- join: obobo (~chatzilla@dyn-wl-ww-98-124-17-219.nexicom.net) joined #forth 23:51:15 --- join: yunfan (~jyf@unaffiliated/yunfan) joined #forth 23:52:01 --- join: Bahman_ (~Bahman@86.98.20.190) joined #forth 23:53:15 --- quit: ncv (Remote host closed the connection) 23:54:18 --- quit: Bahman (Ping timeout: 255 seconds) 23:55:24 --- join: Bahman (~Bahman@86.98.23.44) joined #forth 23:57:34 --- quit: Bahman_ (Ping timeout: 248 seconds) 23:59:59 --- log: ended forth/13.02.25