00:00:00 --- log: started forth/06.11.17 01:09:47 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 01:12:40 --- join: Raystm2 (n=NanRay@adsl-68-95-251-145.dsl.rcsntx.swbell.net) joined #forth 01:31:24 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 03:06:49 --- join: arke (n=Chris@pD9E06978.dip.t-dialin.net) joined #forth 03:06:49 --- mode: ChanServ set +o arke 03:22:54 --- join: crest_ (n=crest@p54896678.dip.t-dialin.net) joined #forth 03:33:27 --- quit: Crest (Read error: 110 (Connection timed out)) 04:18:01 --- nick: crest_ -> Crest 04:34:29 --- join: tattrdkat (n=virsys@or-71-53-65-55.dhcp.embarqhsd.net) joined #forth 04:34:57 --- quit: virsys (Nick collision from services.) 04:35:05 --- nick: tattrdkat -> virsys 05:50:31 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 05:50:47 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 05:52:36 Friday! 05:57:48 --- join: virl (n=virl@62.178.85.149) joined #forth 06:00:49 --- join: vatic (n=chatzill@pool-162-84-178-20.ny5030.east.verizon.net) joined #forth 06:44:31 --- join: madwork (n=foo@204.138.110.15) joined #forth 09:08:41 --- quit: vatic ("*poof*") 09:35:49 --- quit: timlarson_ (Read error: 104 (Connection reset by peer)) 09:36:05 --- join: timlarson__ (n=timlarso@65.116.199.19) joined #forth 09:38:42 --- join: timlarson___ (n=timlarso@65.116.199.19) joined #forth 09:54:11 --- join: vatic (n=cturner@pool-162-84-178-20.ny5030.east.verizon.net) joined #forth 09:59:07 --- join: jackokring (n=jackokri@static-195-248-105-144.adsl.hotchilli.net) joined #forth 10:09:05 --- quit: timlarson__ (Read error: 110 (Connection timed out)) 10:48:24 --- join: Snoopy42_ (i=snoopy_1@dslb-084-058-183-234.pools.arcor-ip.net) joined #forth 10:54:51 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 10:56:06 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 10:56:21 --- nick: Snoopy42_ -> Snoopy42 11:05:24 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 11:05:24 --- mode: ChanServ set +o Quartus_ 11:11:37 --- join: nanstm (n=NanRay@adsl-68-93-43-97.dsl.rcsntx.swbell.net) joined #forth 11:19:41 hey. 11:25:22 Hi Neal. We 11:25:40 've decided to trade Monday in for another Friday. 11:26:14 Good deal. 11:27:59 It'll go Sunday, Friday, Saterday, Sunday, Thursday, Friday, Saterday. You tell Canada, k? 11:29:44 For those faiths that go to church in the middle of the week, the Sunday-Thursday transition could also be Wednesday-Sunday if necessary. 11:30:04 I think i'm bored. 11:30:41 Where is the entertainment? Where are the forth re-inventors? Time to get a new batch? 11:30:47 --- quit: Cheery (Remote closed the connection) 11:32:26 Ray_work: read a comp.lang.forth archive 11:33:26 hahahaha. I try to avoid that group, alas I return about once every two months. 11:34:53 * Ray_work reading group, thanks Crest. :) 11:39:06 --- quit: Zarutian () 11:40:50 sry 12:04:36 ray, there's always fips! Sifp? Fisp? 12:06:05 Quartus: as far as lisp-forth, I like that memo you did for QuartusForth. 12:06:29 I made sure to grab that when I saw you announce it. 12:06:39 Not that I'd know what to use it for. :) 12:06:46 But I got it! 12:06:49 that was written under gforth actually -- runs under Quartus too. 12:07:08 Lists are sometimes useful. 12:07:38 ok, so there's also Doty's toy system, lse64. 12:08:05 somebody on c.l.f is fiddling with Enth. 12:20:09 so there's always somebody trying to reinvent, or fiddle with a reinvention. 12:23:09 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 12:34:24 cheery. Did you get my note? 12:58:05 --- join: ygrek (i=user@gateway/tor/x-3e512e026abca4bc) joined #forth 13:02:38 Quartus_: when? 13:03:28 nope, I've not seen anything. 13:08:55 Few days back. I wondered as I hadn't heard back. 13:09:07 --- quit: ygrek () 13:20:12 how did you sent it? 13:20:13 Enth, ya? I played with that for a while. Pretty neat colorForth. 13:20:39 Too bad, something must been happened for it before I've received it. 13:23:16 email, cheery. I'll have to resend later. 13:24:31 Nice thing about Sean Pringles Enth with Flux was that it has it's own assembler and a meta-compiler. These would be the first ones i'd ever seen. 13:28:07 Oh and the fact that it's fairly ANS compatable, for a colorForth. 13:31:27 the discussion in c.l.f showed up the ever-present weakness, with and and so on. 13:35:56 far from removing state, it adds several more states and requires state-change indicators to be sprinkled through each definition. 13:36:18 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 13:40:56 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 13:40:56 --- mode: ChanServ set +o slava 13:41:20 hey slava. 13:41:26 howdy 13:41:59 how goes it? 13:46:06 --- quit: timlarson___ (Connection timed out) 13:59:16 that well, eh? :) 14:00:41 heh 14:01:01 i'm simplifying the factor ui and making it more keyboardable 14:01:29 is it possible to use factor without a gui? 14:01:34 sure 14:01:41 that's what i have to do regularly 14:01:42 when i break the gui :) 14:01:48 or when i run the http server 14:02:05 right now the gui lets you browse code, documentation, and evaluate expressions, and inspect objects 14:02:08 later it will have an editor 14:02:59 I ask because of a conversation with erider a couple of days ago -- Fips (fisp?) required a graphics library to build at all. 14:04:29 glad to hear factor is a language independent of an ide. 14:07:39 that's another thing I find cumbersome about colorForth -- the source code itself has an object form! 14:07:46 heh 14:09:19 and thus the language is bound to an editor that's bound to that object format, or else there'd be need of an intermediary translator from some other plaintext format into that object form. 14:09:56 factor source is plain text 14:09:58 i write it in jedit 14:10:07 There is indeed that need. 14:10:35 Studying language history recently, it reminds me of Algol 60, where there was a publication language, a machine-level language, and various implementation-specific languages. 14:10:56 all for the same source. 14:12:06 back then, the pretty-printed version that went to press had to be down-translated into a version acceptable to an algol compiler -- by hand. 14:12:30 Was lisp not originally designed similarly? 14:12:50 something about m code and s code or i don't know. 14:13:06 YIKES :) 14:13:23 lisp pretty much went from an abstract description into a machine implementation. Some of the notation changed, as McCarthy didn't originally conceive it as implementable. 14:13:24 no, the () syntax is s-expressions 14:13:32 orignally they were going to replace this with m-expressions which looked like algol 14:13:35 m-expressions never caught on 14:13:44 thank you slava. 14:17:10 their is a lisp dialect with a algol bases syntax: dylan 14:17:19 it's possible 14:17:21 The early published lisp I've seen was (I believe) the actual source, sometimes decorated (italics, etc.) 14:17:35 even macros are possible 14:18:07 slate has macros with a smalltalk syntax 14:18:11 they have the same power as in lisp 14:18:20 actually dylan macros are not as general as CL macros 14:18:59 I don't know much about Dylan. Wikipedia says it's a refinement of CLOS, as I recall. 14:19:14 it is 14:19:20 in dylan every thing is an object 14:19:35 and the object model is nearly the same as in clos 14:20:05 but e.g. aspect orientet programming like with the meta object protocol is impossible in dylan 14:20:22 in standard dylan 14:20:46 I read up on aspect-oriented programming; it's peculiar. 14:22:46 i never realy tried 14:23:25 I find the name of it misleading. In object-oriented programming, you are manipulating objects; in 'aspect-oriented' programming, you're not manipulating aspects, as such. 14:23:59 yes, but you have aspects 14:24:28 you have them, but they're not the orientation, if you follow me. 14:24:34 yeah 14:27:08 it'd be like saying Forth is 'dictionary-oriented'. 14:27:20 heh 14:34:11 I've run into newbies who think that because Forth is 'stack-based', that the stack is the only data structure available and thus should be used for everything. 14:35:12 similarly, others who try to use the dictionary as an associative array structure in their apps. 14:37:10 I suppose Lisp newcomers expect that the list is the only tool in the box, too. 15:13:57 --- join: erider (n=erider@unaffiliated/erider) joined #forth 15:19:12 --- quit: Ray_work (Read error: 104 (Connection reset by peer)) 15:45:18 hi all 15:55:04 hi 15:55:20 --- quit: jackokring (Read error: 110 (Connection timed out)) 16:12:25 I hope that everything is ok 16:12:45 so far. 16:13:56 great! 16:22:55 Q how is the book coming? 16:25:27 --- join: bl4ckth0rn (i=lus2la@20151010141.user.veloxzone.com.br) joined #forth 16:25:34 --- part: bl4ckth0rn left #forth 16:46:00 --- join: Amanita_Virosa (n=jenni@adsl-70-248-239-251.dsl.hstntx.sbcglobal.net) joined #forth 17:20:29 --- join: nighty (n=nighty@sushi.rural-networks.com) joined #forth 17:24:08 coming along, thanks! 17:27:34 --- quit: neceve (Read error: 131 (Connection reset by peer)) 17:27:59 --- join: Raystm2 (n=NanRay@ppp-70-248-35-30.dsl.rcsntx.swbell.net) joined #forth 17:45:41 --- quit: nanstm (Read error: 110 (Connection timed out)) 18:01:04 --- quit: segher (Nick collision from services.) 18:01:13 --- join: segher (n=segher@dslb-084-056-148-075.pools.arcor-ip.net) joined #forth 19:06:04 Hey again. Hi segher. 19:23:10 Quartus, hey! can you pass a loop increment into a do +loop construct? 19:40:08 vatic, -- via variable, yes. 19:40:38 What are you trying to achieve? 19:42:29 Quartus: Given a minimum, maximum and increment, I want to alol 19:42:33 oop! 19:43:00 I want to allocate space for a buffer and initialize the memory locations... 19:45:32 And why do you need a variable loop increment for that? 19:46:44 Actually, since I posted the ?, I realize I don't, but I'm still struggling with the stack design :-) 19:47:05 I imagine you want to initialize to zero, for which FILL is your friend. 19:47:42 Well, I want to initialize them to certain values: 19:48:31 for a min of 3 and increment of 4: 3 4 11 15 19 23 27... 19:48:53 So that's easy, you don't need a variable +loop increment for that. 19:49:56 yeah, I need to add the memory address, increment value and the loop counter value together. 19:50:04 hmm. I'm not seeing that. 19:50:11 then store at that address. 19:50:43 oops! you're right. Just memory address and counter value 19:51:12 then continually add the increment and store 19:51:54 I think this is the general idea (untested) : init ( addr ncells -- ) 3 -rot bounds do dup i ! 4 + 1 cells +loop drop ; 19:53:15 Your limit is determined by the end of the buffer, so the do loop should be controlled by that. 19:53:19 would you allocate memory and init the memory in two words? or the same word? 19:54:06 Two. : new-buffer ( ncells -- addr ) dup allocate throw tuck swap init ; 19:54:35 well, thanks! I'll study these... :-) 19:54:53 I haven't tested either one, but they look pretty good. 19:55:43 I'm sure it's not a complicated exercise for someone of your experience... 19:56:00 I just throw in that caveat, in case you think I actually tried them. :) 19:56:34 Gotta leave something for the student! :-) CRASH!! 19:56:58 I'd use two words to keep the size of both down. 19:57:51 Oh, there's a bug. : new-buffer ( ncells -- addr ) cells dup allocate throw tuck swap init ; 19:58:04 And thus ... : init ( addr u -- ) 3 -rot bounds do dup i ! 4 + 1 cells +loop 19:58:41 drop ; 19:59:50 Factored into two words, you could use init to initialize another region or sub-region of memory, or to re-initialize a region. 20:00:39 I'd want to pass in the initial value and incrment on the stack... 20:01:02 : init ( addr u initial-value -- ) -rot bounds do dup i ! 4 + 1 cells +loop drop ; 20:01:13 With appropriate changes in the caller. 20:01:47 Or : init ( initial-value addr u -- ) bounds do dup i ! 4 + 1 cells +loop drop ; which may be preferable from an argument-ordering standpoint. 20:02:30 With that last one, : new-buffer ( initial-value ncells -- addr ) cells dup allocate throw tuck swap init ; 20:02:53 oops! Ok, I need coffee I think. Scratch that new-buffer. :) Perhaps I'll test. 20:02:56 Novel idea. :) 20:05:48 : new-buffer ( initial-value ncells -- addr ) cells dup allocate throw dup >r swap init r> ; though I suspect that can be improved. 20:07:32 Well, I'll check them out. An embarassement of riches! 20:07:53 Focus on the last init and new-buffer, the others were slightly out of whack. 20:08:13 Don't stay up too late! OK, will do! Thanks! 20:08:21 I tested the last two, albeit not exhaustively. 20:09:15 To pass the increment on the stack as well, you'll need to pass it into the do/loop with a global. 20:10:07 so you'd actually use a variable? ;-) 20:10:17 I don't like that much, but if you want to use do/loop there's little alternative. You could move to a begin/while/repeat loop instead. 20:10:33 It's not the variable that bothers me as much as coupling new-buffer to init via a variable. 20:10:56 So, I'd pass the increment into init, set the variable there, use the variable in that loop. Keep it contained. 20:11:09 I'd use the return stack, save for the injunction against doing so in a do/loop. 20:11:52 But I could use it if I move to begin/while/repeat? 20:12:06 Yes, no problem there. 20:12:08 That's the advantage? 20:12:14 Right. 20:12:28 Cool! 20:12:42 Gotta go try this stuff out... 20:12:58 You *could* do it without the variable with a do/loop, by maintaining the increment on the stack and adding it via over + each time. You should experiment with different approaches. 20:13:46 In other words, I think this'd work: : init ( increment initial-value addr u -- ) -rot bounds do dup i ! over + 1 cells +loop 2drop ; 20:13:52 gah. 20:13:59 : init ( increment initial-value addr u -- ) bounds do dup i ! over + 1 cells +loop 2drop ; 20:14:03 Wasn't kidding about that coffee. :) 20:14:58 Then new-buffer stays the same, different stack diagram is all: : new-buffer ( increment initial-value ncells -- addr ) cells dup allocate throw dup >r swap init r> ; 20:16:07 Just did a cursory test on the last two, they seem fine. 20:40:50 --- quit: Amanita_Virosa ("Wonk.") 20:45:14 g'night Quartus! 20:45:22 ciao 20:45:29 --- quit: vatic ("using sirc version 2.211+KSIRC/1.3.12") 21:17:46 --- quit: nighty (Remote closed the connection) 21:29:28 --- join: arke_ (n=Chris@pD9E05A4E.dip.t-dialin.net) joined #forth 21:29:32 hi arke_ 21:32:14 hi 21:35:43 anyone around? 21:35:53 I am. 21:35:55 well, i am 21:36:05 i'm working on a presentation 21:36:17 hmm its not late where you are 21:36:37 12:34am 21:37:05 cool me too 21:46:22 --- quit: arke (Read error: 110 (Connection timed out)) 22:29:36 --- quit: Raystm2 (orwell.freenode.net irc.freenode.net) 22:29:36 --- quit: erider (orwell.freenode.net irc.freenode.net) 22:29:36 --- quit: timlarson (orwell.freenode.net irc.freenode.net) 22:29:36 --- quit: TreyB (orwell.freenode.net irc.freenode.net) 22:29:36 --- quit: Razor-X (orwell.freenode.net irc.freenode.net) 22:29:36 --- quit: lukeparrish (orwell.freenode.net irc.freenode.net) 22:29:37 --- quit: nighty__ (orwell.freenode.net irc.freenode.net) 22:31:46 --- join: Raystm2 (n=NanRay@ppp-70-248-35-30.dsl.rcsntx.swbell.net) joined #forth 22:31:46 --- join: erider (n=erider@unaffiliated/erider) joined #forth 22:31:46 --- join: lukeparrish (n=docl@74-36-211-202.dr01.hmdl.id.frontiernet.net) joined #forth 22:31:46 --- join: Razor-X (n=user@user-11faaoj.dsl.mindspring.com) joined #forth 22:31:46 --- join: timlarson (n=timlarso@user-12l325b.cable.mindspring.com) joined #forth 22:31:46 --- join: nighty__ (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #forth 22:31:46 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 23:59:59 --- log: ended forth/06.11.17