00:00:00 --- log: started forth/06.09.23 00:08:44 --- join: Anbidian (i=anbidian@S0106000fb09cff56.ed.shawcable.net) joined #forth 00:15:02 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 01:36:30 --- join: Topaz (n=top@spc1-horn1-0-0-cust255.cosh.broadband.ntl.com) joined #forth 03:34:30 --- quit: Anbidian () 04:33:17 --- quit: TreyB (Read error: 110 (Connection timed out)) 05:18:10 --- join: PoppaVic (n=pete@0-2pool236-176.nas22.chicago4.il.us.da.qwest.net) joined #forth 05:19:23 --- quit: Topaz ("Leaving") 05:39:37 --- join: uiuiuiu_ (i=ian@dslb-084-056-232-126.pools.arcor-ip.net) joined #forth 05:44:42 --- quit: uiuiuiu_ (Remote closed the connection) 06:22:17 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 07:23:00 --- quit: segher (Nick collision from services.) 07:23:10 --- join: segher (n=segher@dslb-084-056-207-094.pools.arcor-ip.net) joined #forth 07:50:14 --- join: uiuiuiu_ (i=ian@dslb-084-056-232-126.pools.arcor-ip.net) joined #forth 07:51:59 --- quit: PoppaVic ("Pulls the pin...") 07:53:28 --- join: PoppaVic (n=pete@0-1pool47-194.nas30.chicago4.il.us.da.qwest.net) joined #forth 07:55:19 --- quit: uiuiuiu_ (Remote closed the connection) 08:43:02 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 08:46:34 --- quit: snowrichard (Client Quit) 09:06:04 --- join: saon (n=saon@unaffiliated/saon) joined #forth 09:28:54 --- quit: saon (Broken pipe) 09:29:04 --- join: saon (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 09:57:16 --- quit: virl ("Verlassend") 10:04:01 --- quit: saon (Remote closed the connection) 10:04:02 --- join: saon (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 10:13:04 --- quit: PoppaVic ("Pulls the pin...") 10:46:19 --- join: uiuiuiu_ (i=ian@dslb-084-056-232-126.pools.arcor-ip.net) joined #forth 10:51:24 --- quit: uiuiuiu_ (Remote closed the connection) 11:02:53 Has anyone attempted to create typed arrays? 11:03:09 Perhaps with create does> 11:20:37 One other question: How does forth deal with issues of word misalignment? 11:20:42 for example: 11:20:44 5 c, here . -1214354243 ok 11:20:44 5 , here . -1214354239 ok 11:23:21 Nevermind I just found it, apparently that's the programmer's job. 11:23:24 http://www.cs.rit.edu/usr/local/doc/gforth/Dictionary-allocation.html 11:23:32 lign -- core ``align'' 11:23:32 If the data-space pointer is not aligned, reserve enough space to align it. 11:24:02 5 c, here . -1214354231 ok 11:24:02 align here . -1214354228 ok 11:33:31 Pretty nifty primer for anyone interested: http://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm 11:37:17 --- quit: segher (Nick collision from services.) 11:37:29 --- join: segher (n=segher@dslb-084-056-193-039.pools.arcor-ip.net) joined #forth 11:39:42 I think why arrays don't work in forth is because forth has no notion of l or rvalues, there are no = in the imperitive language sense. 11:40:02 Arrays work fine in Forth. 11:40:26 not like ar[3][2][4] 11:40:35 That's a nightmare in forth. 11:40:36 That's not Forth syntax. 11:40:45 Are you kidding?! 11:40:51 lol 11:40:57 No, I'm not kidding. ar[3][2][4] is not Forth syntax. 11:41:34 It looks like C. 11:41:42 Quartus: I'm not sure I could learn forth without your deep insightful wisdom. 11:41:57 That or any language that has l and rvalues. 11:42:40 C/C++/java/python/perl/js/etc 11:42:47 I could continue learning it without your insulting sarcasm. That is not Forth syntax, and I mention that because I am unclear as to what you misunderstand this time -- is it that you feel the notation for arrays should be the same, or that you think it's impossible to produce an array with three indices in Forth? 11:43:29 Quartus: Why don't you show me a nice syntax for multiple index arrays. 11:43:46 That will clear up my misunderstanding and leave me indebted to your superior knowledge. 11:43:48 'nice' for you is undoubtely what you already know. 11:44:25 And I am done with your insulting sarcasm, AI_coder. You're extremely unpleasant. Do your own homework. 11:44:58 Quartus: Nope, nice is simple, concise, and w/o a full line or two of code just to say access an element in a multi-dimensional array. 11:46:04 --- quit: saon (Remote closed the connection) 11:46:04 Do some reading for a change, instead of coming on here nearly every day to ask questions about raw fundamentals you'd already know if you bothered to do the reading. Even that wouldn't be so bad if you didn't feel the need to insult the people who help you. 11:46:39 You make me sound like an asshole. 11:46:43 * AI_coder smiles 11:46:48 --- join: saon (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 11:50:23 : multi-get [ swap nth ] each ; 11:50:30 ar { 3 2 4 } multi-get 11:50:35 this is how you could do it in factor. 11:51:10 slava: It looks like factor has some comprehension of lists then, no? 11:51:31 it has arrays, both fixed-size and growable 11:51:38 --- join: uiuiuiu_ (i=ian@dslb-084-056-232-126.pools.arcor-ip.net) joined #forth 11:51:55 I just made a stab in the dark when I saw nth and {} brackets in a stack based language. 11:52:19 2 { "hello" "," "world" } nth . ==> "world" 11:52:32 Yeah, that's pretty standard lisp'ish syntax. 11:52:55 I want that, but in forth. 11:52:59 Is it possible? 11:53:13 you could just use factor. its close enough to forth. 11:53:30 slava: Yeah, but factor's compiler is probably immature. 11:53:40 compared to what forth? 11:53:45 Yeah 11:55:05 i mean which forth are you using? 11:55:16 g 11:55:18 gnu 11:55:32 i thought gforth was not being maintained anymore? 11:55:42 I doubt that. 11:55:57 Gforth is being maintained. 11:56:43 --- quit: uiuiuiu_ (Remote closed the connection) 11:58:11 Why isn't it possible to use a syntax similar to lisp's for array indexes? 11:58:27 (setq a (make-array '(4 3))) 11:58:43 in forth? 11:58:46 (aref a i j) 11:58:48 because forth doesn't use lisp syntax? 11:58:49 yeah 11:58:57 slava: Hence the word similar... 12:00:20 factor syntax parses as nested arrays, just like lisp syntax is nested lists 12:00:38 but the evaluator is completely different, it uses a stack 12:01:25 I'm gonna throw out some ideas on what the ideal forth syntax would be like based on the lisp syntax: 12:01:46 --- join: uiuiuiu_ (i=ian@dslb-084-056-232-126.pools.arcor-ip.net) joined #forth 12:02:05 4 3 make-array a ! 12:02:26 how will that work? what if you want an array of 3 or 4 elements? 12:02:26 a i j aref 12:02:36 in lisp, aref can take any number of arguments (up to some limit) 12:02:41 (aref a 1 2 5 73 1 6) 12:02:57 Ok, how about this: 12:03:10 4 3 2dim-make-ar a ! 12:03:26 4 4 4 3dim-make-ar a ! 12:03:51 a i j k 3aref 12:03:56 : 2dim-make-ar [ drop f ] map-with ; 12:03:57 a i j k 3dim-aref 12:04:32 although this works with nested arrays not 2d arrays 12:04:44 real 2d arrays would be easy though 12:05:24 I think I'll write these up and send them off to the gforth maintainer, a nice german fellow iirc. 12:05:38 you can implement them yourself 12:05:51 I'm not the best forth coder yet, someone can put me to shame if they please. 12:05:58 slava: precisely. 12:06:18 arrays.fs 12:06:32 what applications have been written in gforth? 12:06:46 My gp that classifies images. 12:06:51 --- quit: uiuiuiu_ (Remote closed the connection) 12:06:58 But array indexing sucks for images. 12:17:21 One problem is that make-array in lisp takes &key arguments like element-type etc. so you would need to A. Write a optional arguments field to the forth word make-array or put a struct or some other lookup table to tell the make-array word what type it is using, float, double, int, char 12:17:31 forth doubleword = double 12:18:15 Or B. use a lot of similarly names words like 3dim-make-ar-char 3dim-make-ar-float etc. 12:19:22 c3dim-...char f3dim-...float d3dim-...doublword 3dim-...int seem to be the standard forth syntax. 12:20:22 So the great thing about the lisp syntax is lisp is just as ignorant about l/rvalues as forth is so everything is dealt w/ via a reference aka pointer so this should work nicely. 12:21:17 Shit, I might just switch over to lisp entirely... 12:21:20 lol 12:41:47 does this site work? http://fractals.herkamire.com/ 12:42:11 AI_coder: lisp has lvalues, even moreso than c-like languages 12:42:27 nothing coming up, JasonWoof 12:44:01 ok 12:44:02 fiddling with dns and vhosts 12:45:17 thanks, I'm outa here 13:26:59 slava: Maybe you could show me which side of the = sign is the lvalue in lisp. 13:27:05 Start w/ an example. 13:27:17 (aref a 1) 13:27:21 (setf (aref a 1) "hi") 13:27:35 (aref a 1) is a generalized lvalue. there's a function aref and a function (setf aref) 13:27:49 similarly, words like gethash are setf'able 13:27:57 functions i mean 13:28:14 and there are macros which manipulate lvalues, other than setf, eg you can increment a hashtable entry: 13:28:21 (incf (gethash myhash 'some-key)) 13:29:15 incf expands into code which reads the lvalue, increments it, and stores it back 13:29:27 its not applying incf to the return value of gethash, but rather the gethash form (gethash myhash 'some-key) itself 13:29:34 since incf is a macro and macros don't evaluate their arguments 13:31:29 you can define your own lvalues, as well as your own lvalue-modifying macros. try that in C 13:33:02 --- join: fvh (n=fvh@unaffiliated/fat0s) joined #forth 13:33:18 --- part: fvh left #forth 13:35:56 That's not an lvalue by definition. 13:36:03 Go make your claim in #lisp. 13:36:05 yes it is 13:36:34 (aref a n) behaves just like a[n] in C. 13:36:50 in an expression context it evaluates to a value, but it can also be 'written to'. 13:36:57 Don't convince me, go convince someone in #lisp. 13:37:03 you're an idiot. 13:37:04 Here we are, AI_coder. You ask for help, get an answer, and insult the guy who's helping you. He's at least seventeen times brighter than you are, which makes it all the more galling. 13:37:14 Please go away. 13:37:42 Quartus: Seventeen huh? 13:37:50 Nice calculation. 13:37:53 Shut up, kid. Show some manners or get lost. 13:38:08 Quartus: You're too sensitive. 13:38:21 Talk about the kettle calling the pot black. 13:38:35 Last shot, AI_coder. Stop the asshole bullshit now. 13:38:45 Quartus: You can cry if you want. 13:38:51 --- kick: AI_coder was kicked by slava (slava) 13:38:56 Thank you. 13:39:14 i guess he's looking for confrontation, rather than discussion. 13:39:30 What a complete ass. 13:43:44 wheee, fun? :) 13:44:17 I don't call dealing with miscreant children 'fun'. 13:45:12 heh. he asked for it. :) 13:45:32 He did, and he'll doubtless be back to ask for it again, which is the depressing part.] 13:46:04 welcome to irc. :) 13:46:49 I don't find it particularly a feature of irc, but more that the ugliest in people comes bubbling up when they think they have some degree of anonymity behind which to hide. 13:47:16 --- join: uiuiuiu_ (i=ian@dslb-084-056-232-126.pools.arcor-ip.net) joined #forth 13:49:49 The horrible things some trolls said in the announcement channel when lilo's death was announced resulted in dozens of k-lines. It occurred to me then that it was an excellent opportunity to weed out the truly abusive idiots. They should announce something or other every week and do the same. 13:50:08 aqgreed. 13:50:32 i knew lilo before freenode. i like to think he's accomplished great things. 13:51:05 if only you could kick peop.es ass, instead of k-line. ;) 13:51:34 it still shocks me he's gone. 13:51:39 Yes, it's upsetting. 13:52:21 --- quit: uiuiuiu_ (Remote closed the connection) 13:54:54 --- quit: saon (Remote closed the connection) 13:54:58 --- join: saon (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 13:55:46 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 13:56:02 --- join: Quartus__ (n=Quartus_@209.167.5.1) joined #forth 14:11:08 --- quit: slava () 14:13:09 --- quit: madgarden (Read error: 110 (Connection timed out)) 14:22:03 --- quit: segher (Nick collision from services.) 14:22:15 --- join: segher (n=segher@dslb-084-056-138-201.pools.arcor-ip.net) joined #forth 14:37:19 --- join: saon_ (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 14:42:26 --- quit: saon_ (Remote closed the connection) 14:42:37 --- join: saon_ (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 14:47:35 --- quit: saon (Read error: 104 (Connection reset by peer)) 14:57:40 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 15:03:14 --- quit: saon_ (Remote closed the connection) 15:04:07 --- join: saon (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 15:16:57 --- join: madgarden (n=madgarde@Kitchener-HSE-ppp3577114.sympatico.ca) joined #forth 15:25:00 --- quit: saon (Remote closed the connection) 15:25:20 --- join: saon (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 16:06:10 oh, duh 16:06:21 fractals.herkamire.com doesn't work because it's not on port 80 16:33:24 --- quit: saon (Remote closed the connection) 16:33:34 --- join: saon (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 16:58:18 --- join: uiuiuiu_ (i=ian@dslb-084-056-247-011.pools.arcor-ip.net) joined #forth 17:03:23 --- quit: uiuiuiu_ (Remote closed the connection) 19:35:57 --- join: saon_ (i=1000@c-71-199-235-144.hsd1.fl.comcast.net) joined #forth 19:52:02 --- quit: saon (Read error: 110 (Connection timed out)) 20:59:23 --- join: uiuiuiu_ (i=ian@dslb-084-056-247-011.pools.arcor-ip.net) joined #forth 21:04:28 --- quit: uiuiuiu_ (Remote closed the connection) 22:01:28 --- join: ayrnieu (i=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 22:32:19 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-185-032.pools.arcor-ip.net) joined #forth 22:49:48 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 22:50:00 --- nick: snoopy_1711 -> Snoopy42 22:53:50 --- nick: saon_ -> soan 22:53:52 --- nick: soan -> saon 22:57:35 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #forth 23:59:59 --- log: ended forth/06.09.23