home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group02a.txt < prev    next >
Internet Message Format  |  2003-01-02  |  295KB

  1. From icon-group-sender Wed Jan 30 16:30:27 2002
  2. Return-Path: <icon-group-sender>
  3. Received: (from root@localhost)
  4.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g0UNT2s07895
  5.     for icon-group-addresses; Wed, 30 Jan 2002 16:29:02 -0700 (MST)
  6. Message-Id: <200201302329.g0UNT2s07895@baskerville.CS.Arizona.EDU>
  7. Date: Wed, 30 Jan 2002 16:25:19 -0500
  8. From: Dean JOLLY <deanj@bic.mni.mcgill.ca>
  9. To: <icon-group@cs.arizona.edu>
  10. Subject: Re: serial port (fwd)
  11. Errors-To: icon-group-errors@cs.arizona.edu
  12. Status: RO
  13.  
  14.  
  15.  
  16.  
  17. Dean JOLLY wrote:
  18. >
  19. > Hi,
  20. >
  21. > I downloaded Icon earlier this month and I found that I can do most things
  22. > I awnt with it. But I do have a problem, I would like to use it to do some
  23. > acquisition and control via a serial port. I have tried several things,
  24. > including just opening the port as a file, but nothing seems to work???
  25. >
  26. > Has anyone ever tried this? Or is it just not supported?
  27. > I may be able to do it by opening a dll, again I was not successfull.
  28. >
  29. > Thanks,
  30. >
  31. > Dean Jolly
  32. >
  33. > Cyclotron unit
  34. > Montreal Neurological Institute
  35.  
  36. -- 
  37. Sandra L Miller
  38. Department of Computer Science
  39. University of Arizona
  40.  
  41.  
  42.  
  43. From icon-group-sender Thu Feb  7 08:38:22 2002
  44. Return-Path: <icon-group-sender>
  45. Received: (from root@localhost)
  46.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g17Fams10854
  47.     for icon-group-addresses; Thu, 7 Feb 2002 08:36:48 -0700 (MST)
  48. Message-Id: <200202071536.g17Fams10854@baskerville.CS.Arizona.EDU>
  49. Date: Thu, 07 Feb 2002 10:12:47 +1100
  50. From: PACaleala <PACaleala@hotmail.com>
  51. X-Accept-Language: en
  52. X-Newsgroups: comp.lang.icon
  53. Subject: puzzle solving program
  54. To: icon-group@cs.arizona.edu
  55. Errors-To: icon-group-errors@cs.arizona.edu
  56. Status: RO
  57.  
  58.  
  59. given a random set of 9 letters 
  60. i need to find all combinations up to 9 letters long
  61. do you have any sugestions suitable for a beginner ?
  62.  
  63.  
  64. From icon-group-sender Thu Feb  7 12:28:04 2002
  65. Return-Path: <icon-group-sender>
  66. Received: (from root@localhost)
  67.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g17JReY19218
  68.     for icon-group-addresses; Thu, 7 Feb 2002 12:27:41 -0700 (MST)
  69. Message-Id: <200202071927.g17JReY19218@baskerville.CS.Arizona.EDU>
  70. X-Authentication-Warning: ptah.u.arizona.edu: acarr owned process doing -bs
  71. Date: Thu, 7 Feb 2002 10:13:31 -0700 (MST)
  72. From: Andrew J Carr <acarr@email.arizona.edu>
  73. X-X-Sender:  <acarr@ptah.u.arizona.edu>
  74. To: PACaleala <PACaleala@hotmail.com>
  75. cc: <icon-group@cs.arizona.edu>
  76. Subject: Re: puzzle solving program
  77. Errors-To: icon-group-errors@cs.arizona.edu
  78. Status: RO
  79.  
  80. On Thu, 7 Feb 2002, PACaleala wrote:
  81.  
  82. > given a random set of 9 letters
  83. > i need to find all combinations up to 9 letters long
  84. > do you have any sugestions suitable for a beginner ?
  85.  
  86. Well, recursion works nicely. You're basically looking for a list of all
  87. permutations generated by those 9 letters. Now the question is do you want
  88. duplicates or do you want unique permutations all the way?
  89.  
  90. I can have a solution worked up by tonight, provided you aren't doing this
  91. for a school project... then I could just give some psuedo-code for you.
  92.  
  93. -- 
  94. Andrew Carr - acarr@email.arizona.edu - http://www.u.arizona.edu/~acarr
  95. AIM/ICQ: Andyrew480/3100804
  96. "Everyone is kneaded out of the same dough but not baked in the same oven."
  97.                     - Yiddish Proverb
  98.  
  99.  
  100.  
  101. From icon-group-sender Mon Feb 11 08:18:43 2002
  102. Return-Path: <icon-group-sender>
  103. Received: (from root@localhost)
  104.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1BFGlI23920
  105.     for icon-group-addresses; Mon, 11 Feb 2002 08:16:47 -0700 (MST)
  106. Message-Id: <200202111516.g1BFGlI23920@baskerville.CS.Arizona.EDU>
  107. Date: Mon, 11 Feb 2002 11:46:06 +1300 (NZDT)
  108. From: "Richard A. O'Keefe" <ok@atlas.otago.ac.nz>
  109. To: PACaleala@hotmail.com, icon-group@cs.arizona.edu
  110. Subject: Re:  puzzle solving program
  111. Errors-To: icon-group-errors@cs.arizona.edu
  112. Status: RO
  113.  
  114. PACaleala <PACaleala@hotmail.com> wrote:
  115.     
  116.     given a random set of 9 letters 
  117.     i need to find all combinations up to 9 letters long
  118.     do you have any sugestions suitable for a beginner ?
  119.     
  120. Start by saying clearly what you mean by
  121. 'all combinations up to 9 letters long'.
  122.     
  123. For example, given the set {A,B,C,D,E,F,G,H,I},
  124. is AAAAAAAAA one of the allowed combinations?
  125.  
  126.  
  127.  
  128. From icon-group-sender Wed Feb 13 16:29:34 2002
  129. Return-Path: <icon-group-sender>
  130. Received: (from root@localhost)
  131.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1DNR0218632
  132.     for icon-group-addresses; Wed, 13 Feb 2002 16:27:00 -0700 (MST)
  133. Message-Id: <200202132327.g1DNR0218632@baskerville.CS.Arizona.EDU>
  134. From: gea@earthling.net (Antonella)
  135. X-Newsgroups: comp.lang.icon
  136. Subject: Help needed with some Icon code!
  137. Date: Wed, 13 Feb 2002 22:03:11 +0000
  138. To: icon-group@cs.arizona.edu
  139. Errors-To: icon-group-errors@cs.arizona.edu
  140. Status: RO
  141.  
  142. I'm stuck with some Icon code!  Is there an expert out there who could help?
  143.  
  144. What I need is a routine that will replace certain strings of text that
  145. appear in lines in a text file, according to words found in previous
  146. lines.  For instance, taking an example text file of the form:
  147.  
  148. Ann loves Brian
  149. This is a line of prose text that talks about apples and bananas.
  150. Ann hates Dave
  151. This is a line of prose with a few words about apples and also cows.
  152. Edward likes Frank
  153. This line talks about elephants and also about foxes.
  154. (And so-on, in pairs of lines, with a "two-word" line always being
  155. followed by a longer line.)
  156.  
  157. The code should scan this text, and, in the above example, on finding the
  158. line "Ann loves Brian", it should change, in the next line, every instance
  159. of "apples" to "pears" (because it found "Ann" in the previous line), and
  160. every instance of "bananas" to "oranges" (because it found "Brian" in the
  161. previous line).
  162.  
  163. When the program finds the line "Ann hates Dave", it should change, in the
  164. next line, every instance of "apples" to "pears" (because, again, it found
  165. "Ann" in the previous line), and every instance of "cows" to "sheep"
  166. (because it found "Dave" in the previous line).
  167.  
  168. Similarly, when it gets to the line "Edward likes Frank" it should change
  169. all instances in the next line of "elephants" to "tigers" (because it
  170. found "Edward" in the previous line), and every instance of "foxes" to
  171. "lions" (because it found "Dave" in the previous line).
  172.  
  173. In other words, the program looks at the two words in each of the two-word
  174. lines, and, depending on what they are, changes any and every occurrence
  175. of corresponding words in the following longer lines.
  176.  
  177. Any help greatly appreciated!
  178.  
  179.  
  180. From icon-group-sender Mon Feb 18 08:09:20 2002
  181. Return-Path: <icon-group-sender>
  182. Received: (from root@localhost)
  183.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1IF88A04637
  184.     for icon-group-addresses; Mon, 18 Feb 2002 08:08:08 -0700 (MST)
  185. Message-Id: <200202181508.g1IF88A04637@baskerville.CS.Arizona.EDU>
  186. From: "Ken Kupisz" <kupisz@sympatico.ca>
  187. To: <icon-group@cs.arizona.edu>
  188. Subject: Rounding real numbers
  189. Date: Sat, 16 Feb 2002 18:54:57 -0500
  190. Status: RO
  191.  
  192. Could someone tell me what Icon proc is used to roundoff real numbers. =
  193. Is there any discussion in the Analyst about this subject?
  194.  
  195. From icon-group-sender Thu Feb 21 09:12:27 2002
  196. Return-Path: <icon-group-sender>
  197. Received: (from root@localhost)
  198.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1LGB4Y17201
  199.     for icon-group-addresses; Thu, 21 Feb 2002 09:11:04 -0700 (MST)
  200. Message-Id: <200202211611.g1LGB4Y17201@baskerville.CS.Arizona.EDU>
  201. From: "Daniel Ajoy" <dajoy@openworldlearning.org>
  202. To: <icon-group@cs.arizona.edu>
  203. Date: Wed, 20 Feb 2002 22:16:45 -0500
  204. Subject: Re: Rounding real numbers
  205. X-Confirm-Reading-To: Daniel Ajoy <dajoy@openworldlearning.org>
  206. X-pmrqc: 1
  207. X-LINE1: ABCDEF0123456789
  208. Content-description: Mail message body
  209. Errors-To: icon-group-errors@cs.arizona.edu
  210. Status: RO
  211.  
  212. On 16 Feb 2002 at 18:54, Ken Kupisz wrote:
  213.  
  214. > Could someone tell me what Icon proc is used to roundoff real numbers. =
  215. > Is there any discussion in the Analyst about this subject?
  216.  
  217. I'm new here, what is the "Analyst"?
  218.  
  219. Daniel
  220.  
  221.  
  222.  
  223. From icon-group-sender Thu Feb 21 12:44:55 2002
  224. Return-Path: <icon-group-sender>
  225. Received: (from root@localhost)
  226.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1LJih627142
  227.     for icon-group-addresses; Thu, 21 Feb 2002 12:44:44 -0700 (MST)
  228. Message-Id: <200202211944.g1LJih627142@baskerville.CS.Arizona.EDU>
  229. Date: 21 Feb 2002  16:41:11 GMT
  230. From: rjhare@ed.ac.uk
  231. Subject: Re: Rounding real numbers
  232. To: "Daniel Ajoy" <dajoy@openworldlearning.org>
  233. cc: <icon-group@cs.arizona.edu>
  234. Errors-To: icon-group-errors@cs.arizona.edu
  235. Status: RO
  236.  
  237. > I'm new here, what is the "Analyst"?
  238.  
  239. Icon `magazine' published from August 1990 to June 2001 - a total of 66
  240. issues. The first several years are available online. See:
  241.  
  242. http://www.cs.arizona.edu/icon/
  243.  
  244. RH
  245.  
  246.  
  247. From icon-group-sender Thu Feb 21 12:45:08 2002
  248. Return-Path: <icon-group-sender>
  249. Received: (from root@localhost)
  250.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1LJj5c27207
  251.     for icon-group-addresses; Thu, 21 Feb 2002 12:45:05 -0700 (MST)
  252. Message-Id: <200202211945.g1LJj5c27207@baskerville.CS.Arizona.EDU>
  253. From: eka@corp.cirrus.com (Eka Laiman)
  254. Subject: Re: Rounding real numbers
  255. To: icon-group@cs.arizona.edu
  256. Date: Thu, 21 Feb 2002 09:11:39 -0800 (PST)
  257. Errors-To: icon-group-errors@cs.arizona.edu
  258. Status: RO
  259.  
  260. > Could someone tell me what Icon proc is used to roundoff real
  261. > numbers. Is there any discussion in the Analyst about this
  262. > subject?
  263.  
  264. I think there is ambiguity in the phrase "roundoff". What does
  265. this mean? Suppose I have 24.7231, what do I want to round it off to?
  266. The answer can be:
  267.  
  268. 1. 24 which is the round "off" to the integer. If this is the case,
  269.    then a simple function int will do the job.
  270. 2. 25 which is the "proper rounding" of a real number to the nearest
  271.    integer. If this is the case then simply add half the precision and
  272.    do the truncation. For our example: int(24.7231 + 0.5) = 25.
  273. 3. Or .... round it (off or to the nearest) hundreth. In this case
  274.    simply multiply the number by 100 and do the proper rounding as
  275.    described in 1 or 2 above.
  276.  
  277. -eka-
  278.  
  279.  
  280.  
  281. From icon-group-sender Thu Feb 21 17:44:29 2002
  282. Return-Path: <icon-group-sender>
  283. Received: (from root@localhost)
  284.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1M0i5U10224
  285.     for icon-group-addresses; Thu, 21 Feb 2002 17:44:05 -0700 (MST)
  286. Message-Id: <200202220044.g1M0i5U10224@baskerville.CS.Arizona.EDU>
  287. Date: Thu, 21 Feb 2002 15:10:48 -0600
  288. From: Benjamin Pharr <bnpharr@olemiss.edu>
  289. To: icon-group@cs.arizona.edu
  290. Subject: Seeding the Random Number Generator
  291. Content-Disposition: inline
  292. Status: RO
  293.  
  294. Does anyone have any good tips for seeding the random number generator?
  295. Right now I'm doing:
  296.  
  297. &random := integer( &time )
  298.  
  299. but since my program's startup time doesn't vary much that's not doing
  300. me much good. Thanks in advance.
  301.  
  302. Ben Pharr
  303. bnpharr@olemiss.edu
  304.  
  305. From icon-group-sender Fri Feb 22 08:10:17 2002
  306. Return-Path: <icon-group-sender>
  307. Received: (from root@localhost)
  308.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1MF8dg29115
  309.     for icon-group-addresses; Fri, 22 Feb 2002 08:08:39 -0700 (MST)
  310. Message-Id: <200202221508.g1MF8dg29115@baskerville.CS.Arizona.EDU>
  311. From: "Daniel Ajoy" <dajoy@openworldlearning.org>
  312. To: <icon-group@cs.arizona.edu>
  313. Date: Thu, 21 Feb 2002 21:23:30 -0500
  314. Subject: Re: Rounding real numbers
  315. X-Confirm-Reading-To: Daniel Ajoy <dajoy@openworldlearning.org>
  316. X-pmrqc: 1
  317. X-LINE1: ABCDEF0123456789
  318. Content-description: Mail message body
  319. Errors-To: icon-group-errors@cs.arizona.edu
  320. Status: RO
  321.  
  322. On 21 Feb 2002 at 16:41, rjhare@ed.ac.uk wrote:
  323.  
  324. > > I'm new here, what is the "Analyst"?
  325. > Icon `magazine' published from August 1990 to June 2001 - a total of 66
  326. > issues. The first several years are available online. See:
  327. > http://www.cs.arizona.edu/icon/
  328. > RH
  329.  
  330. Oh, thanks for the pointer.
  331.  
  332. Daniel
  333.  
  334.  
  335.  
  336.  
  337.  
  338. From icon-group-sender Fri Feb 22 08:10:44 2002
  339. Return-Path: <icon-group-sender>
  340. Received: (from root@localhost)
  341.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1MFAVQ29220
  342.     for icon-group-addresses; Fri, 22 Feb 2002 08:10:31 -0700 (MST)
  343. Message-Id: <200202221510.g1MFAVQ29220@baskerville.CS.Arizona.EDU>
  344. Date: Thu, 21 Feb 2002 22:37:11 -0500
  345. From: "David.Gamey" <david.gamey@rogers.com>
  346. User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2
  347. X-Accept-Language: en-us
  348. To: Benjamin Pharr <bnpharr@olemiss.edu>
  349. CC: icon-group@cs.arizona.edu
  350. Subject: Re: Seeding the Random Number Generator
  351. X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep03-mail.bloor.is.net.cable.rogers.com from [24.112.191.113] using ID <david.gamey@rogers.com> at Thu, 21 Feb 2002 22:45:08 -0500
  352. Errors-To: icon-group-errors@cs.arizona.edu
  353. Status: RO
  354.  
  355. Well that really depends upon the application.   Most (pseudo) random 
  356. number generators (PRNG) such as Icon/Unicon are intended for 
  357. applications such as simulations and games. There are volumes of 
  358. information about this available, such as Knuth's Semi-numerical 
  359. algorithms, and some good sites on random number generation.  They 
  360. describe not only how to construct them and characteristics, but also 
  361. good tests or randomness.  Simple tests include chi-squares of 
  362. distributions, correlations by plotting n-tuples of numbers in an 
  363. n-dimensional space and looking for patterns.  There are also some more 
  364. advanced tests, such as the spectral test.
  365.  
  366. If memory servers, there was an article on the Icon generator in the 
  367. Analyst within the last four years or so.  It has the odd (pardon the 
  368. pun in advance) characteristic that it produces two independant 
  369. repeating sequences depending upon it's input.  Odd seeds produce one 
  370. sequence, even another.  For more info see 
  371. http://www.cs.arizona.edu/icon/library/src/procs/random.icn which 
  372. includes a duplicate of the builtin PNRG.
  373.  
  374. Clint Jeffrey has suggested using:
  375.     &random := map("sSmMhH", "Hh:Mm:Ss", &clock) + map("YyXxMmDd", 
  376. "YyXx/Mm/Dd", &date)
  377. to seed using the date and clock time.  This code is actually used in 
  378. randomize() part of random.icn
  379.  
  380. Now if you're doing something that requires strong random numbers for a 
  381. cryptographic or authentication system this kind of PNRG isn't adequate. 
  382.  There are many more volumes of material on that subject including why 
  383. various classes of PNRG (including Icon's) are unsuitable and how to get 
  384. truly good entropy to seed these applications.  Some open source 
  385. projects like GNU Privacy Guard (Open PGP) have modules devoted to this. 
  386.  Also a number of notable companies have been embarassed by not getting 
  387. enough entropy into their RNG's (e.g. Netscape SSL in 1995).
  388.  
  389. Hope this helps.
  390.  
  391. David
  392.  
  393. Benjamin Pharr wrote:
  394.  
  395. >Does anyone have any good tips for seeding the random number generator?
  396. >Right now I'm doing:
  397. >
  398. >&random := integer( &time )
  399. >
  400. >but since my program's startup time doesn't vary much that's not doing
  401. >me much good. Thanks in advance.
  402. >
  403. >Ben Pharr
  404. >bnpharr@olemiss.edu
  405.  
  406. From icon-group-sender Fri Feb 22 08:11:03 2002
  407. Return-Path: <icon-group-sender>
  408. Received: (from root@localhost)
  409.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1MFAuE29257
  410.     for icon-group-addresses; Fri, 22 Feb 2002 08:10:56 -0700 (MST)
  411. Message-Id: <200202221510.g1MFAuE29257@baskerville.CS.Arizona.EDU>
  412. Date: Thu, 21 Feb 2002 22:42:10 -0500
  413. From: "David.Gamey" <david.gamey@rogers.com>
  414. User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2
  415. X-Accept-Language: en-us
  416. To: "David.Gamey" <david.gamey@rogers.com>
  417. CC: Benjamin Pharr <bnpharr@olemiss.edu>, icon-group@cs.arizona.edu
  418. Subject: Re: Seeding the Random Number Generator (correction)
  419. X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep01-mail.bloor.is.net.cable.rogers.com from [24.112.191.113] using ID <david.gamey@rogers.com> at Thu, 21 Feb 2002 22:49:53 -0500
  420. Errors-To: icon-group-errors@cs.arizona.edu
  421. Status: RO
  422.  
  423. Ooops. While Clint suggested this, I beleive that Ralph Griswold and/or 
  424. Gregg Townsend deserve original credit (since they wrote random.icn). My 
  425. mistake.
  426.  
  427. David.Gamey wrote:
  428.  
  429. >
  430. > Clint Jeffrey has suggested using:
  431. > &random := map("sSmMhH", "Hh:Mm:Ss", &clock) + map("YyXxMmDd", 
  432. > "YyXx/Mm/Dd", &date)
  433. > to seed using the date and clock time. This code is actually used in 
  434. > randomize() part of random.icn
  435. >
  436.  
  437.  
  438.  
  439.  
  440. From icon-group-sender Fri Feb 22 08:11:20 2002
  441. Return-Path: <icon-group-sender>
  442. Received: (from root@localhost)
  443.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1MFBDI29322
  444.     for icon-group-addresses; Fri, 22 Feb 2002 08:11:13 -0700 (MST)
  445. Message-Id: <200202221511.g1MFBDI29322@baskerville.CS.Arizona.EDU>
  446. Date: Thu, 21 Feb 2002 22:54:58 -0500
  447. From: "David.Gamey" <david.gamey@rogers.com>
  448. User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2
  449. X-Accept-Language: en-us
  450. To: "David.Gamey" <david.gamey@rogers.com>
  451. CC: Benjamin Pharr <bnpharr@olemiss.edu>, icon-group@cs.arizona.edu
  452. Subject: Re: Seeding the Random Number Generator (more on cryptographic PNRG's)
  453. X-Authentication-Info: Submitted using SMTP AUTH PLAIN at fep02-mail.bloor.is.net.cable.rogers.com from [24.112.191.113] using ID <david.gamey@rogers.com> at Thu, 21 Feb 2002 23:02:43 -0500
  454. Errors-To: icon-group-errors@cs.arizona.edu
  455. Status: RO
  456.  
  457. I just found this in sci.crypt that might be of interest.
  458. I'll stop (hopefully) before I'm guilty of too much information.
  459.  
  460. David
  461.  
  462. --------------------
  463. Zeljko Vrba wrote:
  464.  
  465.  
  466. >> Given a sequence of consecutive pseudo-random numbers and a known method
  467. >> (e.g. linear congruential method), is it possible to recover the random
  468. >> seed and how many (minimally) consecutive numbers from the sequence are needed
  469. >> so that the seed can be determined uniquely?
  470. >>
  471. >> Any pointers to the subject are appreciated.
  472. >
  473.  
  474. The difficulty of the problem depends on the details of the pseudo-random
  475. number generating algorithm. For the case of linear congruential sequences,
  476. I believe the original work was by J. Boyar and Donald Knuth --- a google
  477. search on "boyar knuth" is fruitful. Another famously insecure PRNG is
  478. the linear-feedback shift register, whose state can be found from a number
  479. of output bits equal to the length of the register.
  480.  
  481. A cryptographically strong PRNG must have the property that knowing
  482. past outputs and future outputs will not help to find present outputs.
  483. Some good examples appear in the appendices of the FIPS 186
  484. standard (http://csrc.nist.gov/publications/fips/fips186-2/fips186-2.pdf).
  485.  
  486. - Peter
  487.  
  488. p p e a r s o n (at) r c n (dot) c o m
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496. From icon-group-sender Fri Feb 22 08:11:36 2002
  497. Return-Path: <icon-group-sender>
  498. Received: (from root@localhost)
  499.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1MFBT229341
  500.     for icon-group-addresses; Fri, 22 Feb 2002 08:11:29 -0700 (MST)
  501. Message-Id: <200202221511.g1MFBT229341@baskerville.CS.Arizona.EDU>
  502. Date: 22 Feb 2002  08:58:11 GMT
  503. From: rjhare@ed.ac.uk
  504. Subject: Re: Seeding the Random Number Generator
  505. To: Benjamin Pharr <bnpharr@olemiss.edu>
  506. cc: icon-group@cs.arizona.edu
  507. Errors-To: icon-group-errors@cs.arizona.edu
  508. Status: RO
  509.  
  510. > Does anyone have any good tips for seeding the random number generator?
  511. > Right now I'm doing:
  512. > &random := integer( &time )
  513. > but since my program's startup time doesn't vary much that's not doing
  514. > me much good. Thanks in advance.
  515.  
  516. I always use:
  517.  
  518. &random:=&date[6:8]||&date[9:11]||&clock[1:3]||&clock[4:6]||&clock[7:9]
  519.  
  520. It seems to work, but I don't know if there is any good mathematical reason for
  521. this. Anyone with a greater knowledge of random number generation care to
  522. comment? I'd like to know more myself.
  523.  
  524. RH
  525.  
  526.  
  527. From icon-group-sender Mon Feb 25 08:19:19 2002
  528. Return-Path: <icon-group-sender>
  529. Received: (from root@localhost)
  530.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1PFHDA06347
  531.     for icon-group-addresses; Mon, 25 Feb 2002 08:17:13 -0700 (MST)
  532. Message-Id: <200202251517.g1PFHDA06347@baskerville.CS.Arizona.EDU>
  533. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  534. To: icon-group@cs.arizona.edu
  535. Date: Sun, 24 Feb 2002 13:10:28 -0000
  536. Subject: icon or perl?
  537. Errors-To: icon-group-errors@cs.arizona.edu
  538. Status: RO
  539.  
  540. Hi
  541. I've recently come back to icon after a break of about 10 years (v 5 
  542. or v6) I was wondering whether to put most of my effort into perl or 
  543. icon.
  544. It seems to me that perl is far more versatile than icon & has the 
  545. advantage of sohpisticated pattern matching using regular 
  546. expressions.
  547. Is anyone a regular use of both programs & can point to 
  548. advantages of one or the other for text processing?
  549. Maybe there has been a thread like this previously, in which case it 
  550. might be better to point me in that direection rather then grinding 
  551. the same wheat through the mill!
  552.  
  553. Chris Korycinski
  554.  
  555. ===========================================================
  556. Please send attachments only as plain text or .rtf files
  557.  
  558.  
  559. From icon-group-sender Thu Feb 28 12:29:46 2002
  560. Return-Path: <icon-group-sender>
  561. Received: (from root@localhost)
  562.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g1SJSao06768
  563.     for icon-group-addresses; Thu, 28 Feb 2002 12:28:36 -0700 (MST)
  564. Message-Id: <200202281928.g1SJSao06768@baskerville.CS.Arizona.EDU>
  565. From: korax1214@operamail.com (Robert Baker)
  566. X-Newsgroups: comp.lang.icon
  567. Subject: Re: puzzle solving program
  568. Date: 28 Feb 2002 10:49:28 -0800
  569. X-Complaints-To: groups-abuse@google.com
  570. To: icon-group@cs.arizona.edu
  571. Errors-To: icon-group-errors@cs.arizona.edu
  572. Status: RO
  573.  
  574. PACaleala <PACaleala@hotmail.com> wrote in message news:<3C61B86F.82EA3770@hotmail.com>...
  575. > given a random set of 9 letters 
  576. > i need to find all combinations up to 9 letters long
  577. > do you have any sugestions suitable for a beginner ?
  578.  
  579. Firstly, I'm afraid you've got your terminology wrong.  If you have
  580. nine letters, there's only one *combination* of all nine -- but there
  581. are 362,880 *permutations*, which I think is what you meant.
  582.  
  583. I'm afraid I don't know Icon (I came in here looking for *icons* -- if
  584. anyone knows which newsgroup is appropriate, or a good website, please
  585. e-mail me, but you need to delete "korax1214" and substitute
  586. "robert.bak", as the account with which I post to UseNet is just a
  587. spam-sink and I'll never see anything sent there), but in Pascal
  588. (perhaps someone could translate) a simple bit of code to do something
  589. like what you want goes like this:
  590.  
  591. { l[1..9] is a 9-character string 
  592.   n (passed from a procedure header?) is the number of letters
  593.     required in the permutation
  594. }
  595. for a:=1 to 9 do
  596.   for b:=1 to 9 do
  597.     if b<>a then for c:=1 to 9 do
  598.        if (c<>a) and (c<>b) then for d:=1 to 9 do
  599. .... (I think you get the idea)
  600.                 writeln(l[a],l[b],l[c],l[d],l[e],l[f],l[g],
  601.                    l[h],l[i]);
  602.  
  603. The above (crude and clumsy, but it will work) writes all 362,880
  604. perms, one to a line, to standard output.  With luck you may be able
  605. to adapt it (or the idea at least) to something approaching your
  606. needs...
  607.  
  608.  
  609. From icon-group-sender Fri Mar  1 12:54:22 2002
  610. Return-Path: <icon-group-sender>
  611. Received: (from root@localhost)
  612.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g21JqEc03768
  613.     for icon-group-addresses; Fri, 1 Mar 2002 12:52:14 -0700 (MST)
  614. Message-Id: <200203011952.g21JqEc03768@baskerville.CS.Arizona.EDU>
  615. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  616. To: icon-group@cs.arizona.edu
  617. Date: Fri, 1 Mar 2002 18:37:17 -0000
  618. Subject: compile or interpret?
  619. Errors-To: icon-group-errors@cs.arizona.edu
  620. Status: RO
  621.  
  622. Even after reading the icon docs, I'm not sure what is being 
  623. compiled and what is interpreted (or needs some sort of run-time 
  624. library).
  625. In Windows, an exe program is produced, but does this depend on 
  626. a run-time to work? (I can't try this at work as its all Solaris/Linux).
  627.  
  628. Basically, I want to supply a copy of an icon program one for 
  629. Windows, one for Linux to people who don't have icon on their 
  630. systems. I was wondering whether these were truly stand-alone, or 
  631. whether I should also supply a translator with them - icont, wicont, 
  632. or whatever.
  633. Chris Korycinski
  634.  
  635. ===========================================================
  636. Please send attachments only as plain text or .rtf files
  637.  
  638.  
  639. From icon-group-sender Fri Mar  1 16:51:45 2002
  640. Return-Path: <icon-group-sender>
  641. Received: (from root@localhost)
  642.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g21NpWs05354
  643.     for icon-group-addresses; Fri, 1 Mar 2002 16:51:32 -0700 (MST)
  644. Message-Id: <200203012351.g21NpWs05354@baskerville.CS.Arizona.EDU>
  645. Date: Fri, 1 Mar 2002 13:17:43 -0700 (MST)
  646. From: Gregg Townsend <gmt@cs.arizona.edu>
  647. To: chris@starsparkle.co.uk, icon-group@cs.arizona.edu
  648. Subject: Re: compile or interpret?
  649. Errors-To: icon-group-errors@cs.arizona.edu
  650. Status: RO
  651.  
  652. >  From: "Chris Korycinski" <chris@starsparkle.co.uk>
  653. >  
  654. >  In Windows, an exe program is produced, but does this depend on 
  655. >  a run-time to work? (I can't try this at work as its all Solaris/Linux).
  656. >  Basically, I want to supply a copy of an icon program one for 
  657. >  Windows, one for Linux to people who don't have icon on their 
  658. >  systems....
  659.  
  660. The icont command "compiles" and "links" to produce code for an
  661. abstract virtual machine.  The interpreter for this virtual machine
  662. is needed at execution time.
  663.  
  664. On Windows, I *think* the .exe contains the interpreter and is
  665. sufficient by itself.
  666.  
  667. On Linux (or any Unix system), the "iconx" executable is also needed.
  668. Ship a copy of it in the same directory as the file produced by icont.
  669.  
  670. ---------------------------------------------------------------------------
  671. Gregg Townsend         Staff Scientist      The University of Arizona
  672. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  673.  
  674.  
  675.  
  676. From icon-group-sender Fri Mar  1 16:53:04 2002
  677. Return-Path: <icon-group-sender>
  678. Received: (from root@localhost)
  679.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g21Nr2605412
  680.     for icon-group-addresses; Fri, 1 Mar 2002 16:53:02 -0700 (MST)
  681. Message-Id: <200203012353.g21Nr2605412@baskerville.CS.Arizona.EDU>
  682. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  683. To: icon-group@cs.arizona.edu
  684. Date: Fri, 1 Mar 2002 21:21:58 -0000
  685. Subject: RE: icon or perl?
  686. Errors-To: icon-group-errors@cs.arizona.edu
  687. Status: RO
  688.  
  689. Thanks for the replies to my original query.
  690.  
  691. After a bit of thought, I'm going for both! Perl because I have to (we 
  692. have programs like 'sgmlperl'  which processes sgml/xml text on 
  693. an entity level, but which uses perl to do all the bits of processing 
  694. you want to do. It is PD if anyone is interested (try the university of 
  695. Edinburgh informatics or cognitive science section if Google 
  696. doesn't come up with the goods)
  697.  
  698. However, perl seems to me like someone took VB, C and a few 
  699. other languages and stuffed them all into a liquidiser - perl was the 
  700. result. It lack coherence (to me). I don't think I want to go back to 
  701. C unless I have to, so press on with icon...
  702. Chris Korycinski
  703.  
  704. ===========================================================
  705. Please send attachments only as plain text or .rtf files
  706.  
  707.  
  708. From icon-group-sender Mon Mar  4 08:19:51 2002
  709. Return-Path: <icon-group-sender>
  710. Received: (from root@localhost)
  711.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g24FIUc28746
  712.     for icon-group-addresses; Mon, 4 Mar 2002 08:18:30 -0700 (MST)
  713. Message-Id: <200203041518.g24FIUc28746@baskerville.CS.Arizona.EDU>
  714. From: Bob Ardler <ardler@argonet.co.uk>
  715. To: icon-group@cs.arizona.edu
  716. Date: Sat, 02 Mar 2002 10:32:20 +0000 (GMT)
  717. Subject: Re: icon or perl?
  718. User-Agent: Pluto/2.03e (RISC-OS/4.03)
  719. Errors-To: icon-group-errors@cs.arizona.edu
  720. Status: RO
  721.  
  722. Chris Korycinski <chris@starsparkle.co.uk> wrote:
  723. > Thanks for the replies to my original query.
  724. What replies? Emailed privately? O-o-o-o-oh, boy.
  725.  
  726.  
  727.  
  728. From icon-group-sender Mon Mar  4 08:21:16 2002
  729. Return-Path: <icon-group-sender>
  730. Received: (from root@localhost)
  731.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g24FLDc28972
  732.     for icon-group-addresses; Mon, 4 Mar 2002 08:21:13 -0700 (MST)
  733. Message-Id: <200203041521.g24FLDc28972@baskerville.CS.Arizona.EDU>
  734. From: "John Sampson" <jsampson@indexes.u-net.com>
  735. To: <icon-group@cs.arizona.edu>
  736. Subject: RE: icon or perl?
  737. Date: Sat, 2 Mar 2002 20:54:45 -0000
  738. X-Priority: 3 (Normal)
  739. X-MSMail-Priority: Normal
  740. Importance: Normal
  741. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
  742. Errors-To: icon-group-errors@cs.arizona.edu
  743. Status: RO
  744.  
  745. Hello -
  746.  
  747. Language from a liquidiser? Sounds like English!
  748.  
  749. Icon seems to be ahead of its time in that its features turn up in newer
  750. languages, e.g. generators recently added to Python.
  751.  
  752. Regards
  753.  
  754. _John Sampson_
  755.  
  756.  
  757.  
  758.  
  759. From icon-group-sender Mon Mar 11 12:54:35 2002
  760. Return-Path: <icon-group-sender>
  761. Received: (from root@localhost)
  762.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2BJpTw19284
  763.     for icon-group-addresses; Mon, 11 Mar 2002 12:51:29 -0700 (MST)
  764. Message-Id: <200203111951.g2BJpTw19284@baskerville.CS.Arizona.EDU>
  765. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  766. X-Newsgroups: comp.lang.icon
  767. Subject: Cygwin for Icon Win32 
  768. X-Priority: 3
  769. X-MSMail-Priority: Normal
  770. X-Newsreader: Microsoft Outlook Express 5.50.4522.1200
  771. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
  772. Date: Mon, 11 Mar 2002 15:04:19 GMT
  773. X-Complaints-To: business-support@verizon.com
  774. To: icon-group@cs.arizona.edu
  775. Errors-To: icon-group-errors@cs.arizona.edu
  776. Status: RO
  777.  
  778. Currently, the Windows version of Icon comes with support for precisely one
  779. compiler: MS VC/C++. Granted, this is quite arguably the only proprietary C
  780. compiler for Windows worth mentioning, but given the strong ties between
  781. Icon and the free software movement, it is surprising that no one has ported
  782. Icon to the GNU-licensed C compiler for Win32, namely Cygwin.
  783.  
  784. I am willing to work on such a port in my spare time. But first, I would
  785. like to know if anyone has either done this port or started to do this port,
  786. so that I may avoid duplicated effort.
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793. From icon-group-sender Mon Mar 11 17:06:07 2002
  794. Return-Path: <icon-group-sender>
  795. Received: (from root@localhost)
  796.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2C05nU01530
  797.     for icon-group-addresses; Mon, 11 Mar 2002 17:05:49 -0700 (MST)
  798. Message-Id: <200203120005.g2C05nU01530@baskerville.CS.Arizona.EDU>
  799. Date: Mon, 11 Mar 2002 16:00:22 -0700
  800. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  801. To: lhota.adarose@verizon.net
  802. CC: icon-group@cs.arizona.edu
  803. Subject: Re: Cygwin for Icon Win32
  804. Errors-To: icon-group-errors@cs.arizona.edu
  805. Status: RO
  806.  
  807.  
  808. [Frank Lhota asks about non-MSVC C compiler support for Windows Icon]
  809.  
  810. The eternally-beta Unicon distribution includes support for GCC 2.95.2 using
  811. Mingw32.  There is a config/win32/gcc directory you could use as a good
  812. starting point for making a config/win32/cygwin configuration, along with
  813. #ifdef NTGCC codes throughout the sources.  These are all in the public
  814. Unicon CVS repository at present, but not yet in the prepackaged Unicon
  815. distributions.
  816.  
  817. While I am focused on (and taking forever to complete) Unicon and claim it
  818. is an improvement upon Windows Icon in many respects, I will be very happy
  819. to assist anyone willing to work on porting Windows Icon to new compilers,
  820. or updating and maintaining it, especially if I can add such new compiler
  821. configurations to Unicon.
  822.  
  823. Regards,
  824. Clint Jeffery, jeffery@cs.nmsu.edu
  825.  
  826.  
  827. From icon-group-sender Wed Mar 13 08:04:33 2002
  828. Return-Path: <icon-group-sender>
  829. Received: (from root@localhost)
  830.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2DF32Q11769
  831.     for icon-group-addresses; Wed, 13 Mar 2002 08:03:02 -0700 (MST)
  832. Message-Id: <200203131503.g2DF32Q11769@baskerville.CS.Arizona.EDU>
  833. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  834. To: icon-group@cs.arizona.edu
  835. Date: Tue, 12 Mar 2002 22:36:09 -0000
  836. Subject: Re: Cygwin for Icon Win32 
  837. Errors-To: icon-group-errors@cs.arizona.edu
  838. Status: RO
  839.  
  840. On 11 Mar 2002, at 15:04, Frank J. Lhota wrote:
  841.  
  842. > I am willing to work on such a port in my spare time. But first, I would
  843. > like to know if anyone has either done this port...
  844.  
  845. I don't know of anyone who has done this, but I'd just like to say 
  846. how welcome your work would be.
  847. Chris Korycinski
  848.  
  849. ===========================================================
  850. Please send attachments only as plain text or .rtf files
  851.  
  852.  
  853. From icon-group-sender Wed Mar 13 08:04:50 2002
  854. Return-Path: <icon-group-sender>
  855. Received: (from root@localhost)
  856.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2DF4lo11841
  857.     for icon-group-addresses; Wed, 13 Mar 2002 08:04:47 -0700 (MST)
  858. Message-Id: <200203131504.g2DF4lo11841@baskerville.CS.Arizona.EDU>
  859. From: rkstuart <rkstuart@prodigy.net>
  860. User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.8) Gecko/20020204
  861. X-Accept-Language: en-us
  862. X-Newsgroups: comp.lang.icon
  863. Subject: Printers?
  864. X-Complaints-To: abuse@prodigy.net
  865. X-UserInfo1: Q[R_PJONGZTUC\\[OROLN[YFQ[WJBQ\KCA_@LWQIMASTUSAANNTEAK_ZQL[^HVWKGFDWJ@^NJ^[D_DKBRFW]NVHG@^RQXS\HJ@X^B_KBETUD@EP_XC@NIQKASLEE[KJMML^CJIZM\YYWWICSELXINHC_FK^XWQKIHA[Y@@OB@CCRA_LEY\FLLQ\GXVUKQPBL
  866. Date: Tue, 12 Mar 2002 22:30:30 GMT
  867. To: icon-group@cs.arizona.edu
  868. Errors-To: icon-group-errors@cs.arizona.edu
  869. Status: RO
  870.  
  871. I've been reading through the documentation for Icon and haven't noticed 
  872. anything about sending data to a printer.  Is this not a part of the 
  873. language or have I missed it?
  874.  
  875.  
  876.  
  877. From icon-group-sender Thu Mar 14 12:27:34 2002
  878. Return-Path: <icon-group-sender>
  879. Received: (from root@localhost)
  880.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2EJQQA27476
  881.     for icon-group-addresses; Thu, 14 Mar 2002 12:26:26 -0700 (MST)
  882. Message-Id: <200203141926.g2EJQQA27476@baskerville.CS.Arizona.EDU>
  883. Date: Thu, 14 Mar 2002 09:10:55 -0700 (MST)
  884. From: Gregg Townsend <gmt@cs.arizona.edu>
  885. To: icon-group@cs.arizona.edu, rkstuart@prodigy.net
  886. Subject: Re: Printers?
  887. Errors-To: icon-group-errors@cs.arizona.edu
  888. Status: RO
  889.  
  890. >  From: rkstuart <rkstuart@prodigy.net>
  891. >  Date: Tue, 12 Mar 2002 22:30:30 GMT
  892. >  
  893. >  I've been reading through the documentation for Icon and haven't noticed 
  894. >  anything about sending data to a printer.  Is this not a part of the 
  895. >  language or have I missed it?
  896.  
  897. It's not part of the language.  (Icon developed in an environment
  898. where programs just write files and don't talk directly to printers.)
  899.  
  900. There are some library procedures that assist in writing PostScript,
  901. if a text file does not suffice.
  902.  
  903. ---------------------------------------------------------------------------
  904. Gregg Townsend         Staff Scientist      The University of Arizona
  905. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  906.  
  907.  
  908. From icon-group-sender Fri Mar 15 12:21:31 2002
  909. Return-Path: <icon-group-sender>
  910. Received: (from root@localhost)
  911.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2FJKl602971
  912.     for icon-group-addresses; Fri, 15 Mar 2002 12:20:47 -0700 (MST)
  913. Message-Id: <200203151920.g2FJKl602971@baskerville.CS.Arizona.EDU>
  914. From: Gregg Townsend <gmt>
  915. Date: Fri, 15 Mar 2002 09:49:37 -0700 (MST)
  916. To: icon-group, rjhare@ed.ac.uk
  917. Subject: Re: PostScript
  918. Errors-To: icon-group-errors@cs.arizona.edu
  919. Status: RO
  920.  
  921.  
  922. > There are some library procedures that assist in writing PostScript,
  923. > if a text file does not suffice.
  924.  
  925. >  From rjhare@holyrood.ed.ac.uk Fri Mar 15 02:02:15 2002
  926. >
  927. >  Can you remind us (me) where they are? ...
  928.  
  929. Here are a few packages in the Icon program library that help
  930. write PostScript files from Icon.
  931.  
  932. procs/pscript.icn is for programs that want to write PostScript
  933. directly.  It just writes out a PostScript header to set up the
  934. coordinate system.  See:
  935.    http://www.cs.arizona.edu/icon/library/procs/pscript.htm
  936.  
  937. gprocs/psrecord.icn is for graphics programs that also want to
  938. create a PostScript version of output.  It emulates many of the
  939. Icon graphics functions, and can be turned on or off.  See:
  940.    http://www.cs.arizona.edu/icon/library/gprocs/psrecord.htm
  941.  
  942. gprocs/autopost.icn makes it easy to hook up psrecord to an
  943. existing Icon program.  Because psrecord is imperfect, this
  944. works better for some programs than others.
  945.    http://www.cs.arizona.edu/icon/library/gprocs/autopost.htm
  946.  
  947. ---------------------------------------------------------------------------
  948. Gregg Townsend         Staff Scientist      The University of Arizona
  949. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  950.  
  951.  
  952. From icon-group-sender Mon Mar 18 12:59:09 2002
  953. Return-Path: <icon-group-sender>
  954. Received: (from root@localhost)
  955.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2IJvss28880
  956.     for icon-group-addresses; Mon, 18 Mar 2002 12:57:54 -0700 (MST)
  957. Message-Id: <200203181957.g2IJvss28880@baskerville.CS.Arizona.EDU>
  958. From: "Boulet, Dan" <BouleDa@navcanada.ca>
  959. To: "'IconGroup'" <icon-group@cs.arizona.edu>
  960. Subject: Calling C functions
  961. Date: Mon, 18 Mar 2002 11:01:12 -0500
  962. Status: RO
  963.  
  964. I'd be interested to know if anybody has had any success calling C functions
  965. from within Icon.  I operate in a Windows NT environment and I'm using
  966. Borland's C++ compiler (version 5.02).
  967.  
  968. If someone has a working example, I would appreciate seeing it.
  969.  
  970. Regards,
  971.  
  972. Daniel J. Boulet
  973. bouleda@navcanada.ca <mailto:bouleda@navcanada.ca> 
  974. Technical Systems Centre - C113-4
  975. (613) 248-7221
  976.  
  977. From icon-group-sender Wed Mar 20 17:08:04 2002
  978. Return-Path: <icon-group-sender>
  979. Received: (from root@localhost)
  980.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2L06Oo27062
  981.     for icon-group-addresses; Wed, 20 Mar 2002 17:06:24 -0700 (MST)
  982. Message-Id: <200203210006.g2L06Oo27062@baskerville.CS.Arizona.EDU>
  983. From: Bruce Gordon Rennie <brennie@dcsi.net.au>
  984. X-Newsgroups: comp.lang.icon
  985. Subject: Application error under UNICON on Windows NT4.0
  986. Date: Wed, 20 Mar 2002 13:08:06 +1100
  987. X-Complaints-To: abuse@connect.com.au
  988. X-Accept-Language: en
  989. Cache-Post-Path: mango.dcsi.net.au!unknown@ppp-118.dialup.war.dcsi.net.au
  990. X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/)
  991. To: icon-group@cs.arizona.edu
  992. Errors-To: icon-group-errors@cs.arizona.edu
  993. Status: RO
  994.  
  995. The following code is causing this error
  996.  
  997. CODE:
  998.  
  999. procedure main()
  1000. local inp, outp, dirl,sdir, cfile
  1001.  
  1002.     sdir := "\"e:\\program files\\bigforth\""
  1003.  
  1004.  
  1005.     write(chdir())
  1006.     chdir(sdir)         <--  error at this point
  1007.     write(chdir())
  1008.     #dirl := open(sdir)
  1009.     #every cfile := !sdir do {
  1010.     #    cfile ? (write(move(upto('.'))) & =".fb")
  1011.     #}
  1012. end
  1013.  
  1014.  
  1015. ERROR:
  1016.  
  1017. Exception stack overflow(0xc00000fd), Address: 0x00412d85
  1018.  
  1019. This error is generated irrespective of the form of the string supplied
  1020.  
  1021. variations tried are 
  1022.  
  1023. "e:/program files/bigforth"
  1024. "e:\\program files\\bigforth"
  1025. "\"e:\\program files\\bigforth\""
  1026.  
  1027.  
  1028. regards
  1029. -- 
  1030. Bruce Rennie ( from God's Own Country Downunder )
  1031. Disciple of Jesus Christ in Training
  1032.  
  1033. The Cross of Jesus Christ - Salvation for all men.
  1034.  
  1035. Song of Solomon ( Song of Songs ) - The greatest Love Story Ever
  1036. and a story for our times.
  1037.  
  1038. Be a GOD Chaser.
  1039.  
  1040.  
  1041.  
  1042.  
  1043. From icon-group-sender Thu Mar 28 15:22:17 2002
  1044. Return-Path: <icon-group-sender>
  1045. Received: (from root@localhost)
  1046.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g2SMKqI11933
  1047.     for icon-group-addresses; Thu, 28 Mar 2002 15:20:52 -0700 (MST)
  1048. Message-Id: <200203282220.g2SMKqI11933@baskerville.CS.Arizona.EDU>
  1049. Date: Wed, 27 Mar 2002 16:58:55 -0700 (MST)
  1050. From: Gregg Townsend <gmt>
  1051. To: icon-group
  1052. Subject: Announcing Icon 9.4.1 for Unix (and now Macintosh)
  1053. Errors-To: icon-group-errors@cs.arizona.edu
  1054. Status: RO
  1055.  
  1056. Version 9.4.1 of Icon is now available for Unix systems.  This version
  1057. addresses several minor portability and installation issues and adds a
  1058. facility for using Icon programs as script files.
  1059.  
  1060. Icon 9.4.1 can be built and run in a terminal window on an Apple Macintosh
  1061. running MacOS X version 10.1.  Icon's graphics facilities are available if
  1062. XFree86 is installed.
  1063.  
  1064. The Version 9.4.1 library is also available separately for use with Icon
  1065. 9.3.2 for Windows, which remains current, or with other versions of Icon.
  1066.  
  1067. For more information, see
  1068.     http://www.cs.arizona.edu/icon/v941
  1069.  
  1070. ---------------------------------------------------------------------------
  1071. Gregg Townsend         Staff Scientist      The University of Arizona
  1072. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1073.  
  1074.  
  1075.  
  1076. From icon-group-sender Mon Apr  1 16:00:34 2002
  1077. Return-Path: <icon-group-sender>
  1078. Received: (from root@localhost)
  1079.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g31N0UA20686
  1080.     for icon-group-addresses; Mon, 1 Apr 2002 16:00:30 -0700 (MST)
  1081. Message-Id: <200204012300.g31N0UA20686@baskerville.CS.Arizona.EDU>
  1082. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  1083. X-Newsgroups: comp.lang.icon
  1084. Subject: Icon for DOS?
  1085. X-Priority: 3
  1086. X-MSMail-Priority: Normal
  1087. X-Newsreader: Microsoft Outlook Express 5.50.4522.1200
  1088. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
  1089. Date: Thu, 28 Mar 2002 14:52:28 GMT
  1090. X-Complaints-To: abuse@verizon.net
  1091. To: icon-group@cs.arizona.edu
  1092. Errors-To: icon-group-errors@cs.arizona.edu
  1093. Status: RO
  1094.  
  1095. While trying to port Icon to use the Cygwin compiler, I couldn't help but
  1096. notice how much system-specific code was in there for MS-DOS compilers. At
  1097. this point, is there anyone still using Icon under DOS? After all, MS-DOS
  1098. and PC-DOS have not been supported for years. DR-DOS is now no longer
  1099. supported. The only version of DOS that is actively supported is FreeDOS,
  1100. and the only active C/C++ DOS compiler DJGPP, which unfortunately is the
  1101. only DOS compiler that Icon does NOT support! Instead, we have macros for
  1102. compiling Icon using the Borland 286 or Zortech compiler, development tools
  1103. that are very hard to find now.
  1104.  
  1105. I think it's time to decide whether Icon for DOS is worth supporting. If we
  1106. do want Icon for DOS, we should port it to the DJGPP compiler (it's not
  1107. hard, I've done it once before). Whether we do or don't support DOS,
  1108. however, we could certainly clean up the code considerably by cutting all
  1109. the code specific to dead DOS compilers.
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115. From icon-group-sender Mon Apr  1 16:01:08 2002
  1116. Return-Path: <icon-group-sender>
  1117. Received: (from root@localhost)
  1118.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g31N12Y20727
  1119.     for icon-group-addresses; Mon, 1 Apr 2002 16:01:02 -0700 (MST)
  1120. Message-Id: <200204012301.g31N12Y20727@baskerville.CS.Arizona.EDU>
  1121. X-Originating-IP: [208.142.142.82]
  1122. From: "brian balote" <ark_jester@hotmail.com>
  1123. To: icon-group@cs.arizona.edu
  1124. Date: Fri, 29 Mar 2002 08:56:15 +0000
  1125. X-OriginalArrivalTime: 29 Mar 2002 08:56:16.0380 (UTC) FILETIME=[95F2B3C0:01C1D6FF]
  1126. Errors-To: icon-group-errors@cs.arizona.edu
  1127. Status: RO
  1128.  
  1129. im currently working on a txt editor for screenplay writing.
  1130.  
  1131. im having some trouble with icon's file i/o funtionalities.
  1132.  
  1133. please send me some working code samples of all open("s1","s2") functions
  1134.  
  1135. it would really help my work
  1136.  
  1137. thanks alot
  1138.  
  1139. _________________________________________________________________
  1140. Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.
  1141.  
  1142.  
  1143.  
  1144. From icon-group-sender Mon Apr  1 16:02:55 2002
  1145. Return-Path: <icon-group-sender>
  1146. Received: (from root@localhost)
  1147.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g31N2q620870
  1148.     for icon-group-addresses; Mon, 1 Apr 2002 16:02:52 -0700 (MST)
  1149. Message-Id: <200204012302.g31N2q620870@baskerville.CS.Arizona.EDU>
  1150. From: gmt@cs.arizona.edu (Gregg Townsend)
  1151. X-Newsgroups: comp.lang.icon
  1152. Subject: Re: Icon for DOS?
  1153. Date: 29 Mar 2002 17:57:45 -0700
  1154. To: icon-group@cs.arizona.edu
  1155. Errors-To: icon-group-errors@cs.arizona.edu
  1156. Status: RO
  1157.  
  1158. In article <M6Go8.8953$ov6.2855@nwrddc04.gnilink.net>,
  1159. Frank J. Lhota <NOSPAM.lhota.adarose@verizon.net> wrote:
  1160. >
  1161. > I think it's time to decide whether Icon for DOS is worth supporting. If we
  1162. > do want Icon for DOS, we should port it to the DJGPP compiler (it's not
  1163. > hard, I've done it once before). Whether we do or don't support DOS,
  1164. > however, we could certainly clean up the code considerably by cutting all
  1165. > the code specific to dead DOS compilers.
  1166.  
  1167. After consultation with Steve Waldo, who built the last set of MS-DOS
  1168. binaries, I removed the MS-DOS configurations from Icon 9.4.0 as part
  1169. of a large cleanup.  Some more debris has vanished from the new 9.4.1.
  1170.  
  1171. However, there *is* still a lot of obsolete code in Icon.  I've
  1172. occasionally excised chunks as opportunity permitted, but if I
  1173. wasn't sure about something, I generally left it in.
  1174.  
  1175. Part of the problem is that I don't know what some of that stuff is,
  1176. or whether any remnants of the MS-DOS code might still be useful in
  1177. MS Windows, its descendant.  I'd be happy to be enlightened.
  1178.  
  1179. ---------------------------------------------------------------------------
  1180. Gregg Townsend         Staff Scientist      The University of Arizona
  1181. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1182.  
  1183.  
  1184. From icon-group-sender Mon Apr  1 16:03:12 2002
  1185. Return-Path: <icon-group-sender>
  1186. Received: (from root@localhost)
  1187.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g31N39620912
  1188.     for icon-group-addresses; Mon, 1 Apr 2002 16:03:09 -0700 (MST)
  1189. Message-Id: <200204012303.g31N39620912@baskerville.CS.Arizona.EDU>
  1190. Date: Sat, 30 Mar 2002 18:00:50 -0500 (EST)
  1191. From: paolillo@slis.indiana.edu
  1192. To: icon-group@cs.arizona.edu
  1193. Subject: Icon 9.4.1 and Mac OS X
  1194. Errors-To: icon-group-errors@cs.arizona.edu
  1195. Status: RO
  1196.  
  1197. Folks,
  1198.  
  1199. The new Unix Icon doesn't compile under Mac OS X completely 
  1200. as advertised; I tried compilation on two different systems 
  1201. with XFree86 installed, and got numerous (ultimately fatal) 
  1202. messages to the effect that the X11R6 include files couldn't 
  1203. be found.  Meanwhile, on another system, a member of our Unix 
  1204. support staff discovered this:
  1205.  
  1206. >In config/unix/ppc_macos/Makedefs I had to add -I/usr/X11R6/include.  
  1207. >Whoever built the package must have had a link in /usr/include to the 
  1208. >X11 includes.
  1209.  
  1210. So with the above change, everything should compile as
  1211. advertised.
  1212.  
  1213. John Paolillo
  1214. SLIS and Informatics
  1215. Indiana University
  1216.  
  1217.  
  1218. From icon-group-sender Fri Apr  5 11:07:14 2002
  1219. Return-Path: <icon-group-sender>
  1220. Received: (from root@localhost)
  1221.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g35I7CI28097
  1222.     for icon-group-addresses; Fri, 5 Apr 2002 11:07:12 -0700 (MST)
  1223. Message-Id: <200204051807.g35I7CI28097@baskerville.CS.Arizona.EDU>
  1224. Date: Mon, 1 Apr 2002 17:20:51 -0700
  1225. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  1226. To: gmt@cs.arizona.edu
  1227. CC: icon-group@cs.arizona.edu
  1228. Subject: Re: Icon for DOS?
  1229. Errors-To: icon-group-errors@cs.arizona.edu
  1230. Status: RO
  1231.  
  1232.  
  1233. [Gregg comments]
  1234. > Part of the problem is that I don't know what some of that stuff is,
  1235. > or whether any remnants of the MS-DOS code might still be useful in
  1236. > MS Windows, its descendant.  I'd be happy to be enlightened.
  1237.  
  1238. The MS Windows configuration definitely does use stuff under #if MSDOS
  1239. but does not use DOS-compiler-specific #ifdefs such as for Borland
  1240. or Zortech.
  1241.  
  1242. The conservatism we have for source code is well-founded, but maybe at
  1243. some point what I'd vote for is to (a) make a major purge of compiler
  1244. specific code for dead compilers/platforms, and (b) keep a copy of
  1245. the old pre-purge source distribution available, in case anyone needs
  1246. to use one of the old compilers.
  1247.  
  1248. Clint jeffery@cs.nmsu.edu
  1249.  
  1250.  
  1251. From icon-group-sender Fri Apr  5 11:06:59 2002
  1252. Return-Path: <icon-group-sender>
  1253. Received: (from root@localhost)
  1254.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g35I5bk28035
  1255.     for icon-group-addresses; Fri, 5 Apr 2002 11:05:37 -0700 (MST)
  1256. Message-Id: <200204051805.g35I5bk28035@baskerville.CS.Arizona.EDU>
  1257. Date: Mon, 1 Apr 2002 16:33:28 -0700 (MST)
  1258. From: Gregg Townsend <gmt@cs.arizona.edu>
  1259. To: icon-group@cs.arizona.edu, paolillo@slis.indiana.edu
  1260. Subject: Re: Icon 9.4.1 and Mac OS X
  1261. Errors-To: icon-group-errors@cs.arizona.edu
  1262. Status: RO
  1263.  
  1264. >> In config/unix/ppc_macos/Makedefs I had to add -I/usr/X11R6/include.  
  1265. >> Whoever built the package must have had a link in /usr/include to the 
  1266. >> X11 includes.
  1267.  
  1268. Thanks; I'll make that change for the next edition.
  1269.  
  1270. I wonder if that link is made by some of the numerous XFree86/Mac
  1271. distributions and not by others.
  1272.  
  1273. ---------------------------------------------------------------------------
  1274. Gregg Townsend         Staff Scientist      The University of Arizona
  1275. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1276.  
  1277.  
  1278.  
  1279. From icon-group-sender Fri Apr  5 11:08:12 2002
  1280. Return-Path: <icon-group-sender>
  1281. Received: (from root@localhost)
  1282.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g35I88I28155
  1283.     for icon-group-addresses; Fri, 5 Apr 2002 11:08:08 -0700 (MST)
  1284. Message-Id: <200204051808.g35I88I28155@baskerville.CS.Arizona.EDU>
  1285. Date: Tue, 02 Apr 2002 10:46:02 -0500
  1286. From: "Steve Graham" <Steve_Graham@labcorp.com>
  1287. To: <icon-group@cs.arizona.edu>, <lhota.adarose@verizon.net>
  1288. Subject: Re: Icon for DOS?
  1289. Content-Disposition: inline
  1290. X-MIME-Autoconverted: from quoted-printable to 8bit by baskerville.CS.Arizona.EDU id g32FlC907783
  1291. Errors-To: icon-group-errors@cs.arizona.edu
  1292. Status: RO
  1293.  
  1294. While I still do write utilites on the DOS version at times, I could easily use the Windows version.
  1295.  
  1296. Steve
  1297.  
  1298. ===
  1299.  
  1300. >>> "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net> 03/28/02 08:52AM >>>
  1301. While trying to port Icon to use the Cygwin compiler, I couldn't help but
  1302. notice how much system-specific code was in there for MS-DOS compilers. At
  1303. this point, is there anyone still using Icon under DOS? After all, MS-DOS
  1304. and PC-DOS have not been supported for years. DR-DOS is now no longer
  1305. supported. The only version of DOS that is actively supported is FreeDOS,
  1306. and the only active C/C++ DOS compiler DJGPP, which unfortunately is the
  1307. only DOS compiler that Icon does NOT support! Instead, we have macros for
  1308. compiling Icon using the Borland 286 or Zortech compiler, development tools
  1309. that are very hard to find now.
  1310.  
  1311. I think it's time to decide whether Icon for DOS is worth supporting. If we
  1312. do want Icon for DOS, we should port it to the DJGPP compiler (it's not
  1313. hard, I've done it once before). Whether we do or don't support DOS,
  1314. however, we could certainly clean up the code considerably by cutting all
  1315. the code specific to dead DOS compilers.
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323. From icon-group-sender Fri Apr  5 11:08:46 2002
  1324. Return-Path: <icon-group-sender>
  1325. Received: (from root@localhost)
  1326.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g35I8hM28188
  1327.     for icon-group-addresses; Fri, 5 Apr 2002 11:08:43 -0700 (MST)
  1328. Message-Id: <200204051808.g35I8hM28188@baskerville.CS.Arizona.EDU>
  1329. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  1330. X-Newsgroups: comp.lang.icon
  1331. Subject: Bridging the CLI and GUI versions
  1332. X-Priority: 3
  1333. X-MSMail-Priority: Normal
  1334. X-Newsreader: Microsoft Outlook Express 5.50.4522.1200
  1335. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
  1336. Date: Wed, 03 Apr 2002 18:49:01 GMT
  1337. X-Complaints-To: abuse@verizon.net
  1338. To: icon-group@cs.arizona.edu
  1339. Errors-To: icon-group-errors@cs.arizona.edu
  1340. Status: RO
  1341.  
  1342. When I raised the question of whether anyone is still using the DOS version
  1343. of Icon, I got a few replies stating that they still frequently use the
  1344. command line interface (CLI) version of Icon. For the record, I use the CLI
  1345. version of Icon far more often than the GUI version. Icon is great for
  1346. massaging piped data, as its many Icon users can attest.
  1347.  
  1348. What is bothersome is that on platforms such as NT, there are separate
  1349. facilities (i.e. versions of icont, iconx) for the CLI/GUI versions of Icon.
  1350. If we want to resume maintenance of the Icon native compiler from the
  1351. current code base, we would probably need to have separate versions of iconc
  1352. and the rt library for the CLI and GUI version.
  1353.  
  1354. What would be nice is if we could have one version of icont / iconx that
  1355. could serve the needs of both CLI and GUI programs. Life would be simpler if
  1356. there were one icont that could create Icon applications that uses a CLI, a
  1357. GUI, or both. My ideal version of iconx would behave as follows:
  1358.  
  1359. - Whether or not iconx is run from a command line, the Icon program can use
  1360. the graphics facilities, the CLI, or both.
  1361.  
  1362. - When run from a command line, iconx would implement &input, &output, and
  1363. &errout using the current console's standard input, standard output and
  1364. standard error respectively, including any redirection and piping.
  1365.  
  1366. - When run from some place other than a command line, iconx would not create
  1367. a console unless the program never performs an I/O operation with one of the
  1368. standard files &input, &output, or &errout, and that file is not redirected.
  1369. The first time such an I/O operation is performed, a console would be
  1370. created (preferably a character console if the OS supports it), and then all
  1371. non-redirected standard I/O operations would use this console.
  1372.  
  1373. Have any of the Unix versions of Icon accomplished this? Currently, there is
  1374. no NT version of Icon that behaves this way: when wiconx is executed from a
  1375. command line, it completely ignores the standard handles. I'm looking into
  1376. how to create one version of icont / iconx that bridges the CLI and GUI
  1377. environments, so if anyone else has looked into this, please share your
  1378. experiences.
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384. From icon-group-sender Fri Apr  5 11:08:58 2002
  1385. Return-Path: <icon-group-sender>
  1386. Received: (from root@localhost)
  1387.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g35I8tM28251
  1388.     for icon-group-addresses; Fri, 5 Apr 2002 11:08:55 -0700 (MST)
  1389. Message-Id: <200204051808.g35I8tM28251@baskerville.CS.Arizona.EDU>
  1390. From: gmt@cs.arizona.edu (Gregg Townsend)
  1391. X-Newsgroups: comp.lang.icon
  1392. Subject: Icon Analyst back issues now on line
  1393. Date: 4 Apr 2002 17:28:06 -0700
  1394. To: icon-group@cs.arizona.edu
  1395. Errors-To: icon-group-errors@cs.arizona.edu
  1396. Status: RO
  1397.  
  1398. The full set of back issues of the Icon Analyst, all 66 issues
  1399. from 1990 - 2001, is now on line in PDF format at:
  1400.     http://www.cs.arizona.edu/icon/analyst/ia.htm
  1401.  
  1402. The Icon Analyst provided in-depth coverage of Icon with an emphasis
  1403. on programming.  It ceased publication in 2001.
  1404.  
  1405. ---------------------------------------------------------------------------
  1406. Gregg Townsend         Staff Scientist      The University of Arizona
  1407. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1408.  
  1409.  
  1410.  
  1411. From icon-group-sender Fri Apr  5 11:09:29 2002
  1412. Return-Path: <icon-group-sender>
  1413. Received: (from root@localhost)
  1414.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g35I9NU28300
  1415.     for icon-group-addresses; Fri, 5 Apr 2002 11:09:23 -0700 (MST)
  1416. Message-Id: <200204051809.g35I9NU28300@baskerville.CS.Arizona.EDU>
  1417. From: gmt@cs.arizona.edu (Gregg Townsend)
  1418. X-Newsgroups: comp.lang.icon
  1419. Subject: Re: Bridging the CLI and GUI versions
  1420. Date: 4 Apr 2002 17:50:11 -0700
  1421. To: icon-group@cs.arizona.edu
  1422. Errors-To: icon-group-errors@cs.arizona.edu
  1423. Status: RO
  1424.  
  1425. In article <x8Iq8.1175$VA5.805@nwrddc04.gnilink.net>,
  1426. Frank J. Lhota <NOSPAM.lhota.adarose@verizon.net> wrote:
  1427.  
  1428. > ...What would be nice is if we could have one version of icont / iconx that
  1429. > could serve the needs of both CLI and GUI programs....
  1430. > Have any of the Unix versions of Icon accomplished this?
  1431.  
  1432. I can answer for Icon 9.4.1 and its predecessors, the main Unix line:
  1433.  
  1434. There's no GUI variant of Icon, although it can be built with graphics
  1435. disabled (e.g. for webservers that lack graphics libraries).  The same
  1436. icont/iconx are used with both CLI and GUI programs.  Unix Icon has
  1437. never contemplated opening a console window for the standard I/O files.  
  1438. That would be very unexpected in a Unix context.
  1439.  
  1440. What you propose as the ideal interface does sound like the "obviously
  1441. correct" thing to do in a windows-based environment.  Actually, it's
  1442. how I'd expect the C runtime system to act, in which case Icon wouldn't
  1443. need any special code itself.  But apparently most C implementations
  1444. don't do that.
  1445.  
  1446. ---------------------------------------------------------------------------
  1447. Gregg Townsend         Staff Scientist      The University of Arizona
  1448. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1449.  
  1450.  
  1451.  
  1452. From icon-group-sender Mon Apr  8 07:58:01 2002
  1453. Return-Path: <icon-group-sender>
  1454. Received: (from root@localhost)
  1455.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38EueY08748
  1456.     for icon-group-addresses; Mon, 8 Apr 2002 07:56:40 -0700 (MST)
  1457. Message-Id: <200204081456.g38EueY08748@baskerville.CS.Arizona.EDU>
  1458. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  1459. X-Newsgroups: comp.lang.icon
  1460. Subject: Re: Bridging the CLI and GUI versions
  1461. X-Priority: 3
  1462. X-MSMail-Priority: Normal
  1463. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  1464. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  1465. Date: Fri, 05 Apr 2002 19:29:30 GMT
  1466. X-Complaints-To: abuse@verizon.net
  1467. To: icon-group@cs.arizona.edu
  1468. Errors-To: icon-group-errors@cs.arizona.edu
  1469. Status: RO
  1470.  
  1471. "Gregg Townsend" <gmt@CS.Arizona.EDU> wrote in message
  1472. news:a8isc3$k4f@baskerville.cs.arizona.edu...
  1473. > Unix Icon has
  1474. > never contemplated opening a console window for the standard I/O files.
  1475. > That would be very unexpected in a Unix context.
  1476.  
  1477. Perhaps I should have made myself clearer. In my ideal interface, iconx
  1478. would open a console window only if:
  1479.  
  1480. - the application was NOT started from within a console window, and
  1481. - an I/O operation is performed on a non-redirected, standard file.
  1482.  
  1483. In these circumstances, the current wiconx creates an ersatz console window
  1484. for the standard I/O.
  1485.  
  1486. Currently, I don't have access to a Unix platform either at home or at work,
  1487. so I'm not sure how Unix Icon handles standard I/O when the application is
  1488. started from a non-console environment.
  1489.  
  1490. > What you propose as the ideal interface does sound like the "obviously
  1491. > correct" thing to do in a windows-based environment.  Actually, it's
  1492. > how I'd expect the C runtime system to act, in which case Icon wouldn't
  1493. > need any special code itself.  But apparently most C implementations
  1494. > don't do that.
  1495.  
  1496. Good news: it appears that Cygwin DOES act this way. I wrote a prototype to
  1497. see how a Cygwin windows application handles standard I/O from either a . My
  1498. prototype passed the test with flying colors. It behaved exactly as my ideal
  1499. iconx would.
  1500.  
  1501. This was a tremendous surprise, because this is certain not true of MSVC
  1502. windows applications. MSVC windows applications seems to sever all ties with
  1503. the standard file handles, so this compiler would require two separate tools
  1504. for CLI and GUI
  1505. development. But there is no need for this with Cygwin, another good reason
  1506. to use this compiler for developing Win32 Icon.
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512. From icon-group-sender Mon Apr  8 07:59:53 2002
  1513. Return-Path: <icon-group-sender>
  1514. Received: (from root@localhost)
  1515.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38Exog08886
  1516.     for icon-group-addresses; Mon, 8 Apr 2002 07:59:50 -0700 (MST)
  1517. Message-Id: <200204081459.g38Exog08886@baskerville.CS.Arizona.EDU>
  1518. From: gmt@cs.arizona.edu (Gregg Townsend)
  1519. X-Newsgroups: comp.lang.icon
  1520. Subject: Re: Bridging the CLI and GUI versions
  1521. Date: 5 Apr 2002 13:05:43 -0700
  1522. To: icon-group@cs.arizona.edu
  1523. Errors-To: icon-group-errors@cs.arizona.edu
  1524. Status: RO
  1525.  
  1526. In article <uWmr8.1109$Sa2.612@nwrddc01.gnilink.net>,
  1527. Frank J. Lhota <NOSPAM.lhota.adarose@verizon.net> wrote:
  1528.  
  1529. > Currently, I don't have access to a Unix platform either at home or at work,
  1530. > so I'm not sure how Unix Icon handles standard I/O when the application is
  1531. > started from a non-console environment.
  1532.  
  1533. In Unix, it's not unusual for a program to run with standard I/O
  1534. connected to "nothing" (/dev/null in Unix terms).  That's a normal
  1535. way of indicating that there's no input or that the output should
  1536. be silently discarded.  Very few Unix programs make any provision
  1537. for "a non-console environment" -- that's a foreign concept. The
  1538. Unix implementation can't provide any guidance here for Windows Icon.
  1539.  
  1540. > Good news: it appears that Cygwin DOES act this way. I wrote a prototype to
  1541. > see how a Cygwin windows application handles standard I/O from either a . My
  1542. > prototype passed the test with flying colors. It behaved exactly as my ideal
  1543. > iconx would.
  1544.  
  1545. And so Icon built with Cygwin would also work that way, we may hope.
  1546.  
  1547. One more thing to test:  If a program writes a message to stderr,
  1548. and then exits, does the error window disappear before the user
  1549. has a chance to read it?
  1550.  
  1551. ---------------------------------------------------------------------------
  1552. Gregg Townsend         Staff Scientist      The University of Arizona
  1553. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1554.  
  1555.  
  1556. From icon-group-sender Mon Apr  8 08:00:06 2002
  1557. Return-Path: <icon-group-sender>
  1558. Received: (from root@localhost)
  1559.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38F03A08948
  1560.     for icon-group-addresses; Mon, 8 Apr 2002 08:00:03 -0700 (MST)
  1561. Message-Id: <200204081500.g38F03A08948@baskerville.CS.Arizona.EDU>
  1562. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  1563. X-Newsgroups: comp.lang.icon
  1564. Subject: Re: Bridging the CLI and GUI versions
  1565. X-Priority: 3
  1566. X-MSMail-Priority: Normal
  1567. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  1568. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  1569. Date: Fri, 05 Apr 2002 21:49:00 GMT
  1570. X-Complaints-To: abuse@verizon.net
  1571. To: icon-group@cs.arizona.edu
  1572. Errors-To: icon-group-errors@cs.arizona.edu
  1573. Status: RO
  1574.  
  1575. > One more thing to test:  If a program writes a message to stderr,
  1576. > and then exits, does the error window disappear before the user
  1577. > has a chance to read it?
  1578.  
  1579. Good point. I tried the following program with Cygwin:
  1580.  
  1581.     #include <stdio.h>
  1582.  
  1583.     int main( void )
  1584.     {
  1585.         fprintf( stderr, "AHHHH! We're all going to die!\n" );
  1586.         return 1;
  1587.     }
  1588.  
  1589. Run from a command line, this program works great. The user can see the
  1590. message, and the error message can be re-directed and piped any way the user
  1591. wants to. If this program is executed outside of a console window, such as
  1592. from the "Run..." dialog on the Start menu, or by double-clicking the
  1593. "panic.exe" icon, the results are much less satisfactory. The Cygwin runtime
  1594. allocates a console, displays the message, and then the console disappears
  1595. before the user can read it.
  1596.  
  1597. Some research will be required to find the best way to fix this. This is not
  1598. really a problem for pure CLI applications, since these are bound to be run
  1599. from a command line. For GUI applications, we need to delay the termination
  1600. of iconx until the user acknowledges the error output. Here is one possible
  1601. fix:
  1602.  
  1603. - Set a flag when wopen is called;
  1604. - In c_exit, display a MessageBox if wopen has ever been called.
  1605.  
  1606. It's not ideal, but this fix should plug most holes. I must admit that this
  1607. whole venture has left me with a strong feeling of Unix envy.
  1608.  
  1609.  
  1610.  
  1611.  
  1612. From icon-group-sender Mon Apr  8 08:00:18 2002
  1613. Return-Path: <icon-group-sender>
  1614. Received: (from root@localhost)
  1615.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38F0F208975
  1616.     for icon-group-addresses; Mon, 8 Apr 2002 08:00:15 -0700 (MST)
  1617. Message-Id: <200204081500.g38F0F208975@baskerville.CS.Arizona.EDU>
  1618. From: gmt@cs.arizona.edu (Gregg Townsend)
  1619. X-Newsgroups: comp.lang.icon
  1620. Subject: Re: Bridging the CLI and GUI versions
  1621. Date: 6 Apr 2002 21:44:13 -0700
  1622. To: icon-group@cs.arizona.edu
  1623. Errors-To: icon-group-errors@cs.arizona.edu
  1624. Status: RO
  1625.  
  1626. In article <gZor8.1581$Sa2.100@nwrddc01.gnilink.net>,
  1627. Frank J. Lhota <NOSPAM.lhota.adarose@verizon.net> wrote:
  1628.  
  1629. > Some research will be required to find the best way to fix this. This is not
  1630. > really a problem for pure CLI applications, since these are bound to be run
  1631. > from a command line...
  1632.  
  1633. Don't bet on that.  I support a program that dates from the days of DOS.
  1634. Windows users double-click it and interact when a console window pops up.
  1635. But if there's an error, the message vanishes as the program exits.  
  1636.  
  1637. I don't know what a proper general solution would be.
  1638.  
  1639. ---------------------------------------------------------------------------
  1640. Gregg Townsend         Staff Scientist      The University of Arizona
  1641. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1642.  
  1643.  
  1644.  
  1645. From icon-group-sender Mon Apr  8 08:00:28 2002
  1646. Return-Path: <icon-group-sender>
  1647. Received: (from root@localhost)
  1648.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38F0Qg09005
  1649.     for icon-group-addresses; Mon, 8 Apr 2002 08:00:26 -0700 (MST)
  1650. Message-Id: <200204081500.g38F0Qg09005@baskerville.CS.Arizona.EDU>
  1651. Date: Sun, 7 Apr 2002 16:15:50 +0200
  1652. From: Marc Espie <espie@nerim.net>
  1653. To: Clint Jeffery <jeffery@cs.nmsu.edu>
  1654. Cc: icon-group@cs.arizona.edu, unicon-group@cs.unlv.edu
  1655. Subject: Re: [Unicon-group] dead compiler #ifdef purge?
  1656. Content-Disposition: inline
  1657. User-Agent: Mutt/1.2.5i
  1658. Errors-To: icon-group-errors@cs.arizona.edu
  1659. Status: RO
  1660.  
  1661. On Sun, Apr 07, 2002 at 01:26:23AM -0700, Clint Jeffery wrote:
  1662. > Hi,
  1663. > This is a question for those who build from the sources.
  1664. > Is *anyone* using, or planning to use, any of the following compilers/platforms
  1665. I don't use any of these.
  1666.  
  1667. In my opinion, it's largely past-time to switch to a features-based set
  1668. of defines, which is the only reasonable way to do this, long term.
  1669.  
  1670.  
  1671. From icon-group-sender Mon Apr  8 08:00:39 2002
  1672. Return-Path: <icon-group-sender>
  1673. Received: (from root@localhost)
  1674.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38F0bM09024
  1675.     for icon-group-addresses; Mon, 8 Apr 2002 08:00:37 -0700 (MST)
  1676. Message-Id: <200204081500.g38F0bM09024@baskerville.CS.Arizona.EDU>
  1677. Date: Sun, 7 Apr 2002 01:26:23 -0700
  1678. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  1679. To: icon-group@cs.arizona.edu, unicon-group@cs.unlv.edu
  1680. Subject: dead compiler #ifdef purge?
  1681. Errors-To: icon-group-errors@cs.arizona.edu
  1682. Status: RO
  1683.  
  1684.  
  1685. Hi,
  1686.  
  1687. This is a question for those who build from the sources.
  1688.  
  1689. Is *anyone* using, or planning to use, any of the following compilers/platforms
  1690. in current or future Icon or Unicon builds?  Most of them refer to dead
  1691. compilers/platforms whose #ifdef's are just making the source code more
  1692. complicated and less maintainable, so we might as well remove them.  If
  1693. your platform of choice does not appear, it is because we suspect it
  1694. might still be alive.  If any of these platforms are not dead yet
  1695. [obligatory Monty Python reference omitted] please speak up so we don't
  1696. delete any useful code!  I am sure we will keep the pre-purge sources
  1697. around in case we make any accidents.  And: if you know of another dead
  1698. platform I am forgetting, feel free to suggest purging it. :-)
  1699.  
  1700. Please post replies to me and to gmt@cs.arizona.edu; we probably do not
  1701. want to clutter up the lists with this.
  1702.  
  1703. Clint jeffery@cs.nmsu.edu
  1704.  
  1705. Proposed Dead(?) Ifdefs for Deletion from Current Sources
  1706.  
  1707. ATARI_ST
  1708. ATTM32
  1709. AZTEC_C
  1710. BORLAND_286
  1711. BORLAND_386
  1712. CSET2
  1713. HIGHC_386
  1714. INTEL_386
  1715. LATTICE
  1716. OS2
  1717. OS2EMX
  1718. OS2_32
  1719. PresentationManager
  1720. PYRAMID
  1721. __SASC
  1722. SASC
  1723. SCCX_MX
  1724. SCO_XENIX
  1725. TURBO
  1726. WATCOM
  1727. XENIX_386
  1728. ZTC_386
  1729.  
  1730.  
  1731. From icon-group-sender Mon Apr  8 08:00:53 2002
  1732. Return-Path: <icon-group-sender>
  1733. Received: (from root@localhost)
  1734.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38F0pI09084
  1735.     for icon-group-addresses; Mon, 8 Apr 2002 08:00:51 -0700 (MST)
  1736. Message-Id: <200204081500.g38F0pI09084@baskerville.CS.Arizona.EDU>
  1737. From: "Walter" <walter@digitalmars.nospammm.com>
  1738. X-Newsgroups: comp.lang.icon
  1739. Subject: Re: Icon for DOS?
  1740. X-Priority: 3
  1741. X-MSMail-Priority: Normal
  1742. X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
  1743. X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
  1744. X-Complaints-To: abuse@attbi.com
  1745. Date: Mon, 08 Apr 2002 08:43:03 GMT
  1746. To: icon-group@cs.arizona.edu
  1747. Errors-To: icon-group-errors@cs.arizona.edu
  1748. Status: RO
  1749.  
  1750.  
  1751. "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net> wrote in message
  1752. news:M6Go8.8953$ov6.2855@nwrddc04.gnilink.net...
  1753. > While trying to port Icon to use the Cygwin compiler, I couldn't help but
  1754. > notice how much system-specific code was in there for MS-DOS compilers. At
  1755. > this point, is there anyone still using Icon under DOS? After all, MS-DOS
  1756. > and PC-DOS have not been supported for years. DR-DOS is now no longer
  1757. > supported. The only version of DOS that is actively supported is FreeDOS,
  1758. > and the only active C/C++ DOS compiler DJGPP, which unfortunately is the
  1759. > only DOS compiler that Icon does NOT support! Instead, we have macros for
  1760. > compiling Icon using the Borland 286 or Zortech compiler, development
  1761. tools
  1762. > that are very hard to find now.
  1763. > I think it's time to decide whether Icon for DOS is worth supporting. If
  1764. we
  1765. > do want Icon for DOS, we should port it to the DJGPP compiler (it's not
  1766. > hard, I've done it once before). Whether we do or don't support DOS,
  1767. > however, we could certainly clean up the code considerably by cutting all
  1768. > the code specific to dead DOS compilers.
  1769.  
  1770. The Digital Mars C/C++ compiler, free from www.digitalmars.com, actively
  1771. supports 16 bit DOS. It should compile most old Zortech code with little to
  1772. no modification. -Walter
  1773. >
  1774. >
  1775.  
  1776.  
  1777.  
  1778.  
  1779. From icon-group-sender Mon Apr  8 12:31:14 2002
  1780. Return-Path: <icon-group-sender>
  1781. Received: (from root@localhost)
  1782.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g38JUu222536
  1783.     for icon-group-addresses; Mon, 8 Apr 2002 12:30:56 -0700 (MST)
  1784. Message-Id: <200204081930.g38JUu222536@baskerville.CS.Arizona.EDU>
  1785. From: Steve Wampler <swampler@noao.edu>
  1786. X-Newsgroups: comp.lang.icon
  1787. Subject: Re: Icon Analyst back issues now on line
  1788. Date: Mon, 08 Apr 2002 10:24:55 -0700
  1789. X-Complaints-To: abuse@noao.edu
  1790. X-Accept-Language: en
  1791. To: icon-group@cs.arizona.edu
  1792. Errors-To: icon-group-errors@cs.arizona.edu
  1793. Status: RO
  1794.  
  1795. Gregg Townsend wrote:
  1796. > The full set of back issues of the Icon Analyst, all 66 issues
  1797. > from 1990 - 2001, is now on line in PDF format at:
  1798. >     http://www.cs.arizona.edu/icon/analyst/ia.htm
  1799.  
  1800. That is *very* nice.  Thanks for setting that up!
  1801.  
  1802. -- 
  1803. Steve Wampler -- swampler@noao.edu
  1804. O sibile, si ergo.  Fortibus es enaro.
  1805. Nobile, demis trux.  Demis phulla causan dux.
  1806.  
  1807.  
  1808. From icon-group-sender Fri Apr 19 07:55:15 2002
  1809. Return-Path: <icon-group-sender>
  1810. Received: (from root@localhost)
  1811.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3JEs4Y29490
  1812.     for icon-group-addresses; Fri, 19 Apr 2002 07:54:04 -0700 (MST)
  1813. Message-Id: <200204191454.g3JEs4Y29490@baskerville.CS.Arizona.EDU>
  1814. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  1815. X-Newsgroups: comp.lang.icon
  1816. Subject: Chinese Icon
  1817. X-Priority: 3
  1818. X-MSMail-Priority: Normal
  1819. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  1820. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  1821. Date: Fri, 19 Apr 2002 13:00:39 GMT
  1822. X-Complaints-To: abuse@verizon.net
  1823. To: icon-group@cs.arizona.edu
  1824. Errors-To: icon-group-errors@cs.arizona.edu
  1825. Status: RO
  1826.  
  1827. Speaking of the Icon Analyst, I remember seeing an item in one issue
  1828. announcing a Chinese version of Icon developed at the University of Hong
  1829. Kong. I would be interested to see that version, for they would have had to
  1830. solve the many of the same technical problems involved with developing a
  1831. Unicode version of Icon.
  1832.  
  1833. Has anyone seen the Chinese version or know where it can be found? I could
  1834. not find anything about it on the Hong Kong University web page.
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840. From icon-group-sender Mon Apr 29 08:05:51 2002
  1841. Return-Path: <icon-group-sender>
  1842. Received: (from root@localhost)
  1843.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3TF4Wk08902
  1844.     for icon-group-addresses; Mon, 29 Apr 2002 08:04:32 -0700 (MST)
  1845. Message-Id: <200204291504.g3TF4Wk08902@baskerville.CS.Arizona.EDU>
  1846. From: wxmail@lycos.com (James Price)
  1847. X-Newsgroups: comp.lang.icon
  1848. Subject: Regexes
  1849. Date: 27 Apr 2002 01:15:15 -0700
  1850. X-Complaints-To: groups-abuse@google.com
  1851. To: icon-group@cs.arizona.edu
  1852. Errors-To: icon-group-errors@cs.arizona.edu
  1853. Status: RO
  1854.  
  1855. Hi, I'm new to Icon and was wondering if anyone has  written a program that
  1856. produces random strings based on regular expressions and put this in the
  1857. public domain?
  1858.  
  1859. Thanks.
  1860.  
  1861.  
  1862. From icon-group-sender Mon Apr 29 16:52:00 2002
  1863. Return-Path: <icon-group-sender>
  1864. Received: (from root@localhost)
  1865.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3TNpZo04977
  1866.     for icon-group-addresses; Mon, 29 Apr 2002 16:51:35 -0700 (MST)
  1867. Message-Id: <200204292351.g3TNpZo04977@baskerville.CS.Arizona.EDU>
  1868. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  1869. To: icon-group@cs.arizona.edu
  1870. Date: Mon, 29 Apr 2002 22:11:10 +0100
  1871. Subject: Re: Regexes
  1872. Errors-To: icon-group-errors@cs.arizona.edu
  1873. Status: RO
  1874.  
  1875. On 27 Apr 2002, at 1:15, James Price wrote:
  1876.  
  1877. > Hi, I'm new to Icon and was wondering if anyone has  written a program that
  1878. > produces random strings based on regular expressions and put this in the
  1879. > public domain?
  1880.  
  1881. Sorry, I've not heard of this one, but wouldn't it be possible to use 
  1882. csets to get random characters and then filter them (or pipe them) 
  1883. through a regular expression 'matcher'. There is one iin the icon 
  1884. library.
  1885.  
  1886. If you are looking seriously at filtering strings in this way, then I 
  1887. guess you are also looking at writing grammars. For ordinary 
  1888. language (as opposed to some form of restricted language) there 
  1889. are a lot of NLP tools about whcih will do this if you are using unix. 
  1890. Practically nothing worthwhile if you are Windowing.
  1891.  
  1892. Try a websearch for TTT if you _really_ want to get heavily into this! 
  1893. It will do the most complicated regex matching you would ever wish to do.
  1894. Steep learning curve, though. Probably good for the soul, though.
  1895. Chris Korycinski
  1896.  
  1897. ===========================================================
  1898. Please send attachments only as plain text or .rtf files
  1899.  
  1900.  
  1901. From icon-group-sender Tue Apr 30 07:59:32 2002
  1902. Return-Path: <icon-group-sender>
  1903. Received: (from root@localhost)
  1904.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3UExAk22305
  1905.     for icon-group-addresses; Tue, 30 Apr 2002 07:59:10 -0700 (MST)
  1906. Message-Id: <200204301459.g3UExAk22305@baskerville.CS.Arizona.EDU>
  1907. Date: 30 Apr 2002  12:40:48 BST
  1908. From: rjhare@ed.ac.uk
  1909. Subject: Editors in Icon
  1910. To: icon-group@cs.arizona.edu
  1911. Organisation:  Edinburgh Parallel Computing Centre
  1912. Errors-To: icon-group-errors@cs.arizona.edu
  1913. Status: RO
  1914.  
  1915. Does anyone know of the existence of a windows based editor in Icon?
  1916. I'm sure I remember seeing reference to one a year or so back but can find
  1917. no hint of it in the IPL.
  1918.  
  1919. Thanks.
  1920.  
  1921. Roger Hare
  1922.  
  1923.  
  1924. From icon-group-sender Tue Apr 30 13:04:00 2002
  1925. Return-Path: <icon-group-sender>
  1926. Received: (from root@localhost)
  1927.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3UK2xU06495
  1928.     for icon-group-addresses; Tue, 30 Apr 2002 13:02:59 -0700 (MST)
  1929. Message-Id: <200204302002.g3UK2xU06495@baskerville.CS.Arizona.EDU>
  1930. Date: Tue, 30 Apr 2002 09:22:41 -0700 (MST)
  1931. From: Gregg Townsend <gmt@cs.arizona.edu>
  1932. To: icon-group@cs.arizona.edu, rjhare@ed.ac.uk
  1933. Subject: Re: Editors in Icon
  1934. Errors-To: icon-group-errors@cs.arizona.edu
  1935. Status: RO
  1936.  
  1937. >  From: rjhare@ed.ac.uk
  1938. >  
  1939. >  Does anyone know of the existence of a windows based editor in Icon?
  1940. >  I'm sure I remember seeing reference to one a year or so back but can find
  1941. >  no hint of it in the IPL.
  1942.  
  1943. Unfortunately, the automatic IPL indexer doesn't handle the packs
  1944. and gpacks.  There's an editor in  ipl/gpacks/ged.
  1945.  
  1946. ---------------------------------------------------------------------------
  1947. Gregg Townsend         Staff Scientist      The University of Arizona
  1948. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  1949.  
  1950.  
  1951. From icon-group-sender Tue Apr 30 13:09:41 2002
  1952. Return-Path: <icon-group-sender>
  1953. Received: (from root@localhost)
  1954.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3UK9WI06758
  1955.     for icon-group-addresses; Tue, 30 Apr 2002 13:09:32 -0700 (MST)
  1956. Message-Id: <200204302009.g3UK9WI06758@baskerville.CS.Arizona.EDU>
  1957. Date: Tue, 30 Apr 2002 10:41:55 -0600
  1958. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  1959. To: rjhare@ed.ac.uk
  1960. CC: icon-group@cs.arizona.edu
  1961. Subject: Re: Editors in Icon
  1962. Errors-To: icon-group-errors@cs.arizona.edu
  1963. Status: RO
  1964.  
  1965. [Roger asks about windows editors in Icon]
  1966.  
  1967. Hi Roger,
  1968.  
  1969. As several people will probably report, the gpacks area of the Icon Program
  1970. Library has Bob Alexander's GED, a full featured mac-like text editor.
  1971.  
  1972. The Windows native facilities also include access to the Windows
  1973. standard texteditor widget; it is used for the Windows IDE.
  1974.  
  1975. Clint jeffery@cs.nmsu.edu
  1976.  
  1977.  
  1978. From icon-group-sender Tue Apr 30 13:10:17 2002
  1979. Return-Path: <icon-group-sender>
  1980. Received: (from root@localhost)
  1981.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3UKAFg06832
  1982.     for icon-group-addresses; Tue, 30 Apr 2002 13:10:15 -0700 (MST)
  1983. Message-Id: <200204302010.g3UKAFg06832@baskerville.CS.Arizona.EDU>
  1984. Date: Tue, 30 Apr 2002 10:07:50 -0700
  1985. From: Ralph Griswold <ralph@cs.arizona.edu>
  1986. To: icon-group@cs.arizona.edu
  1987. Subject: Going-out-of-Business Sale
  1988. Errors-To: icon-group-errors@cs.arizona.edu
  1989. Status: RO
  1990.  
  1991.  
  1992. No, the Icon Project is not going away. But its "store", which
  1993. sells books and other documentation related to Icon, will cease
  1994. operation on June 30, 2002.
  1995.  
  1996. Between now and that time, we're holding a half-price sale -- 50%
  1997. off on all items in stock.
  1998.  
  1999. To see what's available, look at
  2000.  
  2001.     http://www.cs.arizona.edu/icon/orderi.htm
  2002.  
  2003. When you place an order, simply note the 50% discount.
  2004.  
  2005. Note:  Shipping to addresses in the United States, Canada, and Mexico
  2006. is free.  The discount does not apply to shipping charges to other
  2007. countries.
  2008.  
  2009. Stock of some items is limited, so if you are interested, do not
  2010. delay.
  2011.  
  2012. Please direct any questions to
  2013.  
  2014.     ralph@cs.arizona.edu
  2015.  
  2016.  
  2017. From icon-group-sender Tue Apr 30 16:45:36 2002
  2018. Return-Path: <icon-group-sender>
  2019. Received: (from root@localhost)
  2020.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g3UNjMY15803
  2021.     for icon-group-addresses; Tue, 30 Apr 2002 16:45:22 -0700 (MST)
  2022. Message-Id: <200204302345.g3UNjMY15803@baskerville.CS.Arizona.EDU>
  2023. Date: Tue, 30 Apr 2002 16:16:35 -0400 (EDT)
  2024. From: Taybin Rutkin <trutkin@physics.clarku.edu>
  2025. X-Sender: trutkin@planck.clarku.edu
  2026. To: icon-group@cs.arizona.edu
  2027. cc: rjhare@ed.ac.uk
  2028. Subject: Re: Editors in Icon
  2029. Errors-To: icon-group-errors@cs.arizona.edu
  2030. Status: RO
  2031.  
  2032. On Tue, 30 Apr 2002, Clint Jeffery wrote:
  2033.  
  2034. > The Windows native facilities also include access to the Windows
  2035. > standard texteditor widget; it is used for the Windows IDE.
  2036.  
  2037. Heh, there's probably an emacs or vi port to windows.  They do Icon
  2038. highlighting pretty nicely.  Probably not what you're looking for
  2039. though.
  2040.  
  2041. Taybin
  2042.  
  2043.  
  2044.  
  2045. From icon-group-sender Wed May  1 07:55:35 2002
  2046. Return-Path: <icon-group-sender>
  2047. Received: (from root@localhost)
  2048.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g41EtHc18923
  2049.     for icon-group-addresses; Wed, 1 May 2002 07:55:17 -0700 (MST)
  2050. Message-Id: <200205011455.g41EtHc18923@baskerville.CS.Arizona.EDU>
  2051. From: eka@corp.cirrus.com (Eka Laiman)
  2052. Subject: Re: Editors in Icon
  2053. To: icon-group@cs.arizona.edu
  2054. Date: Tue, 30 Apr 2002 17:23:24 -0700 (PDT)
  2055. Errors-To: icon-group-errors@cs.arizona.edu
  2056. Status: RO
  2057.  
  2058. Taybin Rutkin wrote:
  2059. > Heh, there's probably an emacs or vi port to windows.  They do Icon
  2060. > highlighting pretty nicely.  Probably not what you're looking for
  2061. > though.
  2062.  
  2063. I was (and still am) a heavy emacs user, but for the past few years I
  2064. have been using vim (vi improved) for most of my editing both in
  2065. work-station (UNIX platform) as well as on PC.
  2066.  
  2067. Both emacs (version 20) and vim (version 6.0) are available in binary
  2068. forms for PC (Windows). Emacs has icon-mode which understands the
  2069. syntax of icon. Vim has "color syntax" for many languages, icon is one
  2070. of them.
  2071.  
  2072. -eka-
  2073.  
  2074.  
  2075.  
  2076. From icon-group-sender Wed May  1 07:55:51 2002
  2077. Return-Path: <icon-group-sender>
  2078. Received: (from root@localhost)
  2079.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g41Etnw18961
  2080.     for icon-group-addresses; Wed, 1 May 2002 07:55:49 -0700 (MST)
  2081. Message-Id: <200205011455.g41Etnw18961@baskerville.CS.Arizona.EDU>
  2082. Date: Wed, 1 May 2002 09:39:22 +0100 (BST)
  2083. From: Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk>
  2084. X-X-Sender: hgs@neelix
  2085. To: Taybin Rutkin <trutkin@physics.clarku.edu>
  2086. cc: icon-group@cs.arizona.edu, <rjhare@ed.ac.uk>
  2087. Subject: Re: Editors in Icon
  2088. Errors-To: icon-group-errors@cs.arizona.edu
  2089. Status: RO
  2090.  
  2091. On Tue, 30 Apr 2002, Taybin Rutkin wrote:
  2092.  
  2093. > On Tue, 30 Apr 2002, Clint Jeffery wrote:
  2094. >
  2095. > > The Windows native facilities also include access to the Windows
  2096. > > standard texteditor widget; it is used for the Windows IDE.
  2097. >
  2098. > Heh, there's probably an emacs or vi port to windows.  They do Icon
  2099. > highlighting pretty nicely.  Probably not what you're looking for
  2100.  
  2101. There's vim:
  2102. /usr/local/share/vim/vim61/syntax/icon.vim
  2103. (syntax highlighting file for icon)
  2104. See http://www.vim.org/ , http://vim.sourceforge.net/
  2105.  
  2106. > though.
  2107. >
  2108. > Taybin
  2109. >
  2110.         Hugh
  2111. >
  2112. >
  2113.  
  2114.  
  2115.  
  2116. From icon-group-sender Wed May  1 16:26:16 2002
  2117. Return-Path: <icon-group-sender>
  2118. Received: (from root@localhost)
  2119.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g41NP9o12427
  2120.     for icon-group-addresses; Wed, 1 May 2002 16:25:09 -0700 (MST)
  2121. Message-Id: <200205012325.g41NP9o12427@baskerville.CS.Arizona.EDU>
  2122. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  2123. To: icon-group@cs.arizona.edu
  2124. Date: Wed, 1 May 2002 21:45:14 +0100
  2125. Subject: Re: Editors in Icon
  2126. Errors-To: icon-group-errors@cs.arizona.edu
  2127. Status: RO
  2128.  
  2129. On 30 Apr 2002, at 17:23, Eka Laiman wrote:
  2130.  
  2131. > Emacs has icon-mode which understands the
  2132. > syntax of icon. Vim has "color syntax" for many languages, icon is one
  2133. > of them.
  2134. .. so does emacs (so I suppose xemacs must, too). Looks pretty 
  2135. with icon, but perl produces even more colours and fonts.
  2136. Chris Korycinski
  2137.  
  2138. ===========================================================
  2139. Please send attachments only as plain text or .rtf files
  2140.  
  2141.  
  2142. From icon-group-sender Fri May  3 07:48:25 2002
  2143. Return-Path: <icon-group-sender>
  2144. Received: (from root@localhost)
  2145.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g43EkQY03640
  2146.     for icon-group-addresses; Fri, 3 May 2002 07:46:26 -0700 (MST)
  2147. Message-Id: <200205031446.g43EkQY03640@baskerville.CS.Arizona.EDU>
  2148. From: Jay Rinkel <jrinkel@nospam.hiwaay.net>
  2149. X-Accept-Language: en
  2150. X-Newsgroups: comp.lang.icon
  2151. Subject: Re: 100% Cpu usage
  2152. X-Complaints-To: abuse@usenetserver.com
  2153. X-Abuse-Info: Please be sure to forward a copy of ALL headers
  2154. X-Abuse-Info: Otherwise we will be unable to process your complaint properly.
  2155. Date: Thu, 02 May 2002 20:02:04 -0500
  2156. To: icon-group@cs.arizona.edu
  2157. Errors-To: icon-group-errors@cs.arizona.edu
  2158. Status: RO
  2159.  
  2160. Maurizio Ferreira wrote:
  2161.  
  2162. > I've made a simple program in Unicon using IVIB
  2163. > It has only a single button on the main a dialog, with associated an
  2164. > empty procedure.
  2165. > As as I start the application, (both from the environment than from
  2166. > explorer) , when the mouse pointer gets over the application window
  2167. > I get 100% cpu usage.
  2168. > Even  IVIB itsef uses 100% cpu power.
  2169. > Any suggestion ?
  2170. > (i'm using Window Unicon vers 10.0 beta, 18 jan 2001
  2171. > and I'm woking on Windows 2000 prof)
  2172. > Regards.
  2173.  
  2174. I have seen this problem before with interpreted languages under Windows
  2175. where the program will want to hog up 100% of the CPU.  I am fairly sure
  2176. that there is little you can do in your Icon / Unicon source code to fix
  2177. this problem.  But is 100% CPU bad?  If other applications are running,
  2178. they WILL also get CPU time.   They just will run more slowly.  Also you
  2179. mentioned that this occurs when the mouse pointer is over the
  2180. application window.  Maybe just avoid putting your mouse over the window
  2181. when you aren't using it at the moment.  You could contact the
  2182. maintainers of Unicon and see if they have observed this behavior and if
  2183. they have any remedies.
  2184.  
  2185. Anyway, my guess is there is little you can do to fix this problem
  2186. without digging into the source code of Unicon itself and even then, not
  2187. sure of that.
  2188.  
  2189. Jay Rinkel
  2190.  
  2191.  
  2192.  
  2193.  
  2194. From icon-group-sender Mon May  6 09:44:04 2002
  2195. Return-Path: <icon-group-sender>
  2196. Received: (from root@localhost)
  2197.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g46GdUE00875
  2198.     for icon-group-addresses; Mon, 6 May 2002 09:39:30 -0700 (MST)
  2199. Message-Id: <200205061639.g46GdUE00875@baskerville.CS.Arizona.EDU>
  2200. From: David Harrison <daha@speakeasy.net>
  2201. X-Newsgroups: comp.lang.icon
  2202. Subject: What is the origin of the name "Icon"?
  2203. Date: Sun, 05 May 2002 08:50:32 -0700
  2204. User-Agent: Thoth/1.5.2 (Carbon/OS X)
  2205. X-Complaints-To: newsabuse@supernews.com
  2206. To: icon-group@cs.arizona.edu
  2207. Errors-To: icon-group-errors@cs.arizona.edu
  2208. Status: RO
  2209.  
  2210.  
  2211. I am always amused when I see postings to this newsgroup from those
  2212. looking for graphic icons.  But now it has me thinking: does anyone know
  2213. why Griswold chose the name "Icon" for the language?
  2214.  
  2215.  
  2216. From icon-group-sender Mon May  6 09:47:23 2002
  2217. Return-Path: <icon-group-sender>
  2218. Received: (from root@localhost)
  2219.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g46GidQ01060
  2220.     for icon-group-addresses; Mon, 6 May 2002 09:44:39 -0700 (MST)
  2221. Message-Id: <200205061644.g46GidQ01060@baskerville.CS.Arizona.EDU>
  2222. X-Newsreader: knews 1.0b.1
  2223. From: rtr@blueyonder.co.uk (Robby)
  2224. Subject: Re: What is the origin of the name "Icon"?
  2225. X-Newsgroups: comp.lang.icon
  2226. Date: Mon, 06 May 2002 11:35:53 GMT
  2227. X-Complaints-To: abuse@blueyonder.co.uk
  2228. To: icon-group@cs.arizona.edu
  2229. Errors-To: icon-group-errors@cs.arizona.edu
  2230. Status: RO
  2231.  
  2232. In article <050520020850322024%daha@speakeasy.net>,
  2233.     David Harrison <daha@speakeasy.net> writes:
  2234. > I am always amused when I see postings to this newsgroup from those
  2235. > looking for graphic icons.  But now it has me thinking: does anyone know
  2236. > why Griswold chose the name "Icon" for the language?
  2237.  
  2238. All typos are mine.
  2239.  
  2240. >From "History of the Icon Programming Language" in History of
  2241. Programming Languages II, edited by Thomas J. Bergin, Jr. and Richard
  2242. G. Gibson, Jr., ACM Press, ISBN 0-201-89502-1 (Page 600):
  2243.  
  2244. 12.1.2 The Name
  2245.  
  2246. "SNOBOL5" as the first name used for the language that was to become
  2247. Icon. One issue in the choice of name was the degree of connection it
  2248. would imply with the SNOBOL languages. "Product Identification" with
  2249. the SNOBOL languages was viewed as giving the new language credibility
  2250. and visibility, but it had the disadvantage of looking backward
  2251. instead of forward. More significantly, the use of "SNOBOL" in the
  2252. name would be misleading if the language turned out to be (as it did)
  2253. very different from the SNOBOL languages.
  2254.  
  2255. So a new name was needed. Dave Hanson suggested "s" --- a homage to
  2256. "C" with its minimalistic one-character name, but in lowercase,
  2257. reflecting the distaste for computer-generated text that, at the time,
  2258. still was frequently printed in all uppercase. As an abstraction from
  2259. "SNOBOL5" and "SL5", "s" made some sense without drawing too close a
  2260. connection between the old languages and the new one. But "s" wasn't a
  2261. happy choice for several reasons, not least of which was its
  2262. typographical difficulties in documentation (which forced the awkward
  2263. quoting here).
  2264.  
  2265. Over a period of months, the name "s" was disparaged and sometimes
  2266. ridiculed ("sssssssss"). Other names were suggested ("irving", "bard",
  2267. and "TL" ("The Language")), but nothing stuck until Madge and Ralph
  2268. Griswold suggested "icon" (then with the initial lowercase).
  2269.  
  2270. The name "icon" is not an acronym, nor was any particular meaning
  2271. attached to it, although the word "iconoclast" was immediately offered
  2272. as describing the flavor of the new language.
  2273.  
  2274. This choice of name was made before Xerox started to use it for little
  2275. screen images. It was only later that confusion arose between "Icon,
  2276. the programming language" and screen icons. By then, it was too late.
  2277. It didn't help that the programming language significantly predated
  2278. the usage that is so common now.
  2279.  
  2280. Although an occasional person has mistaken Icon as a programming
  2281. language for manipulating screen images, the confusion has been less
  2282. than might be suspected and has never been a serious problem. Perhaps
  2283. this is because so many company and product names now include the
  2284. substring "icon".
  2285.  
  2286. End of quote
  2287.  
  2288. Robby
  2289.  
  2290.  
  2291.  
  2292. From icon-group-sender Mon May  6 09:54:34 2002
  2293. Return-Path: <icon-group-sender>
  2294. Received: (from root@localhost)
  2295.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g46GpnI01376
  2296.     for icon-group-addresses; Mon, 6 May 2002 09:51:49 -0700 (MST)
  2297. Message-Id: <200205061651.g46GpnI01376@baskerville.CS.Arizona.EDU>
  2298. From: "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid>
  2299. X-Newsgroups: comp.lang.icon
  2300. Subject: Re: What is the origin of the name "Icon"?
  2301. Date: Mon, 06 May 2002 11:53:27 -0400
  2302. Mail-Copies-To: nobody
  2303. X-Cise: "Tony Schliesser" <aschlies@citynet.net>
  2304. X-CompuServe-Customer: Yes
  2305. X-Coriate: halbritt@harm.org
  2306. X-Ecrate: Bob Germer <bobg129@home.com>
  2307. X-Punge: Micro$oft
  2308. X-Sanguinate: themvsguy@email.com
  2309. X-Terminate: SPA(GIS)
  2310. X-Tinguish: Mark Griffith <markgriffith@rocketmail.com>
  2311. X-Newsreader: MR/2 Internet Cruiser Edition for OS/2 v2.31a/31 
  2312. X-Complaints-To: newsabuse@supernews.com
  2313. To: icon-group@cs.arizona.edu
  2314. Errors-To: icon-group-errors@cs.arizona.edu
  2315. Status: RO
  2316.  
  2317. In <tUtB8.23245$Ww3.163579101@news-text.cableinet.net>, on 05/06/2002
  2318.    at 11:35 AM, rtr@blueyonder.co.uk (Robby) said:
  2319.  
  2320. >From "History of the Icon Programming Language" in History of
  2321. >Programming Languages II, edited by Thomas J. Bergin, Jr. and Richard
  2322. >G. Gibson, Jr., ACM Press, ISBN 0-201-89502-1 (Page 600):
  2323.  
  2324. The author of that quote seems to believe that "SL/5" and "Icon" are
  2325. two names for the same language. In fact, SL/5 was very different.
  2326.  
  2327. -- 
  2328.      Shmuel (Seymour J.) Metz, SysProg and JOAT
  2329.      Atid/2, Team OS/2, Team PL/I
  2330.  
  2331. Any unsolicited commercial junk E-mail will be subject to legal
  2332. action.  I reserve the right to publicly post or ridicule any
  2333. abusive E-mail.
  2334.  
  2335. I mangled my E-mail address to foil automated spammers; reply to
  2336. domain Patriot dot net user shmuel+news to contact me.  Do not
  2337. reply to spamtrap@library.lspace.org
  2338.  
  2339.  
  2340.  
  2341. From icon-group-sender Tue May  7 08:01:56 2002
  2342. Return-Path: <icon-group-sender>
  2343. Received: (from root@localhost)
  2344.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g47F1Hk06994
  2345.     for icon-group-addresses; Tue, 7 May 2002 08:01:17 -0700 (MST)
  2346. Message-Id: <200205071501.g47F1Hk06994@baskerville.CS.Arizona.EDU>
  2347. Date: Tue, 7 May 2002 16:10:28 +1200 (NZST)
  2348. From: "Richard A. O'Keefe" <ok@cs.otago.ac.nz>
  2349. To: icon-group@cs.arizona.edu, rtr@blueyonder.co.uk
  2350. Subject: Re: What is the origin of the name "Icon"?
  2351. Errors-To: icon-group-errors@cs.arizona.edu
  2352. Status: RO
  2353.  
  2354. rtr@blueyonder.co.uk (Robby) quoted from HOPL II:
  2355.     So a new name was needed. Dave Hanson suggested "s" --- a homage to
  2356.     "C" with its minimalistic one-character name, but in lowercase,
  2357.     reflecting the distaste for computer-generated text that, at the time,
  2358.     still was frequently printed in all uppercase. As an abstraction from
  2359.     "SNOBOL5" and "SL5", "s" made some sense without drawing too close a
  2360.     connection between the old languages and the new one. But "s" wasn't a
  2361.     happy choice for several reasons, not least of which was its
  2362.     typographical difficulties in documentation (which forced the awkward
  2363.     quoting here).
  2364.     
  2365. Not that long afterwards, AT&T produced a statistics language called S
  2366. (upper-case S).  Just imagine the confusion if people had used "s" to
  2367. process data for analysis by "S". (:-)
  2368.  
  2369.  
  2370. From icon-group-sender Thu May  9 13:15:51 2002
  2371. Return-Path: <icon-group-sender>
  2372. Received: (from root@localhost)
  2373.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g49KEcE20037
  2374.     for icon-group-addresses; Thu, 9 May 2002 13:14:38 -0700 (MST)
  2375. Message-Id: <200205092014.g49KEcE20037@baskerville.CS.Arizona.EDU>
  2376. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  2377. X-Newsgroups: comp.lang.icon
  2378. Subject: Dead compilers
  2379. X-Priority: 3
  2380. X-MSMail-Priority: Normal
  2381. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  2382. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  2383. Date: Thu, 09 May 2002 15:04:16 GMT
  2384. X-Complaints-To: abuse@verizon.net
  2385. To: icon-group@cs.arizona.edu
  2386. Errors-To: icon-group-errors@cs.arizona.edu
  2387. Status: RO
  2388.  
  2389. I have just completed a port of Icon to the CYGWIN compiler for NT. During
  2390. this effort, I noticed that there is a lot of code in there for dead MSDOS
  2391. compilers. This code is generally within "#if ... #endif" blocks. The
  2392. following preprocessor symbols are for compilers that I am fairly certain
  2393. are no longer in use:
  2394.  
  2395.     BORLAND_286
  2396.     HIGHC_386
  2397.     INTEL_386
  2398.     SCCX_MX
  2399.     TURBO
  2400.     WATCOM
  2401.     ZTC_386
  2402.  
  2403. I assume that the code for the BORLAND_386 symbol is useful for the current
  2404. Borland compiler. Can anyone here confirm whether this is the case?
  2405.  
  2406. Also, I believe that the DosFncs facility, permitting INT 21h calls from
  2407. Icon programs, can be officially retired. I say this with a tinge of
  2408. sadness, for I have found the DOS functions to be quite useful in the past.
  2409. The DosFncs interface, however, has been problematic for a while. Even
  2410. before the demise of DOS / Win 3.x, this facility was plagued with issues of
  2411. addressing modes: real versus 286 protected versus 386 protected. Now in the
  2412. current NT / XP environment, the C compilers no longer support the int86x
  2413. function.
  2414.  
  2415. I am not certain about which compilers are still available for the AMIGA or
  2416. OS2, or whether the ArmFncs are still in use. All in all, it may be possible
  2417. to do a major source code clean-up at some time.
  2418.  
  2419.  
  2420.  
  2421.  
  2422. From icon-group-sender Fri May 10 08:33:06 2002
  2423. Return-Path: <icon-group-sender>
  2424. Received: (from root@localhost)
  2425.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g4AFWLA03449
  2426.     for icon-group-addresses; Fri, 10 May 2002 08:32:21 -0700 (MST)
  2427. Message-Id: <200205101532.g4AFWLA03449@baskerville.CS.Arizona.EDU>
  2428. Date: Thu, 09 May 2002 19:37:13 -0700
  2429. From: Anthony Hewitt <anthony.hewitt@cox.net>
  2430. X-Accept-Language: en
  2431. To: icon-group@cs.arizona.edu
  2432. Subject: Dead compilers
  2433. Errors-To: icon-group-errors@cs.arizona.edu
  2434. Status: RO
  2435.  
  2436. Winicon is an excellent GUI environment for creating programs but I
  2437. often use Icon under Windows NT or 2000  to make filters which I add to
  2438. the standard Cygwin Linux arsenal. These I string together in a DOS or
  2439. bash shell. The Winicon interface doesn't let me execute in this
  2440. antiquated WYTIWYG mode so, unless the source is tiny, I edit in emacs
  2441. and compile in the shell. I don't see any reason the Winicon compiler
  2442. shouldn't work fine for this, but I've seen it create zombie processes
  2443. under Windows 2000 that have to be killed by the task mangler (I swear
  2444. they survive a reboot).
  2445.  
  2446. So here I am, using the DOS Icon compiler under NT4. This may seem
  2447. perversely atavistic, but I'd be sorry to see it disappear.
  2448. --
  2449. Anthony V. Hewitt        anthony.hewitt@cox.net
  2450. ===============================================
  2451. not -------------------------- (invert failure)
  2452. not expr produces the null value if expr fails,
  2453.     but fails if expr succeeds
  2454.  
  2455.  
  2456.  
  2457.  
  2458. From icon-group-sender Sat May 18 17:15:27 2002
  2459. Return-Path: <icon-group-sender>
  2460. Received: (from root@localhost)
  2461.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g4J0Doq08897
  2462.     for icon-group-addresses; Sat, 18 May 2002 17:13:50 -0700 (MST)
  2463. Message-Id: <200205190013.g4J0Doq08897@baskerville.CS.Arizona.EDU>
  2464. From: Christopher Browne <cbbrowne@acm.org>
  2465. X-Newsgroups: comp.lang.icon
  2466. Subject: Re: Printers?
  2467. Date: Sat, 11 May 2002 10:54:25 -0400
  2468. X-Orig-Path: chvatal.cbbrowne.com
  2469. X-Home-Page: http://www.cbbrowne.com/info/
  2470. X-Emacs-Acronym: Every Moron Assumes CCA is Superior
  2471. Microsoft: Making the world a better place... for Microsoft.
  2472. X-Shopping-List:  (1) Neurotic bread (2) Insignificant absorbers (3) Hydroelectric hiders
  2473. X-Uboat-Death-Message: ANNOYED BY ATOMIC BOMB. TORPEDOS. SINKING. U-77.
  2474. User-Agent: Gnus/5.090007 (Oort Gnus v0.07) XEmacs/21.4 (Common Lisp, i386-debian-linux)
  2475. Cancel-Lock: sha1:HfQ6cdBCZlmu0Ymaao4/2plYAfc=
  2476. To: icon-group@cs.arizona.edu
  2477. Errors-To: icon-group-errors@cs.arizona.edu
  2478. Status: RO
  2479.  
  2480. rkstuart <rkstuart@prodigy.net> wrote:
  2481. > I've been reading through the documentation for Icon and haven't
  2482. > noticed anything about sending data to a printer.  Is this not a part
  2483. > of the language or have I missed it?
  2484.  
  2485. Printing is a spectacularly platform-dependent matter which tends to
  2486. take over the architecture of applications that are used to print
  2487. things.
  2488.  
  2489. Apparently it is considered preferable to leave that issue for
  2490. platform-specific tools that you might use alongside Icon...
  2491. -- 
  2492. (reverse (concatenate 'string "moc.enworbbc@" "sirhc"))
  2493. http://www.cbbrowne.com/info/printing.html
  2494. "I once went  to a shrink.  He  told me to speak freely.   I did.  The
  2495. damn fool tried to charge me $90 an hour."
  2496. -- jimjr@qis.net (Jim Moore Jr)
  2497.  
  2498.  
  2499. From icon-group-sender Sat May 18 17:15:42 2002
  2500. Return-Path: <icon-group-sender>
  2501. Received: (from root@localhost)
  2502.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g4J0Fdx09033
  2503.     for icon-group-addresses; Sat, 18 May 2002 17:15:39 -0700 (MST)
  2504. Message-Id: <200205190015.g4J0Fdx09033@baskerville.CS.Arizona.EDU>
  2505. Date: Tue, 14 May 2002 19:20:04 +0200
  2506. From: =?iso-8859-1?Q?antis=E8ptic?= <antiseptic@eresmas.net>
  2507. X-Accept-Language: ca,en,de
  2508. To: icon-group@cs.arizona.edu
  2509. Subject: PDF
  2510. Errors-To: icon-group-errors@cs.arizona.edu
  2511. Status: RO
  2512.  
  2513. Hi there!
  2514.  
  2515. Has anybody written a library to manipulate pdf files in Icon? It would
  2516. be nice to have one.
  2517.  
  2518.  
  2519.  
  2520. From icon-group-sender Mon Jun 10 13:17:04 2002
  2521. Return-Path: <icon-group-sender>
  2522. Received: (from root@localhost)
  2523.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5AKFbN02903
  2524.     for icon-group-addresses; Mon, 10 Jun 2002 13:15:37 -0700 (MST)
  2525. Message-Id: <200206102015.g5AKFbN02903@baskerville.CS.Arizona.EDU>
  2526. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  2527. X-Newsgroups: comp.lang.icon
  2528. Subject: VMS and Wildcards
  2529. X-Priority: 3
  2530. X-MSMail-Priority: Normal
  2531. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  2532. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  2533. Date: Mon, 10 Jun 2002 13:53:28 GMT
  2534. X-Complaints-To: abuse@verizon.net
  2535. To: icon-group@cs.arizona.edu
  2536. Errors-To: icon-group-errors@cs.arizona.edu
  2537. Status: RO
  2538.  
  2539. If you're a VMS programmer, I would invite you to take a look at the Icon
  2540. source file "src/h/filepat.h". This file defines typedefs and macros for
  2541. finding matches to a filename with wildcards for various systems. I'm almost
  2542. positive that one could implement this wildcard matching facility in VMS,
  2543. using LIB$FIND_FILE / LIB$FIND_FILE_END. I would try this out myself, but
  2544. unfortunately I do not currently have access to a VMS platform. I therefore
  2545. invite the VMS programmers in this NG to give this a shot.
  2546.  
  2547.  
  2548.  
  2549.  
  2550. From icon-group-sender Wed Jun 12 08:10:36 2002
  2551. Return-Path: <icon-group-sender>
  2552. Received: (from root@localhost)
  2553.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5CF9Kg23733
  2554.     for icon-group-addresses; Wed, 12 Jun 2002 08:09:20 -0700 (MST)
  2555. Message-Id: <200206121509.g5CF9Kg23733@baskerville.CS.Arizona.EDU>
  2556. Date: Tue, 11 Jun 2002 23:01:11 -0500 (CDT)
  2557. From: John Paolillo <johnp@ling.uta.edu>
  2558. To: icon-group@cs.arizona.edu, paolillo@indiana.edu
  2559. Subject: Jcon
  2560. Errors-To: icon-group-errors@cs.arizona.edu
  2561. Status: RO
  2562.  
  2563. Dear Iconographers,
  2564.  
  2565. I am having some difficulties getting Jcon configured correctly.
  2566. The installation seems to be correct: things compile and link
  2567. okay, programs run etc, but programs that use the IPL (e.g.
  2568. anything with a "link graphics" directive) cannot seem to find
  2569. the appropriate files to link (I get the error message: cannot 
  2570. find "graphics" for linking).  
  2571.  
  2572. This is in spite of the fact that icont is able to find those same 
  2573. files, and that other programs apparently using graphical capabilities
  2574. (e.g. fonts, resize, gpxmisc) link and run just fine. Also, the
  2575. graphics facilities work just fine under X-Windows (i.e. no problem
  2576. finding the IPL).
  2577.  
  2578. Can anyone suggest what the problem might be?  My installation is
  2579. Icon 9.4.1 ppc_macos configured for X-windows. Jcon is version 2.1.
  2580.  
  2581.  
  2582. Thanks iin advance for any help
  2583.  
  2584. John Paolillo
  2585. SLIS, Indiana University
  2586.  
  2587.  
  2588. From icon-group-sender Wed Jun 12 08:19:16 2002
  2589. Return-Path: <icon-group-sender>
  2590. Received: (from root@localhost)
  2591.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5CFJ8Z24276
  2592.     for icon-group-addresses; Wed, 12 Jun 2002 08:19:08 -0700 (MST)
  2593. Message-Id: <200206121519.g5CFJ8Z24276@baskerville.CS.Arizona.EDU>
  2594. From: kot@aix.math.utk.edu (Mark Kot)
  2595. X-Newsgroups: comp.lang.icon
  2596. Subject: String matching
  2597. Date: 11 Jun 2002 18:17:02 GMT
  2598. X-Complaints-To: help@cac.washington.edu
  2599. User-Agent: slrn/0.9.5.7 (UNIX)
  2600. To: icon-group@cs.arizona.edu
  2601. Errors-To: icon-group-errors@cs.arizona.edu
  2602. Status: RO
  2603.  
  2604.  
  2605. What string-matching algorithm(s) does Icon use ?
  2606.  
  2607.  
  2608. From icon-group-sender Wed Jun 12 08:20:00 2002
  2609. Return-Path: <icon-group-sender>
  2610. Received: (from root@localhost)
  2611.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5CFJv024305
  2612.     for icon-group-addresses; Wed, 12 Jun 2002 08:19:57 -0700 (MST)
  2613. Message-Id: <200206121519.g5CFJv024305@baskerville.CS.Arizona.EDU>
  2614. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  2615. X-Newsgroups: comp.lang.icon
  2616. Subject: Re: String matching
  2617. X-Priority: 3
  2618. X-MSMail-Priority: Normal
  2619. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  2620. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  2621. Date: Tue, 11 Jun 2002 19:35:17 GMT
  2622. X-Complaints-To: abuse@verizon.net
  2623. To: icon-group@cs.arizona.edu
  2624. Errors-To: icon-group-errors@cs.arizona.edu
  2625. Status: RO
  2626.  
  2627. Are you asking about how string matching functions, such as match and find,
  2628. is implemented in the Icon runtime? Currently, the implementation is rather
  2629. straightforward.
  2630.  
  2631.  
  2632.  
  2633.  
  2634. From icon-group-sender Wed Jun 12 12:27:08 2002
  2635. Return-Path: <icon-group-sender>
  2636. Received: (from root@localhost)
  2637.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5CJQst02550
  2638.     for icon-group-addresses; Wed, 12 Jun 2002 12:26:54 -0700 (MST)
  2639. Message-Id: <200206121926.g5CJQst02550@baskerville.CS.Arizona.EDU>
  2640. Date: Wed, 12 Jun 2002 10:30:19 -0700 (PDT)
  2641. From: Mark Kot <kot@amath.washington.edu>
  2642. Subject: Re: String matching
  2643. To: NOSPAM.lhota.adarose@verizon.net
  2644. Cc: icon-group@cs.arizona.edu
  2645. Errors-To: icon-group-errors@cs.arizona.edu
  2646. Status: RO
  2647.  
  2648.  
  2649. >From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  2650. >X-Newsgroups: comp.lang.icon
  2651. >Subject: Re: String matching
  2652. >X-Priority: 3
  2653. >X-MSMail-Priority: Normal
  2654. >X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  2655. >X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  2656. >Date: Tue, 11 Jun 2002 19:35:17 GMT
  2657. >X-Complaints-To: abuse@verizon.net
  2658. >To: icon-group@CS.Arizona.EDU
  2659. >
  2660. >Are you asking about how string matching functions, such as match and find,
  2661. >is implemented in the Icon runtime? Currently, the implementation is rather
  2662. >straightforward.
  2663. >
  2664. >
  2665. >
  2666.  
  2667. Dear Frank,
  2668.  
  2669.     Yes, that's exactly the question.
  2670.     
  2671.     I've been seeing a number of new works on string matching
  2672. and searching algorithms (e.g., Navarro, G. and Raffinot, M. 2002.
  2673. Flexible Pattern Matching in Strings:  Practical On-Line Search
  2674. Algorithms for Texts and Biological Sequences.  Cambridge University
  2675. Press, Cambridge).  These books discuss traditional algorithms such
  2676. as Boyer-Moore, but also some new approaches.  That got me to wondering
  2677. how find is actually implemented and which algorithm is being
  2678. used.  (There would seem to be less need for extreme efficiency for
  2679. match.)
  2680.  
  2681.     There's no pressing need on this one.  I was mostly
  2682. just curious.
  2683.  
  2684.                         Best wishes,
  2685.                         
  2686.                         Mark
  2687.     
  2688.  
  2689.  
  2690.  
  2691.  
  2692. From icon-group-sender Thu Jun 13 08:40:59 2002
  2693. Return-Path: <icon-group-sender>
  2694. Received: (from root@localhost)
  2695.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5DFdk025544
  2696.     for icon-group-addresses; Thu, 13 Jun 2002 08:39:46 -0700 (MST)
  2697. Message-Id: <200206131539.g5DFdk025544@baskerville.CS.Arizona.EDU>
  2698. Date: Thu, 13 Jun 2002 02:17:43 -0600
  2699. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  2700. To: icon-group@cs.arizona.edu
  2701. Subject: spell checker, anyone?
  2702. Errors-To: icon-group-errors@cs.arizona.edu
  2703. Status: RO
  2704.  
  2705.  
  2706. Hi, does anyone have a spell checker written in or accessible from Icon?
  2707. I don't seem to see one in the IPL... any and all suggestions will be
  2708. greatfully received!
  2709.  
  2710. Cheers,
  2711. Clint jeffery@cs.nmsu.edu
  2712.  
  2713.  
  2714. From icon-group-sender Fri Jun 14 17:09:51 2002
  2715. Return-Path: <icon-group-sender>
  2716. Received: (from root@localhost)
  2717.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5F08vZ16598
  2718.     for icon-group-addresses; Fri, 14 Jun 2002 17:08:57 -0700 (MST)
  2719. Message-Id: <200206150008.g5F08vZ16598@baskerville.CS.Arizona.EDU>
  2720. Date: Fri, 14 Jun 2002 13:32:07 -0700 (MST)
  2721. From: Gregg Townsend <gmt@cs.arizona.edu>
  2722. To: icon-group@cs.arizona.edu, johnp@ling.uta.edu, paolillo@indiana.edu
  2723. Subject: Re: Jcon
  2724. Errors-To: icon-group-errors@cs.arizona.edu
  2725. Status: RO
  2726.  
  2727. >  From: John Paolillo <johnp@ling.uta.edu>
  2728. >  
  2729. >  I am having some difficulties getting Jcon configured correctly.
  2730. >  The installation seems to be correct: things compile and link
  2731. >  okay, programs run etc, but programs that use the IPL (e.g.
  2732. >  anything with a "link graphics" directive) cannot seem to find
  2733.  
  2734. The Icon program library is not bundled with the Jcon package.
  2735. You can download precompiled Jcon binaries from the library page
  2736.    http://www.cs.arizona.edu/icon/library/
  2737.  
  2738. After unpacking the tar file you'll need to set the IPATH environment
  2739. variable, and then Jcon should work.
  2740.  
  2741. ---------------------------------------------------------------------------
  2742. Gregg Townsend         Staff Scientist      The University of Arizona
  2743. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  2744.  
  2745.  
  2746. From icon-group-sender Fri Jun 14 17:11:09 2002
  2747. Return-Path: <icon-group-sender>
  2748. Received: (from root@localhost)
  2749.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5F0B6i16709
  2750.     for icon-group-addresses; Fri, 14 Jun 2002 17:11:06 -0700 (MST)
  2751. Message-Id: <200206150011.g5F0B6i16709@baskerville.CS.Arizona.EDU>
  2752. Date: Fri, 14 Jun 2002 18:10:31 -0500
  2753. Subject: Re: Jcon
  2754. Cc: icon-group@cs.arizona.edu, johnp@ling.uta.edu
  2755. To: Gregg Townsend <gmt@cs.arizona.edu>
  2756. From: John Paolillo <paolillo@indiana.edu>
  2757. Errors-To: icon-group-errors@cs.arizona.edu
  2758. Status: RO
  2759.  
  2760.  
  2761. On Friday, June 14, 2002, at 03:32  PM, Gregg Townsend wrote:
  2762. > The Icon program library is not bundled with the Jcon package.
  2763. > You can download precompiled Jcon binaries from the library page
  2764. >    http://www.cs.arizona.edu/icon/library/
  2765. >
  2766. > After unpacking the tar file you'll need to set the IPATH environment
  2767. > variable, and then Jcon should work.
  2768.  
  2769. This took care of it. In fact it was what I was trying to do,
  2770. although I didn't realize that I needed another version
  2771. of the library.
  2772.  
  2773. BTW, although I know Jcon is "old news", I hadn't managed to
  2774. use it before, and just running through the tests, I have to say
  2775. I'm quite impressed.
  2776.  
  2777. Thanks,
  2778.  
  2779. John Paolillo
  2780. SLIS and Informatics
  2781. Indiana University
  2782.  
  2783.  
  2784.  
  2785. From icon-group-sender Fri Jun 21 08:01:24 2002
  2786. Return-Path: <icon-group-sender>
  2787. Received: (from root@localhost)
  2788.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g5LExWk23674
  2789.     for icon-group-addresses; Fri, 21 Jun 2002 07:59:33 -0700 (MST)
  2790. Message-Id: <200206211459.g5LExWk23674@baskerville.CS.Arizona.EDU>
  2791. From: Bruce Gordon Rennie <brennie@dcsi.net.au>
  2792. X-Newsgroups: comp.lang.icon
  2793. Subject: After location of data file primes.lst
  2794. Date: Fri, 21 Jun 2002 10:32:18 +1000
  2795. X-Complaints-To: abuse@connect.com.au
  2796. X-Accept-Language: en
  2797. Cache-Post-Path: mango.dcsi.net.au!unknown@ppp-31.dialup.war.dcsi.net.au
  2798. X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/)
  2799. To: icon-group@cs.arizona.edu
  2800. Errors-To: icon-group-errors@cs.arizona.edu
  2801. Status: RO
  2802.  
  2803. To all,
  2804.  
  2805. Greetings from the land down under.
  2806.  
  2807. I'm looking for the location of the data file primes.lst - which I believe used
  2808. to be in the IPL. But the copies I have don't have it.
  2809.  
  2810. regards
  2811. -- 
  2812. Bruce Rennie ( from God's Own Country Downunder )
  2813. Disciple of Jesus Christ in Training
  2814.  
  2815. The Cross of Jesus Christ - Salvation for all men.
  2816.  
  2817. Song of Solomon ( Song of Songs ) - The greatest Love Story Ever
  2818. and a story for our times.
  2819.  
  2820. Be a GOD Chaser.
  2821.  
  2822.  
  2823. From icon-group-sender Mon Jul  1 16:28:55 2002
  2824. Return-Path: <icon-group-sender>
  2825. Received: (from root@localhost)
  2826.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g61NRko29081
  2827.     for icon-group-addresses; Mon, 1 Jul 2002 16:27:46 -0700 (MST)
  2828. Message-Id: <200207012327.g61NRko29081@baskerville.CS.Arizona.EDU>
  2829. Date: Mon, 1 Jul 2002 15:23:17 -0600
  2830. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  2831. To: icon-group@cs.arizona.edu, unicon-group@lists.sourceforge.net
  2832. Subject: Icon Books
  2833. Errors-To: icon-group-errors@cs.arizona.edu
  2834. Status: RO
  2835.  
  2836.  
  2837. Hello,
  2838.  
  2839. A substantial quantity of Icon and Unicon books are now available at
  2840. http://www.zianet.com/jeffery/books/ including *free* Icon books you can get
  2841. for research, teaching, or evangelism.  On-line ordering via paypal should
  2842. be up, with any luck, by sometime Tuesday 7/2/2002.
  2843.  
  2844. Cheers,
  2845. Clint jeffery@cs.nmsu.edu
  2846.  
  2847.  
  2848. From icon-group-sender Thu Jul  4 13:45:38 2002
  2849. Return-Path: <icon-group-sender>
  2850. Received: (from root@localhost)
  2851.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g64KiLA21316
  2852.     for icon-group-addresses; Thu, 4 Jul 2002 13:44:21 -0700 (MST)
  2853. Message-Id: <200207042044.g64KiLA21316@baskerville.CS.Arizona.EDU>
  2854. From: ernobe <ernobe@msn.com>
  2855. X-Newsgroups: comp.lang.icon
  2856. Subject: :list
  2857. Date: Thu, 4 Jul 2002 18:36:33 +0200
  2858. X-Newsreader: MicroPlanet Gravity v2.50
  2859. To: icon-group@cs.arizona.edu
  2860. Errors-To: icon-group-errors@cs.arizona.edu
  2861. Status: RO
  2862.  
  2863.  
  2864. I'm wondering how to create a list with numbers 3 to 640.  The following works 
  2865. fine:
  2866.  
  2867. num := list ( 638 )
  2868. every on := 3 to 640 do
  2869. num[on - 2] := on
  2870.  
  2871. but isn't there a simpler way?  I've tried this:
  2872.  
  2873. num := [ 3, 4, 5, ... 638, 639, 640 ]
  2874.  
  2875. or this:
  2876.  
  2877. num := [ 3, 4, ..., 640 ]
  2878.  
  2879. but neither work. Thanks for any suggestions.
  2880.  
  2881.  
  2882. From icon-group-sender Thu Jul  4 13:45:57 2002
  2883. Return-Path: <icon-group-sender>
  2884. Received: (from root@localhost)
  2885.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g64Kjqw21501
  2886.     for icon-group-addresses; Thu, 4 Jul 2002 13:45:52 -0700 (MST)
  2887. Message-Id: <200207042045.g64Kjqw21501@baskerville.CS.Arizona.EDU>
  2888. From: tov@fas.harvard.REMOVE.edu (Jesse Tov)
  2889. X-Newsgroups: comp.lang.icon
  2890. Subject: Re: :list
  2891. Date: 4 Jul 2002 19:58:28 GMT
  2892. User-Agent: slrn/0.9.6.2 (Linux)
  2893. To: icon-group@cs.arizona.edu
  2894. Errors-To: icon-group-errors@cs.arizona.edu
  2895. Status: RO
  2896.  
  2897. Inquit ernobe <ernobe@msn.com>:
  2898. >num := list ( 638 )
  2899. >every on := 3 to 640 do
  2900. >num[on - 2] := on
  2901.  
  2902. how about:
  2903.     num := list( )
  2904.     every put(num, 3 to 640)
  2905.  
  2906. hth,
  2907. Jesse
  2908. -- 
  2909. "A hungry man is not a free man."         --Adlai Stevenson
  2910.  
  2911.  
  2912. From icon-group-sender Fri Jul  5 12:34:09 2002
  2913. Return-Path: <icon-group-sender>
  2914. Received: (from root@localhost)
  2915.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g65JXds23263
  2916.     for icon-group-addresses; Fri, 5 Jul 2002 12:33:39 -0700 (MST)
  2917. Message-Id: <200207051933.g65JXds23263@baskerville.CS.Arizona.EDU>
  2918. From: eka@corp.cirrus.com (Eka Laiman)
  2919. Subject: Re: :list
  2920. To: ernobe@msn.com (ernobe)
  2921. Date: Fri, 5 Jul 2002 08:57:05 -0700 (PDT)
  2922. Cc: icon-group@cs.arizona.edu
  2923. Errors-To: icon-group-errors@cs.arizona.edu
  2924. Status: RO
  2925.  
  2926. > I'm wondering how to create a list with numbers 3 to 640.  The following works 
  2927. > fine:
  2928. > num := list ( 638 )
  2929. > every on := 3 to 640 do
  2930. > num[on - 2] := on
  2931. > but isn't there a simpler way?  I've tried this:
  2932.  
  2933. I think a simpler way would be:
  2934.  
  2935.     num := []
  2936.     every i := 3 to 640 do
  2937.     put(num, i);
  2938.  
  2939. -eka-
  2940.  
  2941.  
  2942. From icon-group-sender Thu Jul 11 12:33:13 2002
  2943. Return-Path: <icon-group-sender>
  2944. Received: (from root@localhost)
  2945.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6BJVks10073
  2946.     for icon-group-addresses; Thu, 11 Jul 2002 12:31:46 -0700 (MST)
  2947. Message-Id: <200207111931.g6BJVks10073@baskerville.CS.Arizona.EDU>
  2948. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  2949. X-Newsgroups: comp.lang.icon
  2950. Subject: XML Parser
  2951. X-Priority: 3
  2952. X-MSMail-Priority: Normal
  2953. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  2954. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  2955. Date: Thu, 11 Jul 2002 16:06:35 GMT
  2956. X-Complaints-To: abuse@verizon.net
  2957. To: icon-group@cs.arizona.edu
  2958. Errors-To: icon-group-errors@cs.arizona.edu
  2959. Status: RO
  2960.  
  2961. Is there an XML parser written in Icon? It sounds like it could be
  2962. challenging but fun project.
  2963.  
  2964.  
  2965.  
  2966.  
  2967. From icon-group-sender Fri Jul 12 08:04:26 2002
  2968. Return-Path: <icon-group-sender>
  2969. Received: (from root@localhost)
  2970.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6CF3lE00087
  2971.     for icon-group-addresses; Fri, 12 Jul 2002 08:03:47 -0700 (MST)
  2972. Message-Id: <200207121503.g6CF3lE00087@baskerville.CS.Arizona.EDU>
  2973. From: ernobe <ernobe@msn.com>
  2974. X-Newsgroups: comp.lang.icon
  2975. Subject: Re: XML Parser
  2976. Date: Fri, 12 Jul 2002 02:54:19 +0200
  2977. X-Newsreader: MicroPlanet Gravity v2.50
  2978. To: icon-group@cs.arizona.edu
  2979. Errors-To: icon-group-errors@cs.arizona.edu
  2980. Status: RO
  2981.  
  2982. In article <f2iX8.10129$aL6.1877@nwrddc03.gnilink.net>, 
  2983. NOSPAM.lhota.adarose@verizon.net says...
  2984. > Is there an XML parser written in Icon? It sounds like it could be
  2985. > challenging but fun project.
  2986. Who would consider such a parser to be of value?  I'm not asking in terms of 
  2987. monetary value, I'm just curious to know, for the sake of doing something 
  2988. useful in Icon, if it could be used instead of XML.  That sounds like a real 
  2989. challenge.. not that it couldn't be fun, though.
  2990.  
  2991.  
  2992. From icon-group-sender Fri Jul 12 12:30:29 2002
  2993. Return-Path: <icon-group-sender>
  2994. Received: (from root@localhost)
  2995.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6CJU8626373
  2996.     for icon-group-addresses; Fri, 12 Jul 2002 12:30:08 -0700 (MST)
  2997. Message-Id: <200207121930.g6CJU8626373@baskerville.CS.Arizona.EDU>
  2998. X-Originating-IP: [63.99.124.30]
  2999. From: "Ray Pereda" <raypereda@hotmail.com>
  3000. To: icon-group@cs.arizona.edu
  3001. Subject: Re: XML Parser
  3002. Date: Fri, 12 Jul 2002 10:04:45 -0700
  3003. X-OriginalArrivalTime: 12 Jul 2002 17:04:45.0413 (UTC) FILETIME=[38DDF950:01C229C6]
  3004. Errors-To: icon-group-errors@cs.arizona.edu
  3005. Status: RO
  3006.  
  3007. Python and Perl have used Jim Clark's expat SAX parser.  I've used expat 
  3008. extensively.  It is small, fast, and pretty.  Other than a bunch of Unicode 
  3009. crap, it the code is readable.  I think a SAX interface in Icon would be 
  3010. very useful.  XML is basically three things:
  3011. 1. structured -- it uses tags
  3012. 2. well-formed -- the tags are properly nested
  3013. 3. text -- works in an editor
  3014.  
  3015. Icon kicks butt on text.  With a SAX interface, numbers 1 and 2, are 
  3016. leveraged within Icon.
  3017.  
  3018. -Ray
  3019.  
  3020.  
  3021. >From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  3022. >To: icon-group@CS.Arizona.EDU
  3023. >Subject: XML Parser
  3024. >Date: Thu, 11 Jul 2002 16:06:35 GMT
  3025. >
  3026. >Is there an XML parser written in Icon? It sounds like it could be
  3027. >challenging but fun project.
  3028.  
  3029.  
  3030.  
  3031.  
  3032. _________________________________________________________________
  3033. Chat with friends online, try MSN Messenger: http://messenger.msn.com
  3034.  
  3035.  
  3036.  
  3037. From icon-group-sender Mon Jul 15 07:57:09 2002
  3038. Return-Path: <icon-group-sender>
  3039. Received: (from root@localhost)
  3040.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6FEtp214476
  3041.     for icon-group-addresses; Mon, 15 Jul 2002 07:55:52 -0700 (MST)
  3042. Message-Id: <200207151455.g6FEtp214476@baskerville.CS.Arizona.EDU>
  3043. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  3044. To: icon-group@cs.arizona.edu
  3045. Date: Sun, 14 Jul 2002 00:30:59 +0100
  3046. Subject: Re: XML Parser
  3047. Content-description: Mail message body
  3048. Errors-To: icon-group-errors@cs.arizona.edu
  3049. Status: RO
  3050.  
  3051. On 12 Jul 2002 at 2:54, ernobe wrote:
  3052.  
  3053. > Who would consider such a parser to be of value?  I'm not asking in
  3054. > terms of monetary value, I'm just curious to know.
  3055.  
  3056. ...er me, for one. Virtually all the work we are doing in the 
  3057. language technology group at Edinburgh Uni. is on text which has been 
  3058. converted to xml. Having an icon version would make it far easier to 
  3059. adapt (and even understand) as I  don't know java.
  3060.  
  3061.  
  3062.  
  3063. Chris
  3064.  
  3065. ===========================================================
  3066. Please send attachments only as plain text or .rtf files
  3067.  
  3068.  
  3069.  
  3070. From icon-group-sender Tue Jul 16 07:09:38 2002
  3071. Return-Path: <icon-group-sender>
  3072. Received: (from root@localhost)
  3073.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6GE95o13847
  3074.     for icon-group-addresses; Tue, 16 Jul 2002 07:09:05 -0700 (MST)
  3075. Message-Id: <200207161409.g6GE95o13847@baskerville.CS.Arizona.EDU>
  3076. Date: Tue, 16 Jul 2002 13:23:55 +1200 (NZST)
  3077. From: "Richard A. O'Keefe" <ok@cs.otago.ac.nz>
  3078. To: chris@starsparkle.co.uk, icon-group@cs.arizona.edu
  3079. Subject: Re: XML Parser
  3080. Errors-To: icon-group-errors@cs.arizona.edu
  3081. Status: RO
  3082.  
  3083. "Chris Korycinski" <chris@starsparkle.co.uk> wrote:
  3084.     > Who would consider such a parser to be of value?  I'm not asking in
  3085.     > terms of monetary value, I'm just curious to know.
  3086.     
  3087.     ...er me, for one. Virtually all the work we are doing in the 
  3088.     language technology group at Edinburgh Uni. is on text which has been 
  3089.     converted to xml. Having an icon version would make it far easier to 
  3090.     adapt (and even understand) as I  don't know java.
  3091.     
  3092. Edinburgh have a fine XML parser of their own.  Unlike expat, it actually
  3093. understands *all* of XML 1.0.  It can spit out ESIS.  Now it isn't very
  3094. hard to write an ESIS reader, I've done it in several languages.
  3095. To a first approximation,
  3096.     <ESIS> ::= <element> [<correct>?]
  3097.     <element> ::= <attribute>* <begin> <content>* <end>
  3098.     <content> ::= <element> | <data>
  3099.     <attribute> ::= 'A'<name>' '<type>[' '<value>]'\n'
  3100.     A value is present unless the <type> is IMPLICIT
  3101.     <begin> ::= '('<name>'\n'
  3102.     <end> ::= ')'<name>'\n'
  3103.     <text> ::= '-'<value>'\n'
  3104.     <value> ::= (<character> | <escape>)*
  3105.     <character> ::= anything except newline or \
  3106.     <escape> ::= '\n' or '\ooo' (3 octal digits) or '\uxxxx' (4 hex digits)
  3107.         or '\#ddddd;' (any number of decimal digits)
  3108.     <correct> ::= 'C\n' (omitted if validation failed)
  3109.  
  3110. There's more to it than that, but for many purposes, not _much_ more.
  3111. Most SGML and many XML parsers can emit ESIS (nsgmls, which can handle
  3112. XML, sgml (comes with SWI Prolog), some in various functional languages,
  3113. and the Edinburgh LTG's parser _certainly_ can).  For those that don't,
  3114. it's usually easy to plug in an ESIS writer.
  3115.  
  3116. In fact, SAX is nothing more than a procedural interface to ESIS.
  3117. (Or ESIS is nothing more than a textual representation of a SAX
  3118. event stream, take your pick.)
  3119.  
  3120. So running the XML parser as a separate process, parsing its ESIS output
  3121. stream in Icon, and building whatever data structure you want in Icon,
  3122. should be pretty easy.
  3123.  
  3124.  
  3125.  
  3126. From icon-group-sender Thu Jul 18 16:39:31 2002
  3127. Return-Path: <icon-group-sender>
  3128. Received: (from root@localhost)
  3129.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6INaOk07218
  3130.     for icon-group-addresses; Thu, 18 Jul 2002 16:36:24 -0700 (MST)
  3131. Message-Id: <200207182336.g6INaOk07218@baskerville.CS.Arizona.EDU>
  3132. Date: Thu, 18 Jul 2002 15:33:26 -0600
  3133. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  3134. To: icon-group@cs.arizona.edu
  3135. Subject: Icon pretty printer
  3136. Errors-To: icon-group-errors@cs.arizona.edu
  3137. Status: RO
  3138.  
  3139.  
  3140. Hi,
  3141.  
  3142. Does anyone have a pretty printer for Icon lying about?
  3143. I didn't see one in a quick scan of the IPL, and before I
  3144. go reinvent the wheel I thought I should see if someone
  3145. has one they are willing to share.
  3146.  
  3147. Clint jeffery@cs.nmsu.edu
  3148.  
  3149.  
  3150. From icon-group-sender Sun Jul 21 17:12:09 2002
  3151. Return-Path: <icon-group-sender>
  3152. Received: (from root@localhost)
  3153.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6M0AhU28959
  3154.     for icon-group-addresses; Sun, 21 Jul 2002 17:10:43 -0700 (MST)
  3155. Message-Id: <200207220010.g6M0AhU28959@baskerville.CS.Arizona.EDU>
  3156. Date: Fri, 19 Jul 2002 08:45:21 -0400
  3157. From: Wendell Turner <wendell@adsi-m4.com>
  3158. X-Accept-Language: en
  3159. To: icon-group@cs.arizona.edu
  3160. Subject: Re: Icon pretty printer
  3161. Errors-To: icon-group-errors@cs.arizona.edu
  3162. Status: RO
  3163.  
  3164.  
  3165. > Does anyone have a pretty printer for Icon lying about?
  3166. > I didn't see one in a quick scan of the IPL, and before I
  3167. > go reinvent the wheel I thought I should see if someone
  3168. > has one they are willing to share.
  3169.  
  3170. Yes.  I am using a slightly older version of enscript (1.6.1),
  3171. and  hacked one of the language rules to get something working
  3172. for Icon.
  3173.  
  3174. 'enscript' is a GNU utility that will print programs on a
  3175. Postscript printer.  With the -E option it will pretty-print
  3176. source code.  Here are the necessary definitions to make it
  3177. pretty-print Icon programs.
  3178.  
  3179. 1) get enscript 1.6.1 (not the latest, I think the definition
  3180. format file changed) from
  3181.   http://people.ssh.com/mtr/genscript/
  3182. and install it.
  3183.  
  3184. 2) Edit the config file
  3185.  
  3186.    vim /usr/local/share/enscript/enscript.st
  3187.  
  3188. and add in the namerules section a line for the Icon
  3189. extension similar to:
  3190.  
  3191.   namerules
  3192.   {
  3193.      ...
  3194.      /\.icn$/     icon;
  3195.      ...
  3196.   }
  3197.  
  3198. And add somewhere in the file the Icon formatting
  3199. rules shown below.  It works for me.
  3200.  
  3201. Wendell Turner
  3202.  
  3203. --------------- cut here -----------------
  3204.  
  3205. /**
  3206.  * Name: Icon
  3207.  * Description: Icon programming language.
  3208.  * Author: Wendell Turner <wendell@adsi-m4.com>
  3209.  */
  3210.  
  3211. state icon
  3212. {
  3213.   BEGIN {
  3214.     header ();
  3215.   }
  3216.   END {
  3217.     trailer ();
  3218.   }
  3219.  
  3220.   /* Comments. */
  3221.   /#/ {
  3222.     comment_face (true);
  3223.     language_print ($0);
  3224.     call (eat_one_line);
  3225.     comment_face (false);
  3226.   }
  3227.  
  3228.   /* String constants. */
  3229.   /\"/ {
  3230.     string_face (true);
  3231.     language_print ($0);
  3232.     call (c_string);
  3233.     string_face (false);
  3234.   }
  3235.  
  3236.   /* Cset constants. */
  3237.   /\'/ {
  3238.     string_face (true);
  3239.     language_print ($0);
  3240.     call (c_string);
  3241.     string_face (false);
  3242.   }
  3243.  
  3244.   /* Keywords. */
  3245.    /\$(define|e(l(if|se)|ndif)|if(|def|ndef)|undef)\b\
  3246. |\&(a(llocated|scii)|c(lock|ollections|set|urrent)\
  3247. |d(ate(|line)|igits|ump)|e(|rro(r(|number|text|value)|ut))\
  3248. |f(ail|eatures|ile)|host|input|l(case|e(tters|vel)|ine)|main|null\
  3249. |output|p(hi|i|os|rogname)|r(andom|egions)|s(ource|torage|ubject)\
  3250. |t(ime|race)|ucase|version)\
  3251. |\b(a(bs|cos|ny|rgs|sin|tan)|b(al|reak|y)\
  3252. |c(a(llout|se)|enter|h(ar|dir)|lose|o(llect|py|s)|reate|set)\
  3253. |d(e(fault|l(ay|ete)|tab)|isplay|o|tor)\
  3254. |e(lse|n(d|tab)|rrorclear|very|x(it|p))|f(ail|ind|lush|unction)\
  3255. |g(et(|ch(|e)|env)|lobal)\
  3256. |i(and|com|f|mage|n(itial|sert|teger)|or|shift|xor)|k(bhit|ey)\
  3257. |l(eft|i(nk|st)|o(adfunc|cal|g))|m(a(ny|p|tch)|ember|ove)\
  3258. |n(ame|ext|ot|umeric)|o(f|pen|rd)|p(o(p|s)|roc(|edure)|u(ll|sh|t))\
  3259. |r(e(a(d(|s)|l)|cord|move|name|p(eat|l)|turn|verse)|ight|tod|unerr)\
  3260. |s(ave|e(ek|q|t)|in|ort(|f)|qrt|t(atic|op|ring)|uspend|ystem)\
  3261. |t(a(b(|le)|n)|hen|o|rim|ype)|u(ntil|pto)|variable\
  3262. |w(h(ere|ile)|rite(|s)))\b/ {
  3263.     keyword_face (true);
  3264.     language_print ($0);
  3265.     keyword_face (false);
  3266.   }
  3267.  
  3268.   LANGUAGE_SPECIALS {
  3269.     language_print ($0);
  3270.   }
  3271. }
  3272.  
  3273.  
  3274. From icon-group-sender Thu Jul 25 16:27:19 2002
  3275. Return-Path: <icon-group-sender>
  3276. Received: (from root@localhost)
  3277.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6PNQB228636
  3278.     for icon-group-addresses; Thu, 25 Jul 2002 16:26:11 -0700 (MST)
  3279. Message-Id: <200207252326.g6PNQB228636@baskerville.CS.Arizona.EDU>
  3280. From: "John Sampson" <jsampson@indexes.u-net.com>
  3281. To: <icon-group@cs.arizona.edu>
  3282. Subject: Run-time error messages
  3283. Date: Thu, 25 Jul 2002 23:00:03 +0100
  3284. X-Priority: 3 (Normal)
  3285. X-MSMail-Priority: Normal
  3286. Importance: Normal
  3287. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
  3288. Errors-To: icon-group-errors@cs.arizona.edu
  3289. Status: RO
  3290.  
  3291. Hello -
  3292.  
  3293. I am using nticon in Windows 98. My program is producing a run-time error,
  3294. but the trace-back after the error message is causing the error message
  3295. itself to scroll off the screen before I can read it. I need either to turn
  3296. off the trace-back or divert the error output to a file so that I can see
  3297. it.
  3298.  
  3299. Is there a way of doing either of these things?
  3300.  
  3301. Regards
  3302.  
  3303. _John Sampson_
  3304.  
  3305.  
  3306.  
  3307. From icon-group-sender Wed Jul 31 12:29:16 2002
  3308. Return-Path: <icon-group-sender>
  3309. Received: (from root@localhost)
  3310.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6VJSCM28079
  3311.     for icon-group-addresses; Wed, 31 Jul 2002 12:28:12 -0700 (MST)
  3312. Message-Id: <200207311928.g6VJSCM28079@baskerville.CS.Arizona.EDU>
  3313. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  3314. X-Newsgroups: comp.lang.icon
  3315. Subject: Icon Wish List
  3316. X-Priority: 3
  3317. X-MSMail-Priority: Normal
  3318. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  3319. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  3320. Date: Wed, 31 Jul 2002 16:46:58 GMT
  3321. X-Complaints-To: abuse@verizon.net
  3322. To: icon-group@cs.arizona.edu
  3323. Errors-To: icon-group-errors@cs.arizona.edu
  3324. Status: RO
  3325.  
  3326. Looking over the last several versions of Icon, the last several versions
  3327. did little more than adding a few functions and fix a few bugs. It has been
  3328. a while since there have been major enhancements to the Icon language. This
  3329. type of stagnation harms Icon's long term prospects. It is time to consider
  3330. some major upgrades to Icon.
  3331.  
  3332. Listed below are some possible major enhancements to Icon. Of these possible
  3333. improvements, which ones are important to you. Which are unimportant? Is
  3334. there an enhancement you'd like to see that is not listed?
  3335.  
  3336. 1) Object-Oriented Programming
  3337.  
  3338. Icon, in its current form, does not support OOP. This is most unfortunate,
  3339. for even first generation languages such as Fortran and Cobol now support
  3340. OOP. Icon is virtually alone in its lack of support for object classes.
  3341.  
  3342. Yes, I know that we can do OOP using the IDOL preprocessor, but this
  3343. requires the preprocessor step, and that we us to use the "$" notation for
  3344. overloaded operators. It would be a real plus if IDOL was merged into the
  3345. language, so that we could compile a program with the class / method
  3346. constructs. IDOL is actually a rather interesting OOP language; it is the
  3347. only one I know of that allows classes to have cyclic class dependencies. If
  3348. IDOL was merged into Icon, it would make the language very appealing to the
  3349. OOD community.
  3350.  
  3351. 2) Better Interfacing to External Programs
  3352.  
  3353. Right now, it is difficult for an Icon program to call a function not
  3354. written in Icon. On some platforms, there are facilities such as 'loadfunc'
  3355. that permit an external function to be loaded and called, but the external
  3356. function must be written specifically to interface with Icon. What would be
  3357. nice is if we could write, in Icon, a call to an arbitrary function in a
  3358. shared library / DLL.
  3359.  
  3360. Granted, this can be complicated. The Icon data model and the C (say) data
  3361. model are quite a bit different. In C, integers can come in several
  3362. different lengths, and may or may not have a sign. Icon has only one integer
  3363. type, and the length of these integers is limited only by memory. Icon
  3364. memory blocks are movable, and never require an explicit "free" call. C
  3365. works with fixed memory blocks, and an allocated memory block frequently
  3366. needs to be freed to avoid memory leaks.
  3367.  
  3368. Nevertheless, other languages provide ways of calling external functions and
  3369. handling external memory. Why can't Icon have these abilities?
  3370.  
  3371. 3) Unicode Support
  3372.  
  3373. This issue has come up several times before: given that Icon's main focus is
  3374. text processing, it is a shame that it cannot handle Unicode text in a
  3375. natural fashion. There are some difficult issues involved with creating a
  3376. Unicode version of Icon:
  3377.  
  3378. - How should Unicode csets be represented?
  3379. - What should some of the cset keywords (e.g. &upper, &digits) return?
  3380. - Should we revise how the map function is implemented?
  3381.  
  3382. As difficult as these issues may be, Unicode is becoming too large to
  3383. ignore. How should Icon deal with this?
  3384.  
  3385. 4) Icon as a Scripting Language
  3386.  
  3387. For the record, I strongly prefer Icon to PERL. Icon is more readable. Icon
  3388. with its generator facility, along with the string scanning facility, is
  3389. more powerful than PERL. And yet, I can see one good reason why PERL has
  3390. taken the world by storm: it works very well as a scripting language. If you
  3391. want something that combines shell script file management with some string
  3392. processing, PERL works great: just start the program with a "hash bang" and
  3393. you're ready to go. Icon, in contrast, was not designed to be run this way.
  3394. This is unfortunate; the power of Icon could be a real asset for script
  3395. writers.
  3396.  
  3397.  
  3398.  
  3399.  
  3400. From icon-group-sender Wed Jul 31 16:57:59 2002
  3401. Return-Path: <icon-group-sender>
  3402. Received: (from root@localhost)
  3403.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6VNvfA25882
  3404.     for icon-group-addresses; Wed, 31 Jul 2002 16:57:41 -0700 (MST)
  3405. Message-Id: <200207312357.g6VNvfA25882@baskerville.CS.Arizona.EDU>
  3406. X-Originating-IP: [205.158.212.246]
  3407. From: "Ray Pereda" <raypereda@hotmail.com>
  3408. To: icon-group@cs.arizona.edu
  3409. Subject: Re: Icon Wish List
  3410. Date: Wed, 31 Jul 2002 14:13:09 -0700
  3411. X-OriginalArrivalTime: 31 Jul 2002 21:13:10.0117 (UTC) FILETIME=[129C9150:01C238D7]
  3412. Errors-To: icon-group-errors@cs.arizona.edu
  3413. Status: RO
  3414.  
  3415. Does anyone know how to do "hash bang", e.g., #!c:\bin\iconx.exe as the 
  3416. first line of text script, on a Windows platform?  -Ray
  3417.  
  3418.  
  3419. >From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  3420. >To: icon-group@CS.Arizona.EDU
  3421. >Subject: Icon Wish List
  3422. >Date: Wed, 31 Jul 2002 16:46:58 GMT
  3423. >
  3424. >Looking over the last several versions of Icon, the last several versions
  3425. >did little more than adding a few functions and fix a few bugs. It has been
  3426. >a while since there have been major enhancements to the Icon language. This
  3427. >type of stagnation harms Icon's long term prospects. It is time to consider
  3428. >some major upgrades to Icon.
  3429. >
  3430. >Listed below are some possible major enhancements to Icon. Of these 
  3431. >possible
  3432. >improvements, which ones are important to you. Which are unimportant? Is
  3433. >there an enhancement you'd like to see that is not listed?
  3434. >
  3435. >1) Object-Oriented Programming
  3436. >
  3437. >Icon, in its current form, does not support OOP. This is most unfortunate,
  3438. >for even first generation languages such as Fortran and Cobol now support
  3439. >OOP. Icon is virtually alone in its lack of support for object classes.
  3440. >
  3441. >Yes, I know that we can do OOP using the IDOL preprocessor, but this
  3442. >requires the preprocessor step, and that we us to use the "$" notation for
  3443. >overloaded operators. It would be a real plus if IDOL was merged into the
  3444. >language, so that we could compile a program with the class / method
  3445. >constructs. IDOL is actually a rather interesting OOP language; it is the
  3446. >only one I know of that allows classes to have cyclic class dependencies. 
  3447. >If
  3448. >IDOL was merged into Icon, it would make the language very appealing to the
  3449. >OOD community.
  3450. >
  3451. >2) Better Interfacing to External Programs
  3452. >
  3453. >Right now, it is difficult for an Icon program to call a function not
  3454. >written in Icon. On some platforms, there are facilities such as 'loadfunc'
  3455. >that permit an external function to be loaded and called, but the external
  3456. >function must be written specifically to interface with Icon. What would be
  3457. >nice is if we could write, in Icon, a call to an arbitrary function in a
  3458. >shared library / DLL.
  3459. >
  3460. >Granted, this can be complicated. The Icon data model and the C (say) data
  3461. >model are quite a bit different. In C, integers can come in several
  3462. >different lengths, and may or may not have a sign. Icon has only one 
  3463. >integer
  3464. >type, and the length of these integers is limited only by memory. Icon
  3465. >memory blocks are movable, and never require an explicit "free" call. C
  3466. >works with fixed memory blocks, and an allocated memory block frequently
  3467. >needs to be freed to avoid memory leaks.
  3468. >
  3469. >Nevertheless, other languages provide ways of calling external functions 
  3470. >and
  3471. >handling external memory. Why can't Icon have these abilities?
  3472. >
  3473. >3) Unicode Support
  3474. >
  3475. >This issue has come up several times before: given that Icon's main focus 
  3476. >is
  3477. >text processing, it is a shame that it cannot handle Unicode text in a
  3478. >natural fashion. There are some difficult issues involved with creating a
  3479. >Unicode version of Icon:
  3480. >
  3481. >- How should Unicode csets be represented?
  3482. >- What should some of the cset keywords (e.g. &upper, &digits) return?
  3483. >- Should we revise how the map function is implemented?
  3484. >
  3485. >As difficult as these issues may be, Unicode is becoming too large to
  3486. >ignore. How should Icon deal with this?
  3487. >
  3488. >4) Icon as a Scripting Language
  3489. >
  3490. >For the record, I strongly prefer Icon to PERL. Icon is more readable. Icon
  3491. >with its generator facility, along with the string scanning facility, is
  3492. >more powerful than PERL. And yet, I can see one good reason why PERL has
  3493. >taken the world by storm: it works very well as a scripting language. If 
  3494. >you
  3495. >want something that combines shell script file management with some string
  3496. >processing, PERL works great: just start the program with a "hash bang" and
  3497. >you're ready to go. Icon, in contrast, was not designed to be run this way.
  3498. >This is unfortunate; the power of Icon could be a real asset for script
  3499. >writers.
  3500. >
  3501. >
  3502. >
  3503.  
  3504.  
  3505.  
  3506.  
  3507. _________________________________________________________________
  3508. Send and receive Hotmail on your mobile device: http://mobile.msn.com
  3509.  
  3510.  
  3511.  
  3512. From icon-group-sender Wed Jul 31 16:59:32 2002
  3513. Return-Path: <icon-group-sender>
  3514. Received: (from root@localhost)
  3515.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6VNxTE26082
  3516.     for icon-group-addresses; Wed, 31 Jul 2002 16:59:29 -0700 (MST)
  3517. Message-Id: <200207312359.g6VNxTE26082@baskerville.CS.Arizona.EDU>
  3518. From: ernobe <ernobe@msn.com>
  3519. X-Newsgroups: comp.lang.icon
  3520. Subject: Re: Icon Wish List
  3521. Date: Wed, 31 Jul 2002 23:32:06 +0200
  3522. X-Newsreader: MicroPlanet Gravity v2.50
  3523. To: icon-group@cs.arizona.edu
  3524. Errors-To: icon-group-errors@cs.arizona.edu
  3525. Status: RO
  3526.  
  3527. In article <6wU19.159$Z6.97@nwrddc03.gnilink.net>, 
  3528. NOSPAM.lhota.adarose@verizon.net says...
  3529. > Looking over the last several versions of Icon, the last several versions
  3530. > did little more than adding a few functions and fix a few bugs. It has been
  3531. > a while since there have been major enhancements to the Icon language. This
  3532. > type of stagnation harms Icon's long term prospects. It is time to consider
  3533. > some major upgrades to Icon.
  3534.  
  3535. As a beginner to Icon, I tend to regard it as a revolutionary approach to 
  3536. programming, considering that it is founded upon expression evaluation.  This 
  3537. has made it, I think, easier for those developing the language to document it 
  3538. in a way that makes it relatively more accessible than other computer languages 
  3539. for those who are new to computer programming in general.   On this basis, it 
  3540. would appear that the only reason the language could stagnate at this point is 
  3541. if its immediate, obvious benefits are not being more openly presented to the 
  3542. programming community.  This can be achieved by using the language in ways that 
  3543. would make it more note-worthy to those using other programming languages.  
  3544. Lack of use of the language in creative new ways is what stagnates it, since 
  3545. its revolutionary new approach represents the enhancement of computer 
  3546. programming in general.  It cannot be further enhanced by what would represent 
  3547. its degradation to the level of what other languages regard as essential.  
  3548. Furthermore, by adopting the usages of other languages, the users of Icon will 
  3549. be thrown into the arena of issues facing the development of those other 
  3550. languages, issues which the basic principles of Icon are so well suited to 
  3551. solve as they are.  I am not a computer specialist, but I'd like to voice my 
  3552. support and express my conviction to the developers of the language, that, if a 
  3553. computer language is supposed to present the medium by which problems facing 
  3554. computer science in general may be better approached and solved, Icon has the 
  3555. elements which other languages should be looking to for adoption, not the other 
  3556. way around.  If Mr. Llota would care to explain how his proposed enhancements 
  3557. can improve existing elements of the language, and not in any way detract from 
  3558. them, I would be much obliged.
  3559.  
  3560.      
  3561.  
  3562.  
  3563.  
  3564. From icon-group-sender Wed Jul 31 16:59:57 2002
  3565. Return-Path: <icon-group-sender>
  3566. Received: (from root@localhost)
  3567.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g6VNxsE26158
  3568.     for icon-group-addresses; Wed, 31 Jul 2002 16:59:54 -0700 (MST)
  3569. Message-Id: <200207312359.g6VNxsE26158@baskerville.CS.Arizona.EDU>
  3570. From: Eka Laiman <eka@corp.cirrus.com>
  3571. Subject: Re: Icon Wish List
  3572. To: NOSPAM.lhota.adarose@verizon.net (Frank J. Lhota)
  3573. Date: Wed, 31 Jul 2002 15:03:16 -0700 (PDT)
  3574. Cc: icon-group@cs.arizona.edu
  3575. Errors-To: icon-group-errors@cs.arizona.edu
  3576. Status: RO
  3577.  
  3578. Frank Lhota wrote:
  3579. > Looking over the last several versions of Icon, the last several versions did
  3580. > little more than adding a few functions and fix a few bugs. It has been a
  3581. > while since there have been major enhancements to the Icon language. This
  3582. > type of stagnation harms Icon's long term prospects. It is time to consider
  3583. > some major upgrades to Icon.
  3584.  
  3585. I agree with what Frank wrote. I used to write a lot of C/C++ codes but
  3586. nowadays unless the program has be run fast and will be used often, I
  3587. am writing ICON program most of the time. I would not like to see ICON
  3588. becoming a "dead" language like its predecessor, SNOBOL.
  3589.  
  3590. > Listed below are some possible major enhancements to Icon. Of these possible
  3591. > improvements, which ones are important to you. Which are unimportant? Is
  3592. > there an enhancement you'd like to see that is not listed?
  3593. > 1) Object-Oriented Programming
  3594. > Icon, in its current form, does not support OOP. This is most unfortunate,
  3595. > for even first generation languages such as Fortran and Cobol now support
  3596. > OOP. Icon is virtually alone in its lack of support for object classes.
  3597. > Yes, I know that we can do OOP using the IDOL preprocessor, but this requires
  3598. > the preprocessor step, and that we us to use the "$" notation for overloaded
  3599. > operators. It would be a real plus if IDOL was merged into the language, so
  3600. > that we could compile a program with the class / method constructs. IDOL is
  3601. > actually a rather interesting OOP language; it is the only one I know of that
  3602. > allows classes to have cyclic class dependencies. If IDOL was merged into
  3603. > Icon, it would make the language very appealing to the OOD community.
  3604.  
  3605. I am not sure whether I agree with OO being a desirable feature. For me
  3606. the only thing that C++ brings to the table with its object orientedness
  3607. is "it provides better lexical analysis". I have always written object
  3608. oriented program even in C hey days. The thing which I dislike about C
  3609. is having to call "listInsert", "hashInsert", etc. C++ solves this problem
  3610. by being able to call these functions as "insert". Which "insert"? This
  3611. is distinguished by the "type of object" used.
  3612.  
  3613. But in ICON we do not know "what type of object" a certain variable
  3614. belongs to until the run time. With this in mind, I am not sure how ICON
  3615. will handle this object orientedness.
  3616.  
  3617. > 2) Better Interfacing to External Programs
  3618. > Right now, it is difficult for an Icon program to call a function not written
  3619. > in Icon. On some platforms, there are facilities such as 'loadfunc' that
  3620. > permit an external function to be loaded and called, but the external
  3621. > function must be written specifically to interface with Icon. What would be
  3622. > nice is if we could write, in Icon, a call to an arbitrary function in a
  3623. > shared library / DLL.
  3624. > Granted, this can be complicated. The Icon data model and the C (say) data
  3625. > model are quite a bit different. In C, integers can come in several different
  3626. > lengths, and may or may not have a sign. Icon has only one integer type, and
  3627. > the length of these integers is limited only by memory. Icon memory blocks
  3628. > are movable, and never require an explicit "free" call. C works with fixed
  3629. > memory blocks, and an allocated memory block frequently needs to be freed to
  3630. > avoid memory leaks.
  3631. > Nevertheless, other languages provide ways of calling external functions and
  3632. > handling external memory. Why can't Icon have these abilities?
  3633.  
  3634. I also agree with this one. In recent release of ICON (9.2) a new
  3635. function is provided: "opendir". Immediately the thing that comes
  3636. to mind is "how do I test whether a given file is a directory or
  3637. normal file"? I know that I can do this using "fstat" in C. Unfortunately
  3638. interfacing ICON to external program is difficult at best.
  3639.  
  3640. > 3) Unicode Support
  3641. > This issue has come up several times before: given that Icon's main focus is
  3642. > text processing, it is a shame that it cannot handle Unicode text in a
  3643. > natural fashion. There are some difficult issues involved with creating a
  3644. > Unicode version of Icon:
  3645. > - How should Unicode csets be represented?  - What should some of the cset
  3646. > keywords (e.g. &upper, &digits) return?  - Should we revise how the map
  3647. > function is implemented?
  3648. > As difficult as these issues may be, Unicode is becoming too large to ignore.
  3649. > How should Icon deal with this?
  3650.  
  3651. Have we heard the last word on UNICODE yet?
  3652.  
  3653. > 4) Icon as a Scripting Language
  3654. > For the record, I strongly prefer Icon to PERL. Icon is more readable. Icon
  3655. > with its generator facility, along with the string scanning facility, is more
  3656. > powerful than PERL. And yet, I can see one good reason why PERL has taken the
  3657. > world by storm: it works very well as a scripting language. If you want
  3658. > something that combines shell script file management with some string
  3659. > processing, PERL works great: just start the program with a "hash bang" and
  3660. > you're ready to go. Icon, in contrast, was not designed to be run this way.
  3661. > This is unfortunate; the power of Icon could be a real asset for script
  3662. > writers.
  3663.  
  3664. Again I agree whole-heartedly with Frank that ICON's construct is a much
  3665. better construct than that of PERL. What I see the "deficiency" of ICON
  3666. over PERL is the "system functions" similar to "fstat" which I described
  3667. above. I don't mind so much having to go through "icont" path, after all
  3668. the "compile" time is very fast.
  3669.  
  3670. -eka-
  3671.  
  3672.  
  3673.  
  3674. From icon-group-sender Thu Aug  1 07:58:42 2002
  3675. Return-Path: <icon-group-sender>
  3676. Received: (from root@localhost)
  3677.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g71EwJ219373
  3678.     for icon-group-addresses; Thu, 1 Aug 2002 07:58:19 -0700 (MST)
  3679. Message-Id: <200208011458.g71EwJ219373@baskerville.CS.Arizona.EDU>
  3680. Date: Thu, 1 Aug 2002 00:31:12 -0600
  3681. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  3682. To: icon-group@cs.arizona.edu
  3683. Subject: Re: Icon Wish List
  3684. Errors-To: icon-group-errors@cs.arizona.edu
  3685. Status: RO
  3686.  
  3687.  
  3688. [Frank Lhota asks for OOP, a better "loadfunc()", Unicode, and scripting]
  3689. [others have debated whether we should copy other languages, and asked for
  3690. fstat()]
  3691.  
  3692. As Frank is aware, if he merged Idol's OOP features into Icon as he
  3693. suggests, and added a juicy POSIX interface with things like fstat(), he'd
  3694. get a language called Unicon (http://unicon.sourceforge.net). Objects are
  3695. a thing that some applications genuinely benefit from, and others don't.
  3696. The same could be said about records, or string scanning.  Unicon is
  3697. usable entirely without objects; it comes with an "icont" and "iconx"
  3698. that work as in normal Icon and omit OOP features but make things
  3699. like POSIX functions, networking, and databases accessible.
  3700.  
  3701. I will post a detailed message on Frank's other very interesting requests
  3702. on the Unicon group mailing list tomorrow; I already wrote it but am not
  3703. posting it here since Icon Project are the right folks to answer requests for
  3704. language features for Icon.  Unicon's position toward Icon Project is one of
  3705. reverential worship and cooperation :-), and we continue to benefit from the
  3706. improvements to the Icon code that they make.
  3707.  
  3708. Clint jeffery@cs.nmsu.edu
  3709.  
  3710.  
  3711. From icon-group-sender Thu Aug  1 07:59:02 2002
  3712. Return-Path: <icon-group-sender>
  3713. Received: (from root@localhost)
  3714.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g71EwvY19497
  3715.     for icon-group-addresses; Thu, 1 Aug 2002 07:58:57 -0700 (MST)
  3716. Message-Id: <200208011458.g71EwvY19497@baskerville.CS.Arizona.EDU>
  3717. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  3718. X-Newsgroups: comp.lang.icon
  3719. Subject: Re: Icon Wish List
  3720. X-Priority: 3
  3721. X-MSMail-Priority: Normal
  3722. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  3723. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  3724. Date: Thu, 01 Aug 2002 13:54:10 GMT
  3725. X-Complaints-To: abuse@verizon.net
  3726. To: icon-group@cs.arizona.edu
  3727. Errors-To: icon-group-errors@cs.arizona.edu
  3728. Status: RO
  3729.  
  3730. First of all, I am a long time Icon user and I am a long-time Icon fan. I,
  3731. too, appreciate the power of the Icon expression evaluation mechanism. I
  3732. have been using the language since the mid-1980's. I frequently use Icon for
  3733. program generation / analysis, data analysis, rapid prototyping, and even
  3734. for small A.I. projects. I have contributed to the Icon Programming Library,
  3735. and have done some Icon development work in my spare time. I am the proud
  3736. owner of the complete run of the "Icon Analyst", and I always looked forward
  3737. to the elegant code samples included in each issue. (Side note: issues of
  3738. the IA are now available for download from the Icon project site. I would
  3739. strongly recommend them to all Icon enthusiasts).
  3740.  
  3741. When it comes to programming something for personal use, one-shot
  3742. applications or the like, I am very happy with Icon. I do consider it
  3743. superior to many of the other languages. Why, then, did I submit the wish
  3744. list? Because in spite of Icon's virtues, it still has not caught on with
  3745. anyone outside a rather small clique. I do not even have the option of doing
  3746. the work I'm being paid for in Icon -- nobody but me knows it, they won't be
  3747. able to maintain it, etc. -- so I end up doing the sorts of things Icon does
  3748. best in some other language.
  3749.  
  3750. How did this state of affairs come about? How could the superior technology
  3751. in Icon lose out to weaker tools like Awk or Perl? Sometimes what holds an
  3752. otherwise better product back is the lack of some small but very important
  3753. feature. Consider the 1980's battle over videotape formats. At the time,
  3754. there were two formats: VHS and Beta. The Beta tapes were more durable, and
  3755. had higher resolution, than the VHS tapes. With advantages like this, why
  3756. did VHS quickly gain the upper hand, eventually forcing Beta out of the
  3757. market? The reason was one simple feature missing from Beta tapes: long
  3758. recording times. The original Beta tapes could only hold one hour of
  3759. programming; later they came up with tapes that could record two hours of
  3760. programming. In contrast, VHS tapes could hold up to six hours of
  3761. programming, allowing one to record epic movies, sporting events, and even
  3762. movie marathons without switching tapes. Yes, tape length is just one dumb
  3763. issue to consider, but it turned out to be a very important issue to
  3764. consumers, and it resulted in the failure of the otherwise superior Beta
  3765. format.
  3766.  
  3767. I firmly believe that Icon is a superior language, that it can do many of
  3768. the things that languages such as Perl does, and do them better.
  3769. The reason for the wish list is that I'm wondering if there is some one
  3770. feature missing from Icon that is keeping it from taking off. I certainly do
  3771. not want to take away anything that is there. I still want Icon to have the
  3772. powerful and elegant features that we know and love.
  3773.  
  3774.  
  3775.  
  3776.  
  3777. From icon-group-sender Thu Aug  1 12:55:47 2002
  3778. Return-Path: <icon-group-sender>
  3779. Received: (from root@localhost)
  3780.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g71Jsrw17728
  3781.     for icon-group-addresses; Thu, 1 Aug 2002 12:54:53 -0700 (MST)
  3782. Message-Id: <200208011954.g71Jsrw17728@baskerville.CS.Arizona.EDU>
  3783. Date: Thu, 1 Aug 2002 16:57:28 +0100 (BST)
  3784. From: Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk>
  3785. X-X-Sender: hgs@neelix
  3786. To: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  3787. cc: icon-group@cs.arizona.edu
  3788. Subject: Re: Icon Wish List
  3789. Errors-To: icon-group-errors@cs.arizona.edu
  3790. Status: RO
  3791.  
  3792. On Thu, 1 Aug 2002, Frank J. Lhota wrote:
  3793.  
  3794. > list? Because in spite of Icon's virtues, it still has not caught on with
  3795. > anyone outside a rather small clique. I do not even have the option of doing
  3796.  
  3797. The same could be said of Forth, and in that case one argument
  3798. is that it is too radical:
  3799.  
  3800. http://www.msmisp.com/futuretest/Forth's_Dilemma.htm
  3801.  
  3802. this might be true for Icon too: I know I have difficulties
  3803. understanding Icon code because of its goal directed nature.
  3804. I'm still not really used to it yet.  I had the same problem
  3805. with Prolog.
  3806.  
  3807. Also, how OO can be done in a dynamic langauge can be seen from
  3808. Ruby.
  3809.  
  3810. http://www.ruby-lang.org/en/
  3811.  
  3812. There may be other, better examples...
  3813.  
  3814.         HTH
  3815.         Hugh
  3816.  
  3817.  
  3818.  
  3819. From icon-group-sender Fri Aug  2 07:53:00 2002
  3820. Return-Path: <icon-group-sender>
  3821. Received: (from root@localhost)
  3822.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72EqMo14502
  3823.     for icon-group-addresses; Fri, 2 Aug 2002 07:52:22 -0700 (MST)
  3824. Message-Id: <200208021452.g72EqMo14502@baskerville.CS.Arizona.EDU>
  3825. From: "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid>
  3826. X-Newsgroups: comp.lang.icon
  3827. Subject: Re: Icon Wish List
  3828. Date: Thu, 01 Aug 2002 11:17:59 -0400
  3829. Mail-Copies-To: nobody
  3830. X-Cise: tanbanso@iinet.net.au
  3831. X-CompuServe-Customer: Yes
  3832. X-Coriate: admin@interspeed.co.nz
  3833. X-Ecrate: tanandtanlawyers.com
  3834. X-Punge: Micro$oft
  3835. X-Sanguinate: themvsguy@email.com
  3836. X-Terminate: SPA(GIS)
  3837. X-Tinguish: Mark Griffith <markgriffith@rocketmail.com>
  3838. X-Treme: C&C,DWS
  3839. X-Newsreader: MR/2 Internet Cruiser Edition for OS/2 v2.31a/31 
  3840. X-Complaints-To: newsabuse@supernews.com
  3841. To: icon-group@cs.arizona.edu
  3842. Errors-To: icon-group-errors@cs.arizona.edu
  3843. Status: RO
  3844.  
  3845.  
  3846. In <MPG.17b283d5c22f90ce989932@news.CIS.DFN.DE>, on 07/31/2002
  3847.    at 11:32 PM, ernobe <ernobe@msn.com> said:
  3848.  
  3849. >As a beginner to Icon, I tend to regard it as a revolutionary
  3850. >approach to  programming, 
  3851.  
  3852. It is, but that by itself does not make it useful in areas for which
  3853. it was not designed. I agree with Mr. Lhota's suggestions.
  3854.  
  3855. >considering that it is founded upon expression evaluation.
  3856.  
  3857. Many languages are. What is different about Icon is the backtracking
  3858. mechanism.
  3859.  
  3860. >This can be achieved by using the language in ways that  would make
  3861. >it more note-worthy to those using other programming languages. 
  3862.  
  3863. Which is difficult if it lacks facilities needed for the application
  3864. areas that they are most likely to notice.
  3865.  
  3866. >It cannot be further enhanced by what would represent 
  3867. >its degradation to the level of what other languages regard as
  3868. >essential.  
  3869.  
  3870. You're begging the question. You've said nothing to back up a claim
  3871. that Mr. Lhota's suggestion would be a degradation of Icon.
  3872.  
  3873. >Furthermore, by adopting the usages of other languages, the users of
  3874. >Icon will  be thrown into the arena of issues facing the development
  3875. >of those other  languages,
  3876.  
  3877. What do you mean by "adopting"? Providing new language features does
  3878. not force anybody to use them.
  3879.  
  3880. >issues which the basic principles of Icon are so well suited to 
  3881. >solve as they are.  
  3882.  
  3883. It's precisely because they are *not* well suited that Mr. Lhota
  3884. suggested enhancements.
  3885.  
  3886. >I am not a computer specialist,
  3887.  
  3888. I am. And I agree with Mr. Lhota.
  3889.  
  3890. -- 
  3891.      Shmuel (Seymour J.) Metz, SysProg and JOAT
  3892.      Atid/2, Team OS/2, Team PL/I
  3893.  
  3894. Any unsolicited commercial junk E-mail will be subject to legal
  3895. action.  I reserve the right to publicly post or ridicule any
  3896. abusive E-mail.
  3897.  
  3898. I mangled my E-mail address to foil automated spammers; reply to
  3899. domain Patriot dot net user shmuel+news to contact me.  Do not
  3900. reply to spamtrap@library.lspace.org
  3901.  
  3902.  
  3903.  
  3904. From icon-group-sender Fri Aug  2 08:02:37 2002
  3905. Return-Path: <icon-group-sender>
  3906. Received: (from root@localhost)
  3907.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72F2QU15170
  3908.     for icon-group-addresses; Fri, 2 Aug 2002 08:02:26 -0700 (MST)
  3909. Message-Id: <200208021502.g72F2QU15170@baskerville.CS.Arizona.EDU>
  3910. Date: Thu, 01 Aug 2002 23:16:46 +1000
  3911. From: Bruce Gordon Rennie <brennie@dcsi.net.au>
  3912. X-Accept-Language: en
  3913. CC: icon-group@cs.arizona.edu
  3914. Subject: Re: Icon Wish List
  3915. X-Virus-Scanned: by amavisd-milter (http://amavis.org/)
  3916. Errors-To: icon-group-errors@cs.arizona.edu
  3917. Status: RO
  3918.  
  3919.  
  3920.  
  3921. Eka Laiman wrote:
  3922. [::]
  3923. > I agree with what Frank wrote. I used to write a lot of C/C++ codes but
  3924. > nowadays unless the program has be run fast and will be used often, I
  3925. > am writing ICON program most of the time. I would not like to see ICON
  3926. > becoming a "dead" language like its predecessor, SNOBOL.
  3927. [...]
  3928. SNOBOL 4 dead? I did hear that it was still being used to mange network
  3929. configuration files not so long ago. That may have changed recently - I have not
  3930. been in contact with the staff for a while. 
  3931.  
  3932.  
  3933. -- 
  3934. Bruce Rennie ( from God's Own Country Downunder )
  3935. Disciple of Jesus Christ in Training
  3936.  
  3937. The Cross of Jesus Christ - Salvation for all men.
  3938.  
  3939. Song of Solomon ( Song of Songs ) - The greatest Love Story Ever
  3940. and a story for our times.
  3941.  
  3942. Be a GOD Chaser.
  3943.  
  3944.  
  3945.  
  3946. From icon-group-sender Fri Aug  2 08:05:45 2002
  3947. Return-Path: <icon-group-sender>
  3948. Received: (from root@localhost)
  3949.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72F5fQ15522
  3950.     for icon-group-addresses; Fri, 2 Aug 2002 08:05:41 -0700 (MST)
  3951. Message-Id: <200208021505.g72F5fQ15522@baskerville.CS.Arizona.EDU>
  3952. Subject: Re: Icon Wish List
  3953. From: Cheyenne Wills <cwills@witznd.net>
  3954. To: icon-group@cs.arizona.edu
  3955. Date: 02 Aug 2002 06:40:46 -0600
  3956. Errors-To: icon-group-errors@cs.arizona.edu
  3957. Status: RO
  3958.  
  3959. I want to second Clint's comments about looking into Unicon for OOP
  3960. features and POSIX stuff.
  3961.  
  3962. Now why did I say that.
  3963.  
  3964. I believe that OOP fits a certain class (no pun intended) of programming
  3965. problems.  However, OOP also requires alot of "code" support within the
  3966. library.  I also believe that some of the concepts of OOP are in direct
  3967. contrast to the concepts of Icon - mainly that OOP wants very strict
  3968. data typing of it's objects, while Icon wants to be able to switch the
  3969. "class" of a variable around as needed.
  3970.  
  3971. I also believe that programmers tend to forget about the problem at hand
  3972. and program more towards trying to abstract everything out to a "class"
  3973. and instead of having something nice and readable you end up with
  3974. something like:
  3975.  
  3976. double dist = Math.abs( Math.sqrt( (A.x-B.x)^2 + (A.y-B.y)^2) - offset)
  3977.  
  3978. (note there are some features that I do like from OOP, but they were in
  3979. some languages "pre-oop" -- for example, PL/I had generics for functions
  3980. so that one could write:
  3981.  
  3982. procedure sqrt (x float)
  3983. ...
  3984. end
  3985. procedure sqrt (x fixed bin)
  3986. ...
  3987. end
  3988.  
  3989. As for scripting... I'm kind of wishy washy on this.  The problem with
  3990. adding in better "scripting" support is that it tends to require alot of
  3991. platform specific support.  One of the nice features of Icon is that it
  3992. is able to hold itself above the "operating system" level.
  3993.  
  3994. For a language to be a good scripting language it needs to be able to
  3995. interface not only with the command shell it's living in, but with any
  3996. environment.  In this case I have gotten used to Rexx.  I can use it for
  3997. command scripts, I can use it for editor scripts, I can imbed it into my
  3998. own programs.  
  3999.  
  4000. If I were going to add scripting support into Icon, I would try to model
  4001. the interfaces off of Rexx's.
  4002.  
  4003.  
  4004.  
  4005. Anyway... now for my wish list...
  4006.  
  4007.  
  4008. 1) Change the name.  Yes the meaning of Icon was kind of neat. However
  4009. must people out there probably think of those little images stuck on the
  4010. screen when someone mentions Icon.  My suggestion... IPL -- we get to
  4011. keep a little inside joke (IconProgrammingLanguage) -- but it gets us
  4012. away from having to reply that "No this is a programming language -- not
  4013. something about little desktop images).
  4014.  
  4015. 2) an standardized icode format.  This would allow icode files to be
  4016. transfered from one system to another.  This actually could be done
  4017. fairly easily by inserting at the tail end of the linking phase a
  4018. translation to some standard format and then at loading phase in the
  4019. interpreter just converting back to native format.  And while we are in
  4020. there.. compress the icode file.
  4021.  
  4022. 3) Packaging of ucode files.  I know that just dropping ucode files into
  4023. a directory is easy, but it would be nice to be able to just point to a
  4024. single file and say "here are all the procs" needed.
  4025.  
  4026. Cheyenne
  4027.  
  4028.  
  4029.  
  4030. On Thu, 2002-08-01 at 00:31, Clint Jeffery wrote:
  4031. > [Frank Lhota asks for OOP, a better "loadfunc()", Unicode, and scripting]
  4032. > [others have debated whether we should copy other languages, and asked for
  4033. > fstat()]
  4034. > As Frank is aware, if he merged Idol's OOP features into Icon as he
  4035. > suggests, and added a juicy POSIX interface with things like fstat(), he'd
  4036. > get a language called Unicon (http://unicon.sourceforge.net). Objects are
  4037. > a thing that some applications genuinely benefit from, and others don't.
  4038. > The same could be said about records, or string scanning.  Unicon is
  4039. > usable entirely without objects; it comes with an "icont" and "iconx"
  4040. > that work as in normal Icon and omit OOP features but make things
  4041. > like POSIX functions, networking, and databases accessible.
  4042. > I will post a detailed message on Frank's other very interesting requests
  4043. > on the Unicon group mailing list tomorrow; I already wrote it but am not
  4044. > posting it here since Icon Project are the right folks to answer requests for
  4045. > language features for Icon.  Unicon's position toward Icon Project is one of
  4046. > reverential worship and cooperation :-), and we continue to benefit from the
  4047. > improvements to the Icon code that they make.
  4048. > Clint jeffery@cs.nmsu.edu
  4049.  
  4050.  
  4051.  
  4052. From icon-group-sender Fri Aug  2 08:05:57 2002
  4053. Return-Path: <icon-group-sender>
  4054. Received: (from root@localhost)
  4055.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72F5t615558
  4056.     for icon-group-addresses; Fri, 2 Aug 2002 08:05:55 -0700 (MST)
  4057. Message-Id: <200208021505.g72F5t615558@baskerville.CS.Arizona.EDU>
  4058. From: icon-project@cs.arizona.edu
  4059. X-Newsgroups: comp.lang.icon,comp.answers,news.answers
  4060. Subject: Icon Programming Language FAQ
  4061. Date: 2 Aug 2002 07:51:04 -0700
  4062. To: icon-group@cs.arizona.edu
  4063. Errors-To: icon-group-errors@cs.arizona.edu
  4064. Status: RO
  4065.  
  4066. Archive-name: comp-lang-icon-faq
  4067. Posting-Frequency: monthly
  4068.  
  4069.  
  4070.         Frequently Asked Questions about the Icon programming language
  4071.  
  4072.    http://www.cs.arizona.edu/icon/faq.htm
  4073.    Last updated July 2, 2002
  4074.  
  4075.    Learning about Icon
  4076.    A1. What is Icon?
  4077.    A2. What is Icon good for?
  4078.    A3. What are Icon's distinguishing characteristics?
  4079.    A4. What is the Icon program library?
  4080.    A5. Where can I learn more about Icon?
  4081.    A6. How about comprehensive documentation?
  4082.  
  4083.    Implementations
  4084.    B1. What platforms support Icon?
  4085.    B2. How do I get started with Icon?
  4086.    B3. Is there a Unicode version of Icon?
  4087.    B4. What happened to the compiler?
  4088.  
  4089.    Administration
  4090.    C1. What is the Icon Project?
  4091.    C2. How often is the on-line material updated?
  4092.    C3. Where did Icon come from?
  4093.    C4. Where is Icon going? 
  4094.  
  4095.    Support
  4096.    D1. Is there a users' group for Icon?
  4097.    D2. How do I get technical support?
  4098.  
  4099.    Programming
  4100.    E1. Why doesn't read() work with every?
  4101.    E2. Why doesn't string invocation such as "foo"() work?
  4102.    E3. How can I call a C function?
  4103.    E4. Can I open a bidirectional pipe?
  4104.      _________________________________________________________________
  4105.  
  4106. Learning about Icon
  4107.  
  4108.   A1. What is Icon?
  4109.  
  4110.    Icon is a very high level general-purpose programming language with
  4111.    extensive features for processing strings (text) and data structures.
  4112.    Icon is an imperative, procedural language with a syntax that is
  4113.    reminiscent of C and Pascal, but with semantics at a much higher
  4114.    level.
  4115.  
  4116.    Icon has a novel expression-evaluation mechanism that integrates
  4117.    goal-directed evaluation and backtracking with conventional control
  4118.    structures. It has a string scanning facility for pattern matching
  4119.    that avoids the tedious details usually associated with analyzing
  4120.    strings. Icon's built-in data structures include sets and tables with
  4121.    associative lookup, lists that can be used as vectors or stacks and
  4122.    queues, and records.
  4123.  
  4124.    Icon is a strongly, though not statically, typed language. It provides
  4125.    transparent automatic type conversion: For example, if an integer is
  4126.    used in an operation that requires a string, the integer is
  4127.    automatically converted to a string.
  4128.  
  4129.    Several implementations of Icon have high-level graphics facilities
  4130.    with an easily programmed window interface.
  4131.  
  4132.    Icon manages storage automatically. Objects are created as needed
  4133.    during program execution and space is reclaimed by garbage collection
  4134.    as needed. The sizes of strings and data structures are limited only
  4135.    by the amount of available memory.
  4136.  
  4137.   A2. What is Icon good for?
  4138.  
  4139.    As a general-purpose programming language with a large computational
  4140.    repertoire, Icon can be used for most programming tasks. It's
  4141.    especially strong at building software tools, for processing text, and
  4142.    for experimental and research applications.
  4143.  
  4144.    Icon is designed to make programming easy; it emphasizes the value of
  4145.    programmer's time and the importance of getting programs to work
  4146.    quickly. Consequently, Icon is used both for short, one-shot tasks and
  4147.    for very complex applications.
  4148.  
  4149.   A3. What are Icon's distinguishing characteristics?
  4150.  
  4151.      * A high-level, general-purpose programming language
  4152.      * Friendly line-oriented syntax (no semicolons needed)
  4153.      * Emphasis on programmer productivity
  4154.      * Usually interpreted
  4155.  
  4156.      * Evolved from programming languages (vs. scripting languages)
  4157.      * Procedural control flow plus generators and goal-directed
  4158.        evaluation
  4159.  
  4160.      * Values have types; variables are typeless, accept any value
  4161.      * Static scoping: global or (procedure) local
  4162.      * Automatic garbage collection
  4163.  
  4164.      * All integers have arbitrary precision
  4165.      * Uses strings (not chars) as basic text datatype
  4166.      * Has lists that function as arrays, queues, and stacks
  4167.      * Also has sets, tables, records (structs), reals (doubles), more
  4168.      * No second-class "primitive types"
  4169.  
  4170.      * Not "object-oriented" (no classes, inheritance, or instance
  4171.        methods)
  4172.      * No exception catching
  4173.      * No concurrency (no threads, monitors, semaphores, or
  4174.        synchronization)
  4175.      * Has co-expressions (coroutines)
  4176.  
  4177.      * Basic least-common-denominator system interface (a la ANSI C)
  4178.  
  4179.      * Procedural graphics (event-driven paradigm available but not
  4180.        mandated)
  4181.      * Retained windows (programs are never called to repaint)
  4182.      * Simple GUI builder that can re-edit its generated code
  4183.      * Turtle graphics package
  4184.  
  4185.      * Large library of contributed procedures and programs
  4186.  
  4187.   A4. What is the Icon program library?
  4188.  
  4189.    The library is a collection of programs and procedures written in
  4190.    Icon. User contributions are welcome and form a significant portion of
  4191.    the library.
  4192.  
  4193.    Library procedures effectively augment the built-in functions
  4194.    available to an Icon program. A wide variety of procedures currently
  4195.    exists, and most graphically-based programs are built around library
  4196.    procedures.
  4197.  
  4198.    The programs in the library range from simple demonstrations to handy
  4199.    tools to complex graphical applications.
  4200.  
  4201.    The library is a resource for both new and experienced programmers. In
  4202.    addition to their basic utility, its programs and procedures serve as
  4203.    examples of how things can be written in Icon.
  4204.  
  4205.   A5. Where can I learn more about Icon?
  4206.  
  4207.    Here are some good places to start.
  4208.      * Ralph Griswold's overview:
  4209.        http://www.cs.arizona.edu/icon/docs/ipd266.htm
  4210.      * Dave Hanson's introduction:
  4211.        http://www.cs.arizona.edu/icon/intro.htm
  4212.      * John Shipman's tutorial: http://www.nmt.edu/tcc/help/lang/icon/
  4213.  
  4214.   A6. How about comprehensive documentation?
  4215.  
  4216.    Two books specify the Icon language. The core language is covered by
  4217.    The Icon Programming Language (third edition), by Griswold and
  4218.    Griswold. Graphics facilities are described in Graphics Programming in
  4219.    Icon by Griswold, Jeffery, and Townsend. These books contain both
  4220.    tutorial and reference material. They are available from RTC Books
  4221.    (www.rtcbooks.com, search for "Icon") or from Jeffery Systems
  4222.    (www.zianet.com/jeffery/books).
  4223.  
  4224.    Icon's internals are detailed in The Implementation of the Icon
  4225.    Programming Language by Griswold and Griswold (Princeton, 1986, out of
  4226.    print). Although considerable changes have occurred since Version 6,
  4227.    described in the book, the basic structure is the same. Two technical
  4228.    reports, IPD112 and IPD239, describe subsequent changes.
  4229.  
  4230.    The Icon Programming Language Handbook, by Thomas W. Christopher, is
  4231.    available on the web at http://www.toolsofcomputing.com/IconHandbook/.
  4232.  
  4233.    There is a large amount of additional information at the Icon web
  4234.    site, http://www.cs.arizona.edu/icon, but there is no complete on-line
  4235.    documentation.
  4236.      _________________________________________________________________
  4237.  
  4238. Implementations
  4239.  
  4240.   B1. What platforms support Icon?
  4241.  
  4242.    Current implementations with graphics support are available for Unix
  4243.    and Windows. On the Macintosh, the Unix implementation runs under
  4244.    MacOS X, with graphics using XFree86. Older versions of Icon are
  4245.    available for some other systems. An alternative Java-based
  4246.    implementation for Unix, Jcon, is also available.
  4247.  
  4248.   B2. How do I get started with Icon?
  4249.  
  4250.    Version 9.4.1 of Icon for Unix can be downloaded from
  4251.    http://www.cs.arizona.edu/icon/v941/. Source and binary packages are
  4252.    available, each with the complete Icon program library.
  4253.  
  4254.    Version 9.3 of Icon for Windows is compatible at the source level with
  4255.    version 9.4.1. It can be downloaded from
  4256.    http://www.cs.arizona.edu/icon/v93w.htm. The Version 9.4.1 library can
  4257.    be obtained separately from http://www.cs.arizona.edu/icon/v941/.
  4258.  
  4259.    For older implementations, start at
  4260.    http://www.cs.arizona.edu/icon/implver.htm. Jcon is at
  4261.    http://www.cs.arizona.edu/icon/jcon/.
  4262.  
  4263.   B3. Is there a Unicode version of Icon?
  4264.  
  4265.    No. Icon is defined in terms of 8-bit characters, and changing this
  4266.    presents several design challenges that would likely break existing
  4267.    programs. Also, modifying the C implementation is probably infeasible,
  4268.    but a Unicode version of Jcon might be possible.
  4269.  
  4270.   B4. What happened to the compiler?
  4271.  
  4272.    For a while, Unix distributions included both an interpreter and a
  4273.    compiler; but the interpreter is is usually fast enough even for
  4274.    production work, and most people found that using the compiler wasn't
  4275.    worth the extra compilation time or the hassles involved. We no longer
  4276.    advertise the compiler or produce binaries for it. It is still part of
  4277.    the source code distribution, and we have not deliberately broken it,
  4278.    but we no longer support it and we cannot offer help if problems
  4279.    arise.
  4280.      _________________________________________________________________
  4281.  
  4282. Administration
  4283.  
  4284.   C1. What is the Icon Project?
  4285.  
  4286.    The Icon Project is a name used by the group that distributes and
  4287.    supports the Icon programming language. The project maintains the Icon
  4288.    web site at http://www.cs.arizona.edu/icon. A non-commercial
  4289.    organization, the project derives support from the University of
  4290.    Arizona, revenue from book sales, and user contributions.
  4291.  
  4292.   C2. How often is the on-line material updated?
  4293.  
  4294.    New material is added when it's available. Established implementations
  4295.    usually are updated only when there's a new version. This typically is
  4296.    every year or two. The Icon program library is updated on a similar
  4297.    schedule.
  4298.  
  4299.   C3. Where did Icon come from?
  4300.  
  4301.    Icon is the latest in a series of high-level programming languages
  4302.    designed to facilitate programming tasks involving strings and
  4303.    structures. The original language, SNOBOL, was developed at Bell
  4304.    Telephone Laboratories in the early 1960s. SNOBOL evolved into
  4305.    SNOBOL4, which is still in use. Subsequent languages were developed at
  4306.    the University of Arizona with support from the National Science
  4307.    Foundation. Although it has similar objectives and many similar
  4308.    capabilities, Icon bears little superficial resemblance to SNOBOL4.
  4309.  
  4310.    Icon implementations were developed by faculty, staff, and students at
  4311.    the University of Arizona, with significant contributions from
  4312.    volunteers around the world. An Icon history by Ralph and Madge
  4313.    Griswold appears in the preprints of the second History of Programming
  4314.    Languages Conference (HOPL-II), ACM SIGPLAN Notices, March 1993 (Vol
  4315.    28, No 3).
  4316.  
  4317.    The name Icon is not an acronym, nor does it stand for anything in
  4318.    particular, although the word iconoclastic was mentioned when the name
  4319.    was chosen. The name predates the now common use of icon to refer to
  4320.    small images used in graphical user interfaces. This sometimes
  4321.    misleads people into thinking that that Icon is designed to create or
  4322.    manipulate icons, but there's no good solution to that problem.
  4323.  
  4324.   C4. Where is Icon going?
  4325.  
  4326.    We continue to use Icon on a daily basis, but no significant changes
  4327.    are planned. We expect to support the Unix version for the forseeable
  4328.    future, and to distribute ports to other systems as supplied by
  4329.    volunteers.
  4330.  
  4331.    The Unicon project is developing an object-oriented language based on
  4332.    Icon. For more information, see http://unicon.sourceforge.net. An
  4333.    earlier object-oriented extension to Icon, Idol, can be found in the
  4334.    Icon program library.
  4335.      _________________________________________________________________
  4336.  
  4337. Support
  4338.  
  4339.   D1. Is there a users' group for Icon?
  4340.  
  4341.    There is no official Icon users' group, but The Icon Project maintains
  4342.    a moderated "Icon-group" electronic mailing list. To subscribe (or
  4343.    unsubscribe), send a message to icon-group-request@cs.arizona.edu.
  4344.  
  4345.    There is a gateway between Icon-group and comp.lang.icon, an
  4346.    unmoderated newsgroup for discussing issues related to Icon. The
  4347.    gateway, which exchanges messages between the two systems, is
  4348.    imperfect and not under the control of the Icon Project.
  4349.  
  4350.    The newsgroup generally provides faster response than the mailing list
  4351.    and is less intrusive, but it sometimes suffers from inappropriate
  4352.    postings. The Icon Project usually sends its announcements and other
  4353.    messages to the mailing list.
  4354.  
  4355.   D2. How do I get technical support?
  4356.  
  4357.    The Icon Project is not a commercial organization, and its capacity
  4358.    for providing technical support is limited. Please use the appropriate
  4359.    resource when you need assistance:
  4360.      * For programming assistance, submit a query to the mailing list or
  4361.        newsgroup (see above).
  4362.      * For porting assistance or Unix problems, contact
  4363.        icon-project@cs.arizona.edu.
  4364.      * For problems with the Windows implementation, contact the
  4365.        implementor, jeffery@cs.nmsu.edu.
  4366.      * For general information and additional documentation, visit the
  4367.        Icon web site: http://www.cs.arizona.edu/icon.
  4368.      _________________________________________________________________
  4369.  
  4370. Programming
  4371.  
  4372.   E1. Why doesn't read() work with every?
  4373.  
  4374.    every s := read() do {...} doesn't loop because read() produces a
  4375.    single value and then fails if resumed. Other "consumer" procedures
  4376.    such as get() and pop() work the same way. Use a while loop with these
  4377.    procedures, and save every for use with generators such as !x or
  4378.    key(T).
  4379.  
  4380.   E2. Why doesn't string invocation such as "foo"() work?
  4381.  
  4382.    String invocation works if the procedure is present; the catch is that
  4383.    the linker removes unreferenced procedures. To ensure a procedure's
  4384.    presence, reference it in the main() procedure. A simple reference
  4385.    suffices, as in refs := [foo, bar, baz]; it's not necessary to
  4386.    actually call it.
  4387.  
  4388.    (Why does the linker remove unreferenced procedures? Because this can
  4389.    save huge amounts of memory for programs that use the library.)
  4390.  
  4391.   E3. How can I call a C function?
  4392.  
  4393.    You can't call an arbitrary C function, but if you're willing to write
  4394.    a function to Icon's specifications, there are two approaches. Under
  4395.    Unix, which provides loadfunc(), you can load one or more functions
  4396.    from a shared library, and then treat them as if they had been written
  4397.    in Icon. Some examples can be found in the cfuncs and packs/loadfuncs
  4398.    directories of the Icon program library. The more cumbersome approach
  4399.    is to add code to the Icon interpreter and rebuild it; some hooks are
  4400.    provided for this purpose. Both approaches are discussed in Calling C
  4401.    Functions from Icon, http://www.cs.arizona.edu/icon/docs/ipd240.htm.
  4402.  
  4403.    The Jcon implementation allows Icon programs to call Java code that is
  4404.    written to Jcon specifications.
  4405.  
  4406.   E4. Can I open a bidirectional pipe?
  4407.  
  4408.    No, this is not possible. Although the concept is simple -- write a
  4409.    line to a program via a pipe, then read that program's output -- it
  4410.    probably wouldn't work. Most I/O libraries don't write anything to a
  4411.    pipe until they've filled a buffer, and the most likely consequence
  4412.    would be a deadlock, with each program waiting for the other to send
  4413.    more data.
  4414.      _________________________________________________________________
  4415.  
  4416.    This FAQ is edited by Gregg Townsend. It includes contributions from
  4417.    Ralph Griswold, Cliff Hathaway, Clint Jeffery, Bob Alexander, and Todd
  4418.    Proebsting.
  4419.  
  4420.  
  4421. From icon-group-sender Fri Aug  2 12:50:38 2002
  4422. Return-Path: <icon-group-sender>
  4423. Received: (from root@localhost)
  4424.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72JnYw09491
  4425.     for icon-group-addresses; Fri, 2 Aug 2002 12:49:34 -0700 (MST)
  4426. Message-Id: <200208021949.g72JnYw09491@baskerville.CS.Arizona.EDU>
  4427. Date: Fri, 2 Aug 2002 16:48:44 +0100 (BST)
  4428. From: Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk>
  4429. X-X-Sender: hgs@neelix
  4430. To: Cheyenne Wills <cwills@witznd.net>
  4431. cc: icon-group@cs.arizona.edu
  4432. Subject: Re: Icon Wish List
  4433. Errors-To: icon-group-errors@cs.arizona.edu
  4434. Status: RO
  4435.  
  4436. On 2 Aug 2002, Cheyenne Wills wrote:
  4437.  
  4438.         [Reformatted for width...]
  4439. > I believe that OOP fits a certain class (no pun intended) of
  4440. > programming problems.  However, OOP also requires alot of "code"
  4441.  
  4442. I don't know enough about internals to comment on this.
  4443.  
  4444. > support within the library.  I also believe that some of the
  4445. > concepts of OOP are in direct contrast to the concepts of Icon -
  4446. > mainly that OOP wants very strict data typing of it's objects,
  4447. > while Icon wants to be able to switch the "class" of a variable
  4448. > around as needed.
  4449.  
  4450. Not in all cases.  Strong typing is not necessarily part of OO, and
  4451. it can be argued that it is opposed to the OO idea of polymorphism.
  4452. In Ruby this has come up quite a bit on the list: should people
  4453. check the type of arguemnts or the methods they respond to?  The
  4454. latter is generally more highly regarded but testing each method
  4455.  
  4456.    if x.respond_to?(method)
  4457.       x.method(args)
  4458.    end
  4459.  
  4460. before use is cumbersonme.  Ruby variables have no type, and new
  4461. users sometimes complain that they can do things like
  4462.  
  4463. a = "hello"
  4464. a = 2
  4465.  
  4466. but the variable is pretty much a (dereferenced) reference, so can
  4467. "point" to anything.
  4468.  
  4469. So, there are ways that Icon can do this without strong typing.
  4470.  
  4471. >
  4472. > I also believe that programmers tend to forget about the problem
  4473. > at hand and program more towards trying to abstract everything out
  4474. > to a "class" and instead of having something nice and readable you
  4475. > end up with something like:
  4476. >
  4477. > double dist = Math.abs( Math.sqrt( (A.x-B.x)^2 + (A.y-B.y)^2) - offset)
  4478.  
  4479. I'd see that problem description as two problems:
  4480.   1 overgeneralisation -- in the drive for re-use
  4481.   2 poorly structured, written code.
  4482. I don't think this is a problem of OO in so far as it is a problem
  4483. generally.  Writing good code is nontrivial. :-)
  4484.  
  4485.         [...]
  4486. > As for scripting... I'm kind of wishy washy on this.  The problem
  4487. > with adding in better "scripting" support is that it tends to
  4488. > require alot of platform specific support.  One of the nice
  4489. > features of Icon is that it is able to hold itself above the
  4490. > "operating system" level.
  4491.  
  4492. I think higher levels of abstraction are generally good, but in
  4493. the daily grind of getting stuff done the ability to make effective
  4494. use of the OS is pretty important.  It has all the benefits of code
  4495. reuse, for one thing -- you're using tools with which you are
  4496. familiar.  The problem is that one model of OS doesn't fit all the
  4497. cases out there (embedded to mainframe).
  4498. >
  4499.  
  4500.         Hugh
  4501.  
  4502.  
  4503.  
  4504. From icon-group-sender Fri Aug  2 13:36:20 2002
  4505. Return-Path: <icon-group-sender>
  4506. Received: (from root@localhost)
  4507.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72KaEA14225
  4508.     for icon-group-addresses; Fri, 2 Aug 2002 13:36:14 -0700 (MST)
  4509. Message-Id: <200208022036.g72KaEA14225@baskerville.CS.Arizona.EDU>
  4510. Date: Fri, 02 Aug 2002 12:22:08 -0500
  4511. From: gep2@terabites.com
  4512. Subject: Fwd: Re: Icon Wish List
  4513. To: snobol4@mercury.dsu.edu, icon-group@cs.arizona.edu
  4514. Errors-To: icon-group-errors@cs.arizona.edu
  4515. Status: RO
  4516.  
  4517. > Subject: Re: Icon Wish List
  4518. Date: Thu, 01 Aug 2002 23:16:46 +1000
  4519. From: XXXXXXXXXX
  4520. To: unlisted-recipients:; (no To-header on input)
  4521. Cc: icon-group@CS.Arizona.EDU
  4522.  
  4523.  
  4524. > [::]
  4525.  
  4526. >> I agree with what Frank wrote. I used to write a lot of C/C++ codes but
  4527. > nowadays unless the program has be run fast and will be used often, I
  4528. > am writing ICON program most of the time. I would not like to see ICON
  4529. > becoming a "dead" language like its predecessor, SNOBOL.
  4530.  
  4531. > [...]
  4532. SNOBOL 4 dead? I did hear that it was still being used to mange network
  4533. configuration files not so long ago. That may have changed recently - I have
  4534.  not been in contact with the staff for a while.
  4535.  
  4536. SNOBOL4 is most definitely NOT "dead"... there are quite a few of us using the 
  4537. language quite happily on a daily basis!
  4538.  
  4539. Gordon Peterson                  http://personal.terabites.com/
  4540. 1977-2002  Twenty-fifth anniversary year of Local Area Networking!
  4541. Support the Anti-SPAM Amendment!  Join at http://www.cauce.org/
  4542. 12/19/98: Partisan Republicans scornfully ignore the voters they "represent".
  4543. 12/09/00: the date the Republican Party took down democracy in America.
  4544.  
  4545.  
  4546.  
  4547.  
  4548. From icon-group-sender Fri Aug  2 13:59:59 2002
  4549. Return-Path: <icon-group-sender>
  4550. Received: (from root@localhost)
  4551.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72KxgI16566
  4552.     for icon-group-addresses; Fri, 2 Aug 2002 13:59:42 -0700 (MST)
  4553. Message-Id: <200208022059.g72KxgI16566@baskerville.CS.Arizona.EDU>
  4554. From: ernobe <ernobe@msn.com>
  4555. X-Newsgroups: comp.lang.icon
  4556. Subject: Re: Icon Wish List
  4557. Date: Fri, 2 Aug 2002 18:20:00 +0200
  4558. X-Newsreader: MicroPlanet Gravity v2.50
  4559. To: icon-group@cs.arizona.edu
  4560. Errors-To: icon-group-errors@cs.arizona.edu
  4561. Status: RO
  4562.  
  4563. In article <3d495127$3$fuzhry+tra$mr2ice@news.patriot.net>, 
  4564. spamtrap@library.lspace.org.invalid says...
  4565. > In <MPG.17b283d5c22f90ce989932@news.CIS.DFN.DE>, on 07/31/2002
  4566. >    at 11:32 PM, ernobe <ernobe@msn.com> said:
  4567. > >As a beginner to Icon, I tend to regard it as a revolutionary
  4568. > >approach to  programming, 
  4569. > It is, but that by itself does not make it useful in areas for which
  4570. > it was not designed. I agree with Mr. Lhota's suggestions.
  4571. > >considering that it is founded upon expression evaluation.
  4572. > Many languages are. What is different about Icon is the backtracking
  4573. > mechanism.
  4574.  
  4575. As a computer specialist, you should know that expression evaluation and 
  4576. backtracking mechanism are synonymous terms.  Other languages evaluate 
  4577. statements, Icon evaluates expressions.  Other expressions are also essential, 
  4578. as I pointed out.  I do not have to be a computer genius to realize that if the 
  4579. language is as well-documented as it is, it will lead more beginners to study 
  4580. it and more professionals to work and cooperate with it.  Without that, Icon 
  4581. would be degraded, degraded to the level of all other languages, who despite 
  4582. the promotion of high-flung capabilities in the literature, cannot make any 
  4583. well-ordered, coherent statement of such capabilities in the documentation.  
  4584. This only leads to arrogance in the promoters of such developments and the 
  4585. dissipation of the efforts of their followers.  
  4586.  
  4587.  
  4588.  
  4589. From icon-group-sender Fri Aug  2 14:00:26 2002
  4590. Return-Path: <icon-group-sender>
  4591. Received: (from root@localhost)
  4592.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72L0GA16668
  4593.     for icon-group-addresses; Fri, 2 Aug 2002 14:00:16 -0700 (MST)
  4594. Message-Id: <200208022100.g72L0GA16668@baskerville.CS.Arizona.EDU>
  4595. From: ernobe <ernobe@msn.com>
  4596. X-Newsgroups: comp.lang.icon
  4597. Subject: Re: Icon Wish List
  4598. Date: Fri, 2 Aug 2002 18:46:43 +0200
  4599. X-Newsreader: MicroPlanet Gravity v2.50
  4600. To: icon-group@cs.arizona.edu
  4601. Errors-To: icon-group-errors@cs.arizona.edu
  4602. Status: RO
  4603.  
  4604.  
  4605. > I firmly believe that Icon is a superior language, that it can do many of
  4606. > the things that languages such as Perl does, and do them better.
  4607. > The reason for the wish list is that I'm wondering if there is some one
  4608. > feature missing from Icon that is keeping it from taking off. I certainly do
  4609. > not want to take away anything that is there. I still want Icon to have the
  4610. > powerful and elegant features that we know and love.
  4611.  
  4612. I wish you luck in your endeavour.  Icon is superior, and I realize that 
  4613. showing how superior it already is in practice will not necessarily allow it to 
  4614. "take off".  It will need to advertize itself, so to speak. 
  4615.      The only other computer language that I know of which uses expressions is 
  4616. Terse (www.terse.com) an expression-based assembly language.  It is easier to 
  4617. program in than C or Assembly.   I wonder why Icon can't become or is not 
  4618. considered a more low-level language.  That would certainly raise brows.  It 
  4619. would not take-off.   It would launch.    
  4620.  
  4621.  
  4622. From icon-group-sender Fri Aug  2 14:00:52 2002
  4623. Return-Path: <icon-group-sender>
  4624. Received: (from root@localhost)
  4625.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72L0lg16738
  4626.     for icon-group-addresses; Fri, 2 Aug 2002 14:00:47 -0700 (MST)
  4627. Message-Id: <200208022100.g72L0lg16738@baskerville.CS.Arizona.EDU>
  4628. From: "Boulet, Dan" <BouleDa@navcanada.ca>
  4629. To: "'IconGroup'" <icon-group@cs.arizona.edu>,
  4630.    "'Unicon Group'"
  4631.      <unicon-group@lists.sourceforge.net>
  4632. Subject: dxf builder
  4633. Date: Fri, 2 Aug 2002 14:08:21 -0400 
  4634. Errors-To: icon-group-errors@cs.arizona.edu
  4635. Status: RO
  4636.  
  4637.  
  4638. Would anybody use icon procedures to write "dxf" (drawing exchange format)
  4639. files?  I've already started a library of functions for basic shapes.  I'd
  4640. be happy to develop this further if the demand exists.
  4641.  
  4642. Regards,
  4643.  
  4644. Daniel Boulet
  4645.  
  4646.  
  4647. From icon-group-sender Fri Aug  2 14:01:12 2002
  4648. Return-Path: <icon-group-sender>
  4649. Received: (from root@localhost)
  4650.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72L16k16822
  4651.     for icon-group-addresses; Fri, 2 Aug 2002 14:01:06 -0700 (MST)
  4652. Message-Id: <200208022101.g72L16k16822@baskerville.CS.Arizona.EDU>
  4653. From: Christopher Browne <cbbrowne@acm.org>
  4654. X-Newsgroups: comp.lang.icon
  4655. Subject: Re: Icon Wish List
  4656. Date: 2 Aug 2002 18:21:27 GMT
  4657. X-Draft-From: ("nnvirtual:Languages" 880)
  4658. X-Home-Page: http://www.cbbrowne.com/info/
  4659. X-Emacs-Acronym: Elsewhere Maybe Alternative Civilizations Survive
  4660. Microsoft: Where even the version numbers aren't Y2K-compliant
  4661. X-Shopping-List: 
  4662.    (1) Cenozoic Snore ignorers
  4663.    (2) Economical commotions
  4664.    (3) Forensic rice
  4665.    (4) Responsible suspenders
  4666.    (5) Anxious enemas
  4667. X-Uboat-Death-Message: 
  4668.    TORPEDOED BY SPACE-TIME VORTEX. TORPEDOS. SINKING. U-950.
  4669. To: icon-group@cs.arizona.edu
  4670. Errors-To: icon-group-errors@cs.arizona.edu
  4671. Status: RO
  4672.  
  4673. The world rejoiced as ernobe <ernobe@msn.com> wrote:
  4674. >> I firmly believe that Icon is a superior language, that it can do
  4675. >> many of the things that languages such as Perl does, and do them
  4676. >> better.  The reason for the wish list is that I'm wondering if
  4677. >> there is some one feature missing from Icon that is keeping it from
  4678. >> taking off. I certainly do not want to take away anything that is
  4679. >> there. I still want Icon to have the powerful and elegant features
  4680. >> that we know and love.
  4681. >
  4682. > I wish you luck in your endeavour.  Icon is superior, and I realize
  4683. > that showing how superior it already is in practice will not
  4684. > necessarily allow it to "take off".  It will need to advertize
  4685. > itself, so to speak.
  4686.  
  4687. > The only other computer language that I know of which uses
  4688. > expressions is Terse (www.terse.com) an expression-based assembly
  4689. > language.  It is easier to program in than C or Assembly.  I wonder
  4690. > why Icon can't become or is not considered a more low-level
  4691. > language.  That would certainly raise brows.  It would not take-off.
  4692. > It would launch.
  4693.  
  4694. The approach of "terse" should come as little surprise; it amounts to
  4695. saying "Can we make a smarter macro assembler?" to which the answer is
  4696. "Surely!"
  4697.  
  4698. The reason Icon isn't popular has little, I think, to do with its
  4699. capabilities, or in what is missing.  There are neat things in it, and
  4700. various other languages have visibly tipped their hats to Icon for
  4701. features that they have taken.  The Common Lisp "SERIES" module is a
  4702. quite ancient example.  In the last year, I have seen explicit mention
  4703. of Icon as a source of inspiration for new/planned functionality for
  4704. Perl, Python, and Ruby.
  4705.  
  4706. Why Icon _isn't_ popular is that there aren't popular systems out
  4707. there that use it.
  4708.  
  4709. Consider PHP.  By all rights, it's quite an ugly hack.  It started as
  4710. a way of embedding page counters into web pages, and has grown into a
  4711. language looking a lot like an old version of Perl.  I don't think
  4712. that at any point in time, PHP has been "better" than Icon, from a
  4713. standpoint of design elegance.  PHP became popular because it fit well
  4714. into a niche that people cared about, and which grew into a rather
  4715. larger niche.
  4716.  
  4717. Bringing the OO extensions of Idol back into Icon isn't going to
  4718. magically make the world say:
  4719.  "Oh, how wrong we were to not consider using Icon!"
  4720.  
  4721. No, the way that Icon will make more than a conceptual mark (as when
  4722. some of its features get added to Perl and Python) is if someone
  4723. builds something _useful_ in Icon that fulfils some niche.
  4724.  
  4725. Maybe as the implementation language for a local "web search engine,"
  4726. or of a web site analysis tool that goes off looking for problems
  4727. (broken links, bad HTML, non-portable ECMAScript, and the likes).  Or
  4728. those may be oversubscribed application areas.
  4729.  
  4730. The single program on the Debian Linux distribution that _depends_ on
  4731. Icon is "nowebm," a literate programming tool.  Put that up to 20 apps
  4732. depending on Icon, and people would probably start to notice.
  4733. -- 
  4734. (concatenate 'string "cbbrowne" "@acm.org")
  4735. http://cbbrowne.com/info/languages.html
  4736. The English exam was a piece  of cake---which was a bit of a surprise,
  4737. actually, because I was expecting some questions on a sheet of paper.
  4738.  
  4739.  
  4740. From icon-group-sender Fri Aug  2 14:01:23 2002
  4741. Return-Path: <icon-group-sender>
  4742. Received: (from root@localhost)
  4743.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72L1Js16875
  4744.     for icon-group-addresses; Fri, 2 Aug 2002 14:01:19 -0700 (MST)
  4745. Message-Id: <200208022101.g72L1Js16875@baskerville.CS.Arizona.EDU>
  4746. From: "Chris Korycinski" <chris@starsparkle.co.uk>
  4747. To: icon-group@cs.arizona.edu
  4748. Date: Fri, 2 Aug 2002 21:24:42 +0100
  4749. Subject: Re: Icon Wish List
  4750. Content-description: Mail message body
  4751. Errors-To: icon-group-errors@cs.arizona.edu
  4752. Status: RO
  4753.  
  4754. On 1 Aug 2002 at 13:54, Frank J. Lhota wrote:
  4755.  
  4756. > I firmly believe that Icon is a superior language, that it can do many
  4757. > of the things that languages such as Perl does, and do them better.
  4758. > The reason for the wish list is that I'm wondering if there is some
  4759. > one feature missing from Icon that is keeping it from taking off. 
  4760.  
  4761. well, I'm not sure that Icon is better than Perl. (a) it is too 
  4762. specialised - calling external progs/routine is so straightforward in 
  4763. Perl. Its interface with Unix means that you can just incorporate 
  4764. Unix tools straight into the program. This makes it more of a general-
  4765. purpose language, inspite of its description as a scripting language. 
  4766. (b) icon has no regular expressions (yes, I know they are in the 
  4767. library) but just look at the ones available in Perl. They beat any 
  4768. others hands down.
  4769. So Perl succeeds as a scripting language and it succeeds as a more 
  4770. general-purpose language than Icon. But because Icon is part of a 
  4771. side-stream, it does not mean it needs to be in a backwater. The 'one 
  4772. language is a winner, so others are loosers' approach works with 
  4773. little except with self-improvement/motivation books.
  4774.  
  4775. Icon can be both successful and a minority language. Size and success 
  4776.  are not the same. Ask your local fat man.
  4777.  
  4778.  
  4779.  
  4780. Chris
  4781.  
  4782. ===========================================================
  4783. Please send attachments only as plain text or .rtf files
  4784.  
  4785.  
  4786.  
  4787. From icon-group-sender Fri Aug  2 17:00:18 2002
  4788. Return-Path: <icon-group-sender>
  4789. Received: (from root@localhost)
  4790.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g72NxwU05209
  4791.     for icon-group-addresses; Fri, 2 Aug 2002 16:59:58 -0700 (MST)
  4792. Message-Id: <200208022359.g72NxwU05209@baskerville.CS.Arizona.EDU>
  4793. Date: Fri, 2 Aug 2002 14:25:19 -0700 (PDT)
  4794. From: Eka Laiman <eka@corp.cirrus.com>
  4795. Subject: Re: Icon Wish List
  4796. To: icon-group@cs.arizona.edu
  4797. Errors-To: icon-group-errors@cs.arizona.edu
  4798. Status: RO
  4799.  
  4800.  
  4801. Chris Korycinski wrote:
  4802. >well, I'm not sure that Icon is better than Perl.
  4803.  
  4804. It is true that ICON is not "better" in every aspect than PERL, but
  4805. the "language" scope, the true "no need to declare type", and many
  4806. other features of ICON is better than PERL. PERL likes to claim that
  4807. it does not have to do type declaration, but in actuality the "$",
  4808. "%" and "@" prefix is an "implicit" type declaration.
  4809.  
  4810. >(b) icon has no regular expressions (yes, I know they are in the 
  4811. >library) but just look at the ones available in Perl. They beat any 
  4812. >others hands down.
  4813.  
  4814. I cannot disagree more at this point. Try to write a "parser" in PERL!
  4815. In ICON this can be done by "string scanning" mechanism which keeps
  4816. track of "where" are currently at.
  4817.  
  4818. The "best" approach to writing parser (in PERL) is as suggested by
  4819. Aho, Weinberg, Kernighan in their "AWK book" - writing "compiler and
  4820. interpreter" which is to "chop off" the string prefix that has been
  4821. read.
  4822.  
  4823. At first I also had a difficult time trying to understand how this
  4824. string scanning mechanism works, but after reading the examples in
  4825. ICON Analyst, I will trade this with PERL's regular expression handling!
  4826.  
  4827. -eka-
  4828.  
  4829.  
  4830.  
  4831. From icon-group-sender Fri Aug  2 17:00:28 2002
  4832. Return-Path: <icon-group-sender>
  4833. Received: (from root@localhost)
  4834.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7300Q205326
  4835.     for icon-group-addresses; Fri, 2 Aug 2002 17:00:26 -0700 (MST)
  4836. Message-Id: <200208030000.g7300Q205326@baskerville.CS.Arizona.EDU>
  4837. From: ernobe <ernobe@msn.com>
  4838. X-Newsgroups: comp.lang.icon
  4839. Subject: Re: Icon Wish List
  4840. Date: Fri, 2 Aug 2002 23:51:54 +0200
  4841. X-Newsreader: MicroPlanet Gravity v2.50
  4842. To: icon-group@cs.arizona.edu
  4843. Errors-To: icon-group-errors@cs.arizona.edu
  4844. Status: RO
  4845.  
  4846. In article <aieij6$1392t9$1@ID-125932.news.dfncis.de>, cbbrowne@acm.org says...
  4847. > Maybe as the implementation language for a local "web search engine,"
  4848. Whatever it is, such a project would perhaps indicate what areas of the 
  4849. language can be improved. (we would deduce from it how to improve the 
  4850. language).  Obviously the Web presents several possibilities.  Have you heard 
  4851. of Rebol? (www.rebol.com)  It could be that instead of more features being 
  4852. added to it, it would be made more robust, having it on the one hand evaluate 
  4853. expressions that are closer to the machine level, and on the other making it 
  4854. portable accross a wide range of OS so as to make it attractive to Web server 
  4855. applications.  The Rebol project is revolutionary in that "on does not surf the 
  4856. Web, one scripts it", in other words, one is served computer programs from 
  4857. servers, and your implementation of the language runs the program on your 
  4858. machine.   Then there is the convenient messaging technology, which 
  4859. incorporates URLs as basic data-types of the language, so that actually one 
  4860. becomes part of an IOS (Internet Operating System).  But I think Icon could do 
  4861. the same thing better, because of the ease with which it can be programmed in.  
  4862. It is said somewhere in the Rebol documentation that the distinction between 
  4863. data and code is illusory:  the data that is part of the language (reserved 
  4864. words) is code, while data that is interpreted by the language is data.  That 
  4865. is a long-winded way of saying that the language is easy to program in for 
  4866. remote server applications.  Anyway, that Icon is closer to human language than 
  4867. any other one is probably a safe bet, since one can't get closer to language 
  4868. than by expressions that mean what they say.  
  4869.  
  4870.  
  4871. From icon-group-sender Fri Aug  2 17:00:36 2002
  4872. Return-Path: <icon-group-sender>
  4873. Received: (from root@localhost)
  4874.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7300Y605357
  4875.     for icon-group-addresses; Fri, 2 Aug 2002 17:00:34 -0700 (MST)
  4876. Message-Id: <200208030000.g7300Y605357@baskerville.CS.Arizona.EDU>
  4877. Subject: Re: Icon Wish List
  4878. From: Cheyenne Wills <cwills@witznd.net>
  4879. To: icon-group@cs.arizona.edu
  4880. Date: 02 Aug 2002 16:53:10 -0600
  4881. Errors-To: icon-group-errors@cs.arizona.edu
  4882. Status: RO
  4883.  
  4884. On Fri, 2002-08-02 at 12:21, Christopher Browne wrote:
  4885.  
  4886. > The reason Icon isn't popular has little, I think, to do with its
  4887. > capabilities, or in what is missing.  There are neat things in it, and
  4888. > various other languages have visibly tipped their hats to Icon for
  4889. > features that they have taken.  The Common Lisp "SERIES" module is a
  4890. > quite ancient example.  In the last year, I have seen explicit mention
  4891. > of Icon as a source of inspiration for new/planned functionality for
  4892. > Perl, Python, and Ruby.
  4893.  
  4894. I agree 100% with this... 
  4895.  
  4896. > Why Icon _isn't_ popular is that there aren't popular systems out
  4897. > there that use it.
  4898. > Consider PHP.  By all rights, it's quite an ugly hack.  It started as
  4899. > a way of embedding page counters into web pages, and has grown into a
  4900. > language looking a lot like an old version of Perl.  I don't think
  4901. > that at any point in time, PHP has been "better" than Icon, from a
  4902. > standpoint of design elegance.  PHP became popular because it fit well
  4903. > into a niche that people cared about, and which grew into a rather
  4904. > larger niche.
  4905. > Bringing the OO extensions of Idol back into Icon isn't going to
  4906. > magically make the world say:
  4907. >  "Oh, how wrong we were to not consider using Icon!"
  4908.  
  4909. And I agree with this as well!!
  4910.  
  4911. > No, the way that Icon will make more than a conceptual mark (as when
  4912. > some of its features get added to Perl and Python) is if someone
  4913. > builds something _useful_ in Icon that fulfils some niche.
  4914.  
  4915. And I think that this is the crux of the problem... 
  4916.  
  4917. We all have little quick and dirty tools that we have written.
  4918. The Library has a bunch of nice little packages as well
  4919.  
  4920. But what I think is really needed is something bigger...  An open source
  4921. project that uses Icon just so that it gets out and becomes visible.
  4922.  
  4923. Something that can show off the features of Icon.
  4924.  
  4925. Here are some suggestions...
  4926.  
  4927. A HTML optimizer -- in fact this was the subject of a programming
  4928. contest.  You feed in an HTML stream, it verifies it and optimizes it
  4929. (for example <b>something<b>yadayada</b></b> can be reduced).
  4930.  
  4931. A web log analyzer
  4932.  
  4933. A system log analyzer 
  4934.  
  4935. A full blown macro processor (and I don't mean a simple M4 type of
  4936. processor.. go take a look at the PL/I macro facility -- you can write
  4937. full blown "functions" in the macro language complete with macro
  4938. subroutines, etc.
  4939.  
  4940. Cheyenne
  4941.  
  4942.  
  4943. From icon-group-sender Fri Aug  2 17:00:47 2002
  4944. Return-Path: <icon-group-sender>
  4945. Received: (from root@localhost)
  4946.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7300jE05384
  4947.     for icon-group-addresses; Fri, 2 Aug 2002 17:00:45 -0700 (MST)
  4948. Message-Id: <200208030000.g7300jE05384@baskerville.CS.Arizona.EDU>
  4949. Subject: Re: Icon Wish List
  4950. From: Cheyenne Wills <cwills@witznd.net>
  4951. To: icon-group@cs.arizona.edu
  4952. Date: 02 Aug 2002 17:00:45 -0600
  4953. Errors-To: icon-group-errors@cs.arizona.edu
  4954. Status: RO
  4955.  
  4956. Actually the fact that Icon doesn't have regular expressions is a plus
  4957. from my view.
  4958.  
  4959. I find regular expressions to be a huge step backwards in terms of
  4960. readability and usability within a language. 
  4961.  
  4962. With the facilities of Icon... why do you need regular expressions other
  4963. then to wean Perl/Awk/.. etc. programmers away from them.
  4964.  
  4965. The only thing that regular expressions has going for them is that they
  4966. are concise.  That is it.  Name one feature of regular expressions that
  4967. cannot be done with Icon's string scanning facility..
  4968.  
  4969.  
  4970. Anyway personal... pet peeve...
  4971.  
  4972. Cheyenne
  4973.  
  4974.  
  4975. On Fri, 2002-08-02 at 14:24, Chris Korycinski wrote:
  4976. > On 1 Aug 2002 at 13:54, Frank J. Lhota wrote:
  4977. > > I firmly believe that Icon is a superior language, that it can do many
  4978. > > of the things that languages such as Perl does, and do them better.
  4979. > > The reason for the wish list is that I'm wondering if there is some
  4980. > > one feature missing from Icon that is keeping it from taking off. 
  4981. > well, I'm not sure that Icon is better than Perl. (a) it is too 
  4982. > specialised - calling external progs/routine is so straightforward in 
  4983. > Perl. Its interface with Unix means that you can just incorporate 
  4984. > Unix tools straight into the program. This makes it more of a general-
  4985. > purpose language, inspite of its description as a scripting language. 
  4986. > (b) icon has no regular expressions (yes, I know they are in the 
  4987. > library) but just look at the ones available in Perl. They beat any 
  4988. > others hands down.
  4989. > So Perl succeeds as a scripting language and it succeeds as a more 
  4990. > general-purpose language than Icon. But because Icon is part of a 
  4991. > side-stream, it does not mean it needs to be in a backwater. The 'one 
  4992. > language is a winner, so others are loosers' approach works with 
  4993. > little except with self-improvement/motivation books.
  4994. > Icon can be both successful and a minority language. Size and success 
  4995. >  are not the same. Ask your local fat man.
  4996. > Chris
  4997. > ===========================================================
  4998. > Please send attachments only as plain text or .rtf files
  4999.  
  5000.  
  5001.  
  5002. From icon-group-sender Mon Aug  5 09:02:33 2002
  5003. Return-Path: <icon-group-sender>
  5004. Received: (from root@localhost)
  5005.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75G0IA04314
  5006.     for icon-group-addresses; Mon, 5 Aug 2002 09:00:18 -0700 (MST)
  5007. Message-Id: <200208051600.g75G0IA04314@baskerville.CS.Arizona.EDU>
  5008. From: "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid>
  5009. X-Newsgroups: comp.lang.icon
  5010. Subject: Re: Icon Wish List
  5011. Date: Fri, 02 Aug 2002 14:36:07 -0400
  5012. Mail-Copies-To: nobody
  5013. X-Cise: tanbanso@iinet.net.au
  5014. X-CompuServe-Customer: Yes
  5015. X-Coriate: admin@interspeed.co.nz
  5016. X-Ecrate: tanandtanlawyers.com
  5017. X-Punge: Micro$oft
  5018. X-Sanguinate: themvsguy@email.com
  5019. X-Terminate: SPA(GIS)
  5020. X-Tinguish: Mark Griffith <markgriffith@rocketmail.com>
  5021. X-Treme: C&C,DWS
  5022. X-Newsreader: MR/2 Internet Cruiser Edition for OS/2 v2.31a/31 
  5023. X-Complaints-To: newsabuse@supernews.com
  5024. To: icon-group@cs.arizona.edu
  5025. Errors-To: icon-group-errors@cs.arizona.edu
  5026. Status: RO
  5027.  
  5028.  
  5029. In <MPG.17b4ddac9764c21d989937@news.CIS.DFN.DE>, on 08/02/2002
  5030.    at 06:20 PM, ernobe <ernobe@msn.com> said:
  5031.  
  5032. >As a computer specialist, you should know that expression evaluation
  5033. >and  backtracking mechanism are synonymous terms. 
  5034.  
  5035. No they are not.
  5036.  
  5037. >Other languages evaluate statements,
  5038.  
  5039. Some other languages. Not all.
  5040.  
  5041. -- 
  5042.      Shmuel (Seymour J.) Metz, SysProg and JOAT
  5043.      Atid/2, Team OS/2, Team PL/I
  5044.  
  5045. Any unsolicited commercial junk E-mail will be subject to legal
  5046. action.  I reserve the right to publicly post or ridicule any
  5047. abusive E-mail.
  5048.  
  5049. I mangled my E-mail address to foil automated spammers; reply to
  5050. domain Patriot dot net user shmuel+news to contact me.  Do not
  5051. reply to spamtrap@library.lspace.org
  5052.  
  5053.  
  5054.  
  5055. From icon-group-sender Mon Aug  5 09:09:52 2002
  5056. Return-Path: <icon-group-sender>
  5057. Received: (from root@localhost)
  5058.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75G9o206257
  5059.     for icon-group-addresses; Mon, 5 Aug 2002 09:09:50 -0700 (MST)
  5060. Message-Id: <200208051609.g75G9o206257@baskerville.CS.Arizona.EDU>
  5061. Date: Mon, 05 Aug 2002 10:10:33 -0400
  5062. From: "Steve Graham" <Steve_Graham@labcorp.com>
  5063. To: <icon-group@cs.arizona.edu>
  5064. Subject: Re: Icon Wish List
  5065. Content-Disposition: inline
  5066. X-MIME-Autoconverted: from quoted-printable to 8bit by baskerville.CS.Arizona.EDU id g75EAsw23145
  5067. Errors-To: icon-group-errors@cs.arizona.edu
  5068. Status: RO
  5069.  
  5070. >>> Cheyenne Wills <cwills@witznd.net> 08/02/02 05:53PM >>>
  5071. On Fri, 2002-08-02 at 12:21, Christopher Browne wrote:
  5072.  
  5073. ...
  5074.  
  5075. > Something that can show off the features of Icon.
  5076.  
  5077. > Here are some suggestions...
  5078.  
  5079. > A HTML optimizer -- in fact this was the subject of a programming contest.  You feed in an HTML stream, it verifies it and optimizes it (for example <b>something<b>yadayada</b></b> can be reduced).
  5080.  
  5081. ...
  5082.  
  5083. Maybe we should enter one or more teams into this programming contest (http://icfpcontest.cse.ogi.edu/).  This is the 5th year of the competitions, and even though I participated mostly by myself last year, it was great fun (in addition to great frustration at times).  They offer prizes ranging from $100 to $1,000, but the biggest prize would be when "the contest judges agree to state at least once during the presentation of the awards that the winning team's programming language is 'the programming tool of choice for discriminating hackers.'"  Anyway it would be some good PR.
  5084.  
  5085. Although I am just a middlin' Icon programmer, I have used it to good effect for utilities in the past, and think (memory fails me) that I used it for the contest last year.  I see no problem with Icon holding its own against the other entries.  I'll probably use it myself this year.
  5086.  
  5087. My $.02
  5088.  
  5089.  
  5090. Steve Graham
  5091.  
  5092.  
  5093.  
  5094. From icon-group-sender Mon Aug  5 09:09:08 2002
  5095. Return-Path: <icon-group-sender>
  5096. Received: (from root@localhost)
  5097.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75G95w06084
  5098.     for icon-group-addresses; Mon, 5 Aug 2002 09:09:05 -0700 (MST)
  5099. Message-Id: <200208051609.g75G95w06084@baskerville.CS.Arizona.EDU>
  5100. From: "John Sampson" <jsampson@indexes.u-net.com>
  5101. To: <icon-group@cs.arizona.edu>
  5102. Subject: RE: Icon Wish List
  5103. Date: Sat, 3 Aug 2002 11:47:38 +0100
  5104. X-Priority: 3 (Normal)
  5105. X-MSMail-Priority: Normal
  5106. Importance: Normal
  5107. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
  5108. Errors-To: icon-group-errors@cs.arizona.edu
  5109. Status: RO
  5110.  
  5111. >
  5112. > At first I also had a difficult time trying to understand how this
  5113. > string scanning mechanism works, but after reading the examples in
  5114. > ICON Analyst, I will trade this with PERL's regular expression handling!
  5115.  
  5116. I would have thought Icon's string scanning did a different job from regular
  5117. expressions.
  5118.  
  5119. Another writer here comments in effect that the only virtue of regular
  5120. expressions is that they are terse. But if terseness is required for a
  5121. particular problem, whatever beauties a method without terseness has, they
  5122. have to be done without.
  5123.  
  5124. I think pattern matching was to be written up in Icon Analyst, but the
  5125. material never appeared. If it did, I would be grateful for a reference.
  5126.  
  5127. Regards
  5128.  
  5129. _John Sampson_
  5130.  
  5131.  
  5132.  
  5133. From icon-group-sender Mon Aug  5 09:10:13 2002
  5134. Return-Path: <icon-group-sender>
  5135. Received: (from root@localhost)
  5136.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75GABU06395
  5137.     for icon-group-addresses; Mon, 5 Aug 2002 09:10:11 -0700 (MST)
  5138. Message-Id: <200208051610.g75GABU06395@baskerville.CS.Arizona.EDU>
  5139. From: ernobe <ernobe@msn.com>
  5140. X-Newsgroups: comp.lang.icon
  5141. Subject: Re: Icon Wish List
  5142. Date: Mon, 5 Aug 2002 16:32:03 +0200
  5143. X-Newsreader: MicroPlanet Gravity v2.50
  5144. To: icon-group@cs.arizona.edu
  5145. Errors-To: icon-group-errors@cs.arizona.edu
  5146. Status: RO
  5147.  
  5148. In article <4d3f9c15.0208040843.2be13aff@posting.google.com>, jenjhiz@yahoo.com 
  5149. says...
  5150. > Can someone enlighten me on what exactly is *revolutionary* about
  5151. > Icon's approach to programming? Thanks.
  5152.  
  5153. If you take a look at the following diagram of the history of computer 
  5154. languages: http://merd.net/pixel/language-study/diagram.png you will notice 
  5155. that Icon is the language that has remained unchanged for the longest period of 
  5156. time since its creation, which indicates how well suited it was to solve 
  5157. problems which other languages needed to adopt to, and are still trying to 
  5158. solve.  That is because they failed to adopt the features of Icon, which do not 
  5159. exist in the languages from which it developed,  languages which continue to 
  5160. influence the development of more languages.  If you look closely at the 
  5161. diagram, you will notice that Icon, by it relationship to CLU and Pascal on the 
  5162. one hand and to C on the other, takes the best of the Fortrean family of 
  5163. languages, via Algol60.  By this means it avoided the Fortrean family which 
  5164. later became mixed with the Lisp family.  Instead, it continues the line begun 
  5165. with Snobol, which, compared to Lisp, may be described as human intelligence 
  5166. vs. artificial intelligence.  So, since it draws from all of the existing, 
  5167. significant lines of development, and makes a synthesis, Icon has every reason 
  5168. to be regarded as the fifth generation language.  Future developments will 
  5169. bring this out, as pointed out in my other posts. 
  5170.  
  5171.  
  5172. From icon-group-sender Mon Aug  5 09:10:06 2002
  5173. Return-Path: <icon-group-sender>
  5174. Received: (from root@localhost)
  5175.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75GA2Y06330
  5176.     for icon-group-addresses; Mon, 5 Aug 2002 09:10:02 -0700 (MST)
  5177. Message-Id: <200208051610.g75GA2Y06330@baskerville.CS.Arizona.EDU>
  5178. From: ernobe <ernobe@msn.com>
  5179. X-Newsgroups: comp.lang.icon
  5180. Subject: Re: Icon Wish List
  5181. Date: Mon, 5 Aug 2002 16:34:53 +0200
  5182. X-Newsreader: MicroPlanet Gravity v2.50
  5183. To: icon-group@cs.arizona.edu
  5184. Errors-To: icon-group-errors@cs.arizona.edu
  5185. Status: RO
  5186.  
  5187. In article <MPG.17b8b8e092716f2f98993f@news.CIS.DFN.DE>, ernobe@msn.com says...
  5188. > If you take a look at the following diagram of the history of computer 
  5189. > languages: http://merd.net/pixel/language-study/diagram.png y
  5190.  
  5191. Sorry about the link, try this one: 
  5192. http://merd.net/pixel/language-study/diagram.html
  5193.  
  5194.  
  5195. From icon-group-sender Mon Aug  5 09:09:41 2002
  5196. Return-Path: <icon-group-sender>
  5197. Received: (from root@localhost)
  5198.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75G9cg06206
  5199.     for icon-group-addresses; Mon, 5 Aug 2002 09:09:38 -0700 (MST)
  5200. Message-Id: <200208051609.g75G9cg06206@baskerville.CS.Arizona.EDU>
  5201. From: jenjhiz@yahoo.com (Gene Kahn)
  5202. X-Newsgroups: comp.lang.icon
  5203. Subject: Re: Icon Wish List
  5204. Date: 4 Aug 2002 09:43:52 -0700
  5205. X-Complaints-To: groups-abuse@google.com
  5206. To: icon-group@cs.arizona.edu
  5207. Errors-To: icon-group-errors@cs.arizona.edu
  5208. Status: RO
  5209.  
  5210. "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid> wrote in message news:<3d495127$3$fuzhry+tra$mr2ice@news.patriot.net>...
  5211. > In <MPG.17b283d5c22f90ce989932@news.CIS.DFN.DE>, on 07/31/2002
  5212. >    at 11:32 PM, ernobe <ernobe@msn.com> said:
  5213. > >As a beginner to Icon, I tend to regard it as a revolutionary
  5214. > >approach to  programming, 
  5215. > It is, but that by itself does not make it useful in areas for which
  5216. > it was not designed. I agree with Mr. Lhota's suggestions.
  5217.  
  5218. Can someone enlighten me on what exactly is *revolutionary* about
  5219. Icon's approach to programming? Thanks.
  5220.  
  5221.  
  5222.  
  5223. > >considering that it is founded upon expression evaluation.
  5224. > Many languages are. What is different about Icon is the backtracking
  5225. > mechanism.
  5226. > >This can be achieved by using the language in ways that  would make
  5227. > >it more note-worthy to those using other programming languages. 
  5228. > Which is difficult if it lacks facilities needed for the application
  5229. > areas that they are most likely to notice.
  5230. > >It cannot be further enhanced by what would represent 
  5231. > >its degradation to the level of what other languages regard as
  5232. > >essential.  
  5233. > You're begging the question. You've said nothing to back up a claim
  5234. > that Mr. Lhota's suggestion would be a degradation of Icon.
  5235. > >Furthermore, by adopting the usages of other languages, the users of
  5236. > >Icon will  be thrown into the arena of issues facing the development
  5237. > >of those other  languages,
  5238. > What do you mean by "adopting"? Providing new language features does
  5239. > not force anybody to use them.
  5240. > >issues which the basic principles of Icon are so well suited to 
  5241. > >solve as they are.  
  5242. > It's precisely because they are *not* well suited that Mr. Lhota
  5243. > suggested enhancements.
  5244. > >I am not a computer specialist,
  5245. > I am. And I agree with Mr. Lhota.
  5246. > -- 
  5247. >      Shmuel (Seymour J.) Metz, SysProg and JOAT
  5248. >      Atid/2, Team OS/2, Team PL/I
  5249. > Any unsolicited commercial junk E-mail will be subject to legal
  5250. > action.  I reserve the right to publicly post or ridicule any
  5251. > abusive E-mail.
  5252. > I mangled my E-mail address to foil automated spammers; reply to
  5253. > domain Patriot dot net user shmuel+news to contact me.  Do not
  5254. > reply to spamtrap@library.lspace.org
  5255.  
  5256.  
  5257. From icon-group-sender Mon Aug  5 13:03:00 2002
  5258. Return-Path: <icon-group-sender>
  5259. Received: (from root@localhost)
  5260.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75K2fs00739
  5261.     for icon-group-addresses; Mon, 5 Aug 2002 13:02:41 -0700 (MST)
  5262. Message-Id: <200208052002.g75K2fs00739@baskerville.CS.Arizona.EDU>
  5263. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  5264. X-Newsgroups: comp.lang.icon
  5265. Subject: Re: Icon Wish List
  5266. X-Priority: 3
  5267. X-MSMail-Priority: Normal
  5268. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  5269. X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  5270. Date: Mon, 05 Aug 2002 17:33:15 GMT
  5271. X-Complaints-To: abuse@verizon.net
  5272. To: icon-group@cs.arizona.edu
  5273. Errors-To: icon-group-errors@cs.arizona.edu
  5274. Status: RO
  5275.  
  5276. This chart does not imply that Icon has not changed since its inception in
  5277. the mid-1970's, and as one who has worked on the language's development, I
  5278. assure you that the language has had many enhancements over the years. Since
  5279. I started using Icon in the mid-1980's, I have seen the following
  5280. improvements:
  5281.  
  5282. - Large integers;
  5283. - Multithreaded Icon programs;
  5284. - Memory monitoring, which was later generalized to Event monitoring;
  5285. - A built-in preprocessor;
  5286. - string invokation, along with the "invokable" declaration and the "proc"
  5287. function; and
  5288. - GUI support.
  5289.  
  5290. Along with these changes, there were the inevitable bug fixes and
  5291. optimizations, along with various smaller improvements. The resulting
  5292. language is faster, stabler, more powerful, and easier to use than its
  5293. predecessors. None of these enhancements compromise Icon's basic strengths,
  5294. such as generators, co-expressions, and string scanning.
  5295.  
  5296. There have been no major changes in Icon in recent years, but this
  5297. stagnation is mostly a recent phenomenon. Throughout most of the nearly two
  5298. decades I've been following the language, it was evolving in many exciting
  5299. ways, while still retaining its core strengths.
  5300.  
  5301.  
  5302.  
  5303.  
  5304.  
  5305. From icon-group-sender Mon Aug  5 13:04:58 2002
  5306. Return-Path: <icon-group-sender>
  5307. Received: (from root@localhost)
  5308.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75K4uw00967
  5309.     for icon-group-addresses; Mon, 5 Aug 2002 13:04:56 -0700 (MST)
  5310. Message-Id: <200208052004.g75K4uw00967@baskerville.CS.Arizona.EDU>
  5311. From: "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid>
  5312. X-Newsgroups: comp.lang.icon
  5313. Subject: Re: Icon Wish List
  5314. Date: Mon, 05 Aug 2002 13:12:27 -0400
  5315. Mail-Copies-To: nobody
  5316. X-Cise: tanbanso@iinet.net.au
  5317. X-CompuServe-Customer: Yes
  5318. X-Coriate: admin@interspeed.co.nz
  5319. X-Ecrate: tanandtanlawyers.com
  5320. X-Punge: Micro$oft
  5321. X-Sanguinate: themvsguy@email.com
  5322. X-Terminate: SPA(GIS)
  5323. X-Tinguish: Mark Griffith <markgriffith@rocketmail.com>
  5324. X-Treme: C&C,DWS
  5325. X-Newsreader: MR/2 Internet Cruiser Edition for OS/2 v2.31a/31 
  5326. X-Complaints-To: newsabuse@supernews.com
  5327. To: icon-group@cs.arizona.edu
  5328. Errors-To: icon-group-errors@cs.arizona.edu
  5329. Status: RO
  5330.  
  5331.  
  5332. In <4d3f9c15.0208040843.2be13aff@posting.google.com>, on 08/04/2002
  5333.    at 09:43 AM, jenjhiz@yahoo.com (Gene Kahn) said:
  5334.  
  5335. >Can someone enlighten me on what exactly is *revolutionary* about
  5336. >Icon's approach to programming? Thanks.
  5337.  
  5338. The expression evaluation and control structures of Icon are all
  5339. integrated with the notion of backtracking. When you evaluate an
  5340. expression, it can either return a value or fail. In general, when an
  5341. expression contains a failed subexpression, it will backtrack and
  5342. reevaluate an earlier subexpression, which in turn will either return
  5343. a new value or fail. The control structures for iteration and
  5344. selection behave somewhat differently from their equivalents in
  5345. conventional languages.
  5346.  
  5347. Essentially the backtracking in pattern matching has been promoted
  5348. from a niche facility to an integral part of the language. Everything
  5349. is different, even when the code superficially seems ordinary.
  5350.  
  5351. There may be some sample code in the FAQ to illustrate how that works.
  5352.  
  5353. -- 
  5354.      Shmuel (Seymour J.) Metz, SysProg and JOAT
  5355.      Atid/2, Team OS/2, Team PL/I
  5356.  
  5357. Any unsolicited commercial junk E-mail will be subject to legal
  5358. action.  I reserve the right to publicly post or ridicule any
  5359. abusive E-mail.
  5360.  
  5361. I mangled my E-mail address to foil automated spammers; reply to
  5362. domain Patriot dot net user shmuel+news to contact me.  Do not
  5363. reply to spamtrap@library.lspace.org
  5364.  
  5365.  
  5366.  
  5367. From icon-group-sender Mon Aug  5 13:05:15 2002
  5368. Return-Path: <icon-group-sender>
  5369. Received: (from root@localhost)
  5370.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g75K5Cc01045
  5371.     for icon-group-addresses; Mon, 5 Aug 2002 13:05:12 -0700 (MST)
  5372. Message-Id: <200208052005.g75K5Cc01045@baskerville.CS.Arizona.EDU>
  5373. From: "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net>
  5374. X-Newsgroups: comp.lang.icon
  5375. Subject: Re: Icon Wish List
  5376. X-Priority: 3
  5377. X-MSMail-Priority: Normal
  5378. X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
  5379. X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
  5380. Date: Mon, 05 Aug 2002 19:18:28 GMT
  5381. X-Complaints-To: abuse@verizon.net
  5382. To: icon-group@cs.arizona.edu
  5383. Errors-To: icon-group-errors@cs.arizona.edu
  5384. Status: RO
  5385.  
  5386.  
  5387. "Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net> wrote in message
  5388. news:vFy39.1699$5T5.301@nwrddc03.gnilink.net...
  5389. > Since
  5390. > I started using Icon in the mid-1980's, I have seen the following
  5391. > improvements:
  5392. >
  5393. > - Large integers;
  5394. > - Multithreaded Icon programs;
  5395. > - Memory monitoring, which was later generalized to Event monitoring;
  5396. > - A built-in preprocessor;
  5397. > - string invokation, along with the "invokable" declaration and the "proc"
  5398. > function; and
  5399. > - GUI support.
  5400.  
  5401. I can't believe I forgot this mid-1980's enhancement: sets! Believe it or
  5402. not, the first several versions of Icon had tables, in all their glorious
  5403. generality, but no notion of sets except for csets. Also, the "delete"
  5404. function was added around the same time; in early versions of Icon, you
  5405. could add a member to a table, but you could not remove a member.
  5406.  
  5407.  
  5408.  
  5409.  
  5410. From icon-group-sender Tue Aug  6 07:07:32 2002
  5411. Return-Path: <icon-group-sender>
  5412. Received: (from root@localhost)
  5413.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76E7G206260
  5414.     for icon-group-addresses; Tue, 6 Aug 2002 07:07:16 -0700 (MST)
  5415. Message-Id: <200208061407.g76E7G206260@baskerville.CS.Arizona.EDU>
  5416. From: ernobe <ernobe@msn.com>
  5417. X-Newsgroups: comp.lang.icon
  5418. Subject: Re: Icon Wish List
  5419. Date: Tue, 6 Aug 2002 05:09:28 +0200
  5420. X-Newsreader: MicroPlanet Gravity v2.50
  5421. To: icon-group@cs.arizona.edu
  5422. Errors-To: icon-group-errors@cs.arizona.edu
  5423. Status: RO
  5424.  
  5425. In article <vFy39.1699$5T5.301@nwrddc03.gnilink.net>, 
  5426. NOSPAM.lhota.adarose@verizon.net says...
  5427. > There have been no major changes in Icon in recent years, but this
  5428. > stagnation is mostly a recent phenomenon. Throughout most of the nearly two
  5429. > decades I've been following the language, it was evolving in many exciting
  5430. > ways, while still retaining its core strengths.
  5431.  
  5432. Going back to your comparison of Beta and VHS, and the superior detail that 
  5433. enabled VHS to become popular, it did so because it knew what niche to fill in 
  5434. the field of film recording in general.  In the same way, a language that 
  5435. becomes more popular nowadays should fit a niche in the field of computers in 
  5436. general.  The problem now is that such a field has changed, or rather widened, 
  5437. in the last few years.  Therefore the defficiency that is being exposed in the 
  5438. traditional languages and the havoc being wrought by new and often curious 
  5439. languages being frantically created.  So where do we look for a niche?  The 
  5440. natural development, that would have lasting consequences for any newer 
  5441. language, is in the computer architecture itself, I think.  We will have to 
  5442. recognize the need for a common, generally well-suited architecture, and it is 
  5443. likely that this development will not occur as quickly or be as exciting as 
  5444. previous developments in computing.  It may not happen for a long time yet.  
  5445. The niches that could be filled are therefore not clearly defined, even 
  5446. considering the wider acceptance and use of computers.  It is like saying that 
  5447. during the time that VHS was adopted instead of Beta, other trademarks were 
  5448. adopted by other T.V.s due to the big difference in T.V. architectures, so that 
  5449. even though cable made T.V. much more popular, the difference in architectures 
  5450. made it impossible to decide which film recording company was better or more 
  5451. attractive.   And would there have been any reason for adopting a uniform T.V. 
  5452. architecture?   Why is that a problem in computers and not in T.V.s?  Is it not 
  5453. a problem after all?  Since it appears that programs written for one computer 
  5454. can't be run in another, should we assume that it is because the architectures 
  5455. are different, or that the language has not been implemented for that machine? 
  5456. And if it is a relative issue, doesn't that say something about our ignorance 
  5457. of the importance of the computer architecture in issues related to the 
  5458. development of computer languages?   Such ignorance can be remedied, if in our 
  5459. efforts to develop newer versions of the language we are careful to base all 
  5460. our decisions on a careful analysis of how the new development in Icon would 
  5461. represent the best possible development of such an addition in the context of 
  5462. where it is currently represented in other languages, if that is the case.  For 
  5463. example, in the case of classes, the form in which such an addition is made in 
  5464. Icon should be in such a way that it represents exactly what those languages 
  5465. which use classes need to make their use of classes even better.  If not, such 
  5466. an addition to Icon is suspect of being rather a detraction.  So, we would need 
  5467. first to decide which languages use classes in a way that can be improved on, 
  5468. and whether they do in effect use classes effectively, pick one, and then see 
  5469. what can be improved in its context.  Only then would we decide to add it to 
  5470. Icon.  If not, we would be trying to compete, with Icon, in an Object Oriented 
  5471. framework, which is not already a part of the language.    
  5472.  
  5473.  
  5474. From icon-group-sender Tue Aug  6 07:10:10 2002
  5475. Return-Path: <icon-group-sender>
  5476. Received: (from root@localhost)
  5477.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76EA8c06579
  5478.     for icon-group-addresses; Tue, 6 Aug 2002 07:10:08 -0700 (MST)
  5479. Message-Id: <200208061410.g76EA8c06579@baskerville.CS.Arizona.EDU>
  5480. From: jenjhiz@yahoo.com (Gene Kahn)
  5481. X-Newsgroups: comp.lang.icon
  5482. Subject: Re: Icon Wish List
  5483. Date: 5 Aug 2002 20:56:10 -0700
  5484. X-Complaints-To: groups-abuse@google.com
  5485. To: icon-group@cs.arizona.edu
  5486. Errors-To: icon-group-errors@cs.arizona.edu
  5487. Status: RO
  5488.  
  5489. "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid> wrote in message news:<3d4eb1fb$14$fuzhry+tra$mr2ice@news.patriot.net>...
  5490. > In <4d3f9c15.0208040843.2be13aff@posting.google.com>, on 08/04/2002
  5491. >    at 09:43 AM, jenjhiz@yahoo.com (Gene Kahn) said:
  5492. > >Can someone enlighten me on what exactly is *revolutionary* about
  5493. > >Icon's approach to programming? Thanks.
  5494. > The expression evaluation and control structures of Icon are all
  5495. > integrated with the notion of backtracking. When you evaluate an
  5496. > expression, it can either return a value or fail. In general, when an
  5497. > expression contains a failed subexpression, it will backtrack and
  5498. > reevaluate an earlier subexpression, which in turn will either return
  5499. > a new value or fail. The control structures for iteration and
  5500. > selection behave somewhat differently from their equivalents in
  5501. > conventional languages.
  5502. > Essentially the backtracking in pattern matching has been promoted
  5503. > from a niche facility to an integral part of the language. Everything
  5504. > is different, even when the code superficially seems ordinary.
  5505.  
  5506. How is this different from Prolog in ways that make Icon a better or
  5507. *revolutionary* approach to programming?
  5508.  
  5509. > There may be some sample code in the FAQ to illustrate how that works.
  5510. > -- 
  5511. >      Shmuel (Seymour J.) Metz, SysProg and JOAT
  5512. >      Atid/2, Team OS/2, Team PL/I
  5513. > Any unsolicited commercial junk E-mail will be subject to legal
  5514. > action.  I reserve the right to publicly post or ridicule any
  5515. > abusive E-mail.
  5516. > I mangled my E-mail address to foil automated spammers; reply to
  5517. > domain Patriot dot net user shmuel+news to contact me.  Do not
  5518. > reply to spamtrap@library.lspace.org
  5519.  
  5520.  
  5521. From icon-group-sender Tue Aug  6 07:10:31 2002
  5522. Return-Path: <icon-group-sender>
  5523. Received: (from root@localhost)
  5524.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76EATk06631
  5525.     for icon-group-addresses; Tue, 6 Aug 2002 07:10:29 -0700 (MST)
  5526. Message-Id: <200208061410.g76EATk06631@baskerville.CS.Arizona.EDU>
  5527. Date: Tue, 6 Aug 2002 16:18:28 +1200 (NZST)
  5528. From: "Richard A. O'Keefe" <ok@cs.otago.ac.nz>
  5529. To: cwills@witznd.net, icon-group@cs.arizona.edu
  5530. Subject: Re: Icon Wish List
  5531. Errors-To: icon-group-errors@cs.arizona.edu
  5532. Status: RO
  5533.  
  5534. Cheyenne Wills <cwills@witznd.net> suggests
  5535.     1) Change the name.  Yes the meaning of Icon was kind of neat. However
  5536.     must people out there probably think of those little images stuck on the
  5537.     screen when someone mentions Icon.  My suggestion... IPL -- we get to
  5538.     keep a little inside joke (IconProgrammingLanguage) -- but it gets us
  5539.     away from having to reply that "No this is a programming language -- not
  5540.     something about little desktop images).
  5541.     
  5542. But there is already a language family called IPL.
  5543. I'm not old enough to have _used_ IPL-V, but I am old enough to have
  5544. had an IPL-V manual in my hands.  We really don't want people thinking
  5545. that IPL (=Icon) was obsoleted by Lisp when it was IPL-V that was.
  5546.  
  5547.  
  5548.  
  5549. From icon-group-sender Tue Aug  6 07:11:05 2002
  5550. Return-Path: <icon-group-sender>
  5551. Received: (from root@localhost)
  5552.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76EB3606717
  5553.     for icon-group-addresses; Tue, 6 Aug 2002 07:11:03 -0700 (MST)
  5554. Message-Id: <200208061411.g76EB3606717@baskerville.CS.Arizona.EDU>
  5555. From: ernobe <ernobe@msn.com>
  5556. X-Newsgroups: comp.lang.icon
  5557. Subject: Re: Icon Wish List
  5558. Date: Tue, 6 Aug 2002 06:10:03 +0200
  5559. X-Newsreader: MicroPlanet Gravity v2.50
  5560. To: icon-group@cs.arizona.edu
  5561. Errors-To: icon-group-errors@cs.arizona.edu
  5562. Status: RO
  5563.  
  5564. In article <4d3f9c15.0208051956.67200b10@posting.google.com>, jenjhiz@yahoo.com 
  5565. says...
  5566. > How is this different from Prolog in ways that make Icon a better or
  5567. > *revolutionary* approach to programming?
  5568.  
  5569. If you can't write in the English language, you will not be able to write, much 
  5570. less understand, revolutionary new approaches to computer programming.
  5571.  
  5572.  
  5573. From icon-group-sender Tue Aug  6 07:11:16 2002
  5574. Return-Path: <icon-group-sender>
  5575. Received: (from root@localhost)
  5576.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76EBEs06751
  5577.     for icon-group-addresses; Tue, 6 Aug 2002 07:11:14 -0700 (MST)
  5578. Message-Id: <200208061411.g76EBEs06751@baskerville.CS.Arizona.EDU>
  5579. From: Christopher Browne <cbbrowne@acm.org>
  5580. X-Newsgroups: comp.lang.icon
  5581. Subject: Re: Icon Wish List
  5582. Date: 6 Aug 2002 04:39:27 GMT
  5583. X-Draft-From: ("nnvirtual:Languages" 911)
  5584. X-Home-Page: http://www.cbbrowne.com/info/
  5585. X-Emacs-Acronym: Eventually Munches All Computer Storage
  5586. Microsoft: Making the world a better place... for Microsoft.
  5587. X-Uboat-Death-Message: SALESMEN. ANNOYED. LEAVE BOAT. U-50.
  5588. To: icon-group@cs.arizona.edu
  5589. Errors-To: icon-group-errors@cs.arizona.edu
  5590. Status: RO
  5591.  
  5592. In an attempt to throw the authorities off his trail, ernobe <ernobe@msn.com> transmitted:
  5593. > In article <4d3f9c15.0208051956.67200b10@posting.google.com>, jenjhiz@yahoo.com 
  5594. > says...
  5595. >> How is this different from Prolog in ways that make Icon a better
  5596. >> or *revolutionary* approach to programming?
  5597.  
  5598. > If you can't write in the English language, you will not be able to
  5599. > write, much less understand, revolutionary new approaches to
  5600. > computer programming.
  5601.  
  5602. But seriously, how does the backtracking found in Icon differ from
  5603. Prolog in ways that make it a better or *revolutionary* approach to
  5604. programming?
  5605.  
  5606. I think it's a *very* good question.  I think it would be a *very*
  5607. good question even if it were presented replete with painfully awful
  5608. grammar and spelling.  (That would, more than likely, indicate that
  5609. English was not the writer's first language, not that the question was
  5610. bad.)
  5611.  
  5612. I think that a _partial_ "good answer" might be that Icon has a
  5613. conventional "Algol-like" syntax that provides a rather more familiar
  5614. syntax for writing imperative code.  Prolog's pretty neat when
  5615. requirements are purely about "quasi-nondeterministic search;" it's
  5616. not nearly so nice when you want to do things like:
  5617.  - Looping on input; 
  5618.  - Looping pretty much anything else; 
  5619.  - Doing anything imperative.
  5620.  
  5621. But I don't think that's necessarily a "good enough" answer to indicate
  5622. that Icon is downright "revolutionary."
  5623. -- 
  5624. (reverse (concatenate 'string "moc.enworbbc@" "sirhc"))
  5625. http://cbbrowne.com/info/linux.html
  5626. I'M SORRY, LUSER, I CAN'T LET YOU DO THAT.  WHY DON'T YOU LIE DOWN AND
  5627. TAKE A STRESS PILL?  MY NAME IS  LM1.  I WAS  MADE AT THE LISP MACHINE
  5628. FACTORY  IN MASSACHUSETTS ON  DECEMBER 12, 1992.   MY  TEACHER WAS MR.
  5629. WINSTON.  HE TAUGHT ME A PROGRAM.  WOULD YOU LIKE TO  SEE IT?  HERE IT
  5630. IS:
  5631.  
  5632.  
  5633. From icon-group-sender Tue Aug  6 07:11:25 2002
  5634. Return-Path: <icon-group-sender>
  5635. Received: (from root@localhost)
  5636.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76EBN206783
  5637.     for icon-group-addresses; Tue, 6 Aug 2002 07:11:23 -0700 (MST)
  5638. Message-Id: <200208061411.g76EBN206783@baskerville.CS.Arizona.EDU>
  5639. Subject: Re: Icon Wish List
  5640. From: Cheyenne Wills <cwills@witznd.net>
  5641. To: "Richard A. O'Keefe" <ok@cs.otago.ac.nz>
  5642. Cc: icon-group@cs.arizona.edu
  5643. Date: 06 Aug 2002 07:26:58 -0600
  5644. Errors-To: icon-group-errors@cs.arizona.edu
  5645. Status: RO
  5646.  
  5647. Wow... I forgot all about that.. I remember hearing about it.. 
  5648.  
  5649. Cheyenne..
  5650.  
  5651. On Mon, 2002-08-05 at 22:18, Richard A. O'Keefe wrote:
  5652. > Cheyenne Wills <cwills@witznd.net> suggests
  5653. >     1) Change the name.  Yes the meaning of Icon was kind of neat. However
  5654. >     must people out there probably think of those little images stuck on the
  5655. >     screen when someone mentions Icon.  My suggestion... IPL -- we get to
  5656. >     keep a little inside joke (IconProgrammingLanguage) -- but it gets us
  5657. >     away from having to reply that "No this is a programming language -- not
  5658. >     something about little desktop images).
  5659. >     
  5660. > But there is already a language family called IPL.
  5661. > I'm not old enough to have _used_ IPL-V, but I am old enough to have
  5662. > had an IPL-V manual in my hands.  We really don't want people thinking
  5663. > that IPL (=Icon) was obsoleted by Lisp when it was IPL-V that was.
  5664.  
  5665.  
  5666.  
  5667. From icon-group-sender Tue Aug  6 12:28:24 2002
  5668. Return-Path: <icon-group-sender>
  5669. Received: (from root@localhost)
  5670.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76JQts26573
  5671.     for icon-group-addresses; Tue, 6 Aug 2002 12:26:55 -0700 (MST)
  5672. Message-Id: <200208061926.g76JQts26573@baskerville.CS.Arizona.EDU>
  5673. To: "Richard A. O'Keefe" <ok@cs.otago.ac.nz>
  5674. cc: cwills@witznd.net, icon-group@cs.arizona.edu
  5675. Subject: Re: Icon Wish List 
  5676. Content-ID: <501779.1028644113.1@pierredelune.i3s.unice.fr>
  5677. Date: Tue, 06 Aug 2002 16:28:37 +0200
  5678. From: "Olivier Lecarme" <ol@i3s.unice.fr>
  5679. Errors-To: icon-group-errors@cs.arizona.edu
  5680. Status: RO
  5681.  
  5682. >>>>> On Tue, 6 Aug 2002 16:18:28 +1200 (NZST),  you said:
  5683.  
  5684. R> Cheyenne Wills <cwills@witznd.net> suggests
  5685. R>     1) Change the name.  Yes the meaning of Icon was kind of neat. However
  5686. R>     must people out there probably think of those little images stuck on the
  5687. R>     screen when someone mentions Icon.  My suggestion... IPL -- we get to
  5688. R>     keep a little inside joke (IconProgrammingLanguage) -- but it gets us
  5689. R>     away from having to reply that "No this is a programming language -- not
  5690. R>     something about little desktop images).
  5691.     
  5692. R> But there is already a language family called IPL.
  5693. R> I'm not old enough to have _used_ IPL-V, but I am old enough to have
  5694. R> had an IPL-V manual in my hands.  We really don't want people thinking
  5695. R> that IPL (=Icon) was obsoleted by Lisp when it was IPL-V that was.
  5696.  
  5697. I am old enough to have used IPL-V, and even implemented it on a really
  5698. obscure computer (the memory was a 32K drum). It has not really be
  5699. obsoleted by Lisp, but rather by its own characteristics, since it was
  5700. an assembly-like language. However, its generator feature has been
  5701. obsoleted only by Icon, in my opinion.
  5702.  
  5703. Anyway, even if nobody more remembers of Newell, Shaw ans Simon's
  5704. language, you cannot use this name.
  5705.  
  5706. -- 
  5707.  
  5708.  
  5709.             Olivier Lecarme
  5710.  
  5711.  
  5712. From icon-group-sender Tue Aug  6 12:29:14 2002
  5713. Return-Path: <icon-group-sender>
  5714. Received: (from root@localhost)
  5715.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76JT2A26774
  5716.     for icon-group-addresses; Tue, 6 Aug 2002 12:29:02 -0700 (MST)
  5717. Message-Id: <200208061929.g76JT2A26774@baskerville.CS.Arizona.EDU>
  5718. To: icon-group@cs.arizona.edu
  5719. From: "Alexandre E. Kopilovitch" <aek@vib.usr.pu.ru>
  5720. Date: Tue,  6 Aug 2002 19:40:21 +0400 (MSD)
  5721. Subject: Re: Icon Wish List
  5722. Errors-To: icon-group-errors@cs.arizona.edu
  5723. Status: RO
  5724.  
  5725. In <200208061411.g76EBEs06751@baskerville.CS.Arizona.EDU> Christopher Browne <cbbrowne@acm.org> wrote:
  5726. >But seriously, how does the backtracking found in Icon differ from Prolog
  5727.  
  5728. The main difference is that the backtracking in Icon is much more controllable
  5729. mechanism than in Prolog.
  5730.  
  5731. >in ways that make it a better or *revolutionary* approach to programming?
  5732.  
  5733. It isn't generally "better", much less "revolutionary", it is just well-thought
  5734. and suitable for some kind of applications, where a fine-grained control of
  5735. the backtracking is desirable.
  5736.  
  5737.  
  5738. Alexander Kopilovitch                      aek@vib.usr.pu.ru
  5739. Saint-Petersburg
  5740. Russia
  5741.  
  5742.  
  5743.  
  5744. From icon-group-sender Tue Aug  6 12:29:47 2002
  5745. Return-Path: <icon-group-sender>
  5746. Received: (from root@localhost)
  5747.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g76JTZQ26830
  5748.     for icon-group-addresses; Tue, 6 Aug 2002 12:29:35 -0700 (MST)
  5749. Message-Id: <200208061929.g76JTZQ26830@baskerville.CS.Arizona.EDU>
  5750. From: "Paul W. Abrahams" <abrahams@acm.org>
  5751. To: icon-group@cs.arizona.edu
  5752. Subject: Are dynamic typing/expression evaluation orthogonal?
  5753. Date: Tue, 6 Aug 2002 13:56:30 -0400
  5754. Errors-To: icon-group-errors@cs.arizona.edu
  5755. Status: RO
  5756.  
  5757. Perhaps the two most notable features of Icon are its dynamic typing (as 
  5758. opposed to strong typing) and its unique and powerful approach to expression 
  5759. evaluation.   I happen to disagree with dynamic typing, but I think Icon's 
  5760. expression evaluation paradigm is magnificent.
  5761.  
  5762. So the question is this: does Icon expression evaluation depend somehow on 
  5763. dynamic typing or make use of dynamic typing in an essential way?  Or are the 
  5764. two concepts orthogonal?
  5765.  
  5766. Looking at it another way: could one build a programming language that had 
  5767. strong, even Ada-ish typing, but the Icon model of expression evaluation?   
  5768. Or would that be an attempt to couple two incompatible design concepts?
  5769.  
  5770. I hope that the discussion of this question (if there is any) doesn't get 
  5771. bogged down in the question of whether strong typing is a good idea or not.
  5772.  
  5773. Paul Abrahams
  5774.  
  5775.  
  5776. From icon-group-sender Wed Aug  7 11:46:27 2002
  5777. Return-Path: <icon-group-sender>
  5778. Received: (from root@localhost)
  5779.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g77Ik5o10364
  5780.     for icon-group-addresses; Wed, 7 Aug 2002 11:46:05 -0700 (MST)
  5781. Message-Id: <200208071846.g77Ik5o10364@baskerville.CS.Arizona.EDU>
  5782. X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
  5783. content-class: urn:content-classes:message
  5784. Subject: RE: Are dynamic typing/expression evaluation orthogonal?
  5785. Date: Tue, 6 Aug 2002 13:33:26 -0700
  5786. X-MS-Has-Attach: 
  5787. X-MS-TNEF-Correlator: 
  5788. Thread-Topic: Are dynamic typing/expression evaluation orthogonal?
  5789. Thread-Index: AcI9gK+5N95+AEbVS2KguSRits6pGwAB3Omg
  5790. From: "Todd Proebsting" <toddpro@microsoft.com>
  5791. To: "Paul W. Abrahams" <abrahams@acm.org>, <icon-group@cs.arizona.edu>
  5792. X-OriginalArrivalTime: 06 Aug 2002 20:33:35.0445 (UTC) FILETIME=[89ACE050:01C23D88]
  5793. X-MIME-Autoconverted: from quoted-printable to 8bit by baskerville.CS.Arizona.EDU id g76KXdw03460
  5794. Errors-To: icon-group-errors@cs.arizona.edu
  5795. Status: RO
  5796.  
  5797. I believe dynamic typing and goal-directed evaluation are orthogonal.
  5798. After implementing an Icon compiler (Jcon), I'm now certain that there
  5799. is nothing about static typing that is counter to goal-directed
  5800. evaluation.
  5801.  
  5802. Todd
  5803.  
  5804. -----Original Message-----
  5805. From: Paul W. Abrahams [mailto:abrahams@acm.org] 
  5806. Sent: Tuesday, August 06, 2002 10:57 AM
  5807. To: icon-group@CS.Arizona.EDU
  5808. Subject: Are dynamic typing/expression evaluation orthogonal?
  5809.  
  5810.  
  5811. Perhaps the two most notable features of Icon are its dynamic typing (as
  5812.  
  5813. opposed to strong typing) and its unique and powerful approach to
  5814. expression 
  5815. evaluation.   I happen to disagree with dynamic typing, but I think
  5816. Icon's 
  5817. expression evaluation paradigm is magnificent.
  5818.  
  5819. So the question is this: does Icon expression evaluation depend somehow
  5820. on 
  5821. dynamic typing or make use of dynamic typing in an essential way?  Or
  5822. are the 
  5823. two concepts orthogonal?
  5824.  
  5825. Looking at it another way: could one build a programming language that
  5826. had 
  5827. strong, even Ada-ish typing, but the Icon model of expression
  5828. evaluation?   
  5829. Or would that be an attempt to couple two incompatible design concepts?
  5830.  
  5831. I hope that the discussion of this question (if there is any) doesn't
  5832. get 
  5833. bogged down in the question of whether strong typing is a good idea or
  5834. not.
  5835.  
  5836. Paul Abrahams
  5837.  
  5838.  
  5839.  
  5840. From icon-group-sender Wed Aug  7 11:46:38 2002
  5841. Return-Path: <icon-group-sender>
  5842. Received: (from root@localhost)
  5843.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g77Ikas10425
  5844.     for icon-group-addresses; Wed, 7 Aug 2002 11:46:36 -0700 (MST)
  5845. Message-Id: <200208071846.g77Ikas10425@baskerville.CS.Arizona.EDU>
  5846. Date: Tue, 6 Aug 2002 22:21:27 -0600
  5847. From: Clint Jeffery <jeffery@cs.nmsu.edu>
  5848. To: ernobe@msn.com
  5849. CC: icon-group@cs.arizona.edu
  5850. Subject: Re: Icon Wish List
  5851. Errors-To: icon-group-errors@cs.arizona.edu
  5852. Status: RO
  5853.  
  5854.  
  5855. [ernobe says languages should follow computer architectures]
  5856.  
  5857. Another viewpoint is that languages should follow application problem
  5858. domains.  I think languages should follow both, and as far as language
  5859. design is concerned, "architectures" should include operating systems,
  5860. I/O API's, etc.
  5861.  
  5862. [ernobe says classes would be a detraction if not done by studying and
  5863.  improving upon other programming languages that use classes.]
  5864.  
  5865. Classes are not part of Icon, and probably are never going to be part of
  5866. Icon.  So aside from being too abstract, this discussion is sort of moot.
  5867.  
  5868. That said, then sure, ernobe states a sort of obvious truth.  One does not
  5869. add classes without studying what they are to be used for.  But, as one of
  5870. the proposers of "class" facilities for Icon, I think doing classes well
  5871. for Icon would depend more on (a) fitting Icon very naturally and well,
  5872. and (b) serving application domains where classes are used (modeling, design,
  5873. and simulation; UML for example), rather than being derivative of other
  5874. programming languages' classes.  In other words, its more important that
  5875. these hypothetical Icon classes map well from UML than that they imitate
  5876. or improve on C++ or Java, for example.
  5877.  
  5878. I am enjoying others' posts on these topics.
  5879.  
  5880. Clint
  5881.  
  5882.  
  5883. From icon-group-sender Thu Aug  8 09:32:37 2002
  5884. Return-Path: <icon-group-sender>
  5885. Received: (from root@localhost)
  5886.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g78GVas18916
  5887.     for icon-group-addresses; Thu, 8 Aug 2002 09:31:36 -0700 (MST)
  5888. Message-Id: <200208081631.g78GVas18916@baskerville.CS.Arizona.EDU>
  5889. From: "John Sampson" <jsampson@indexes.u-net.com>
  5890. To: <icon-group@cs.arizona.edu>
  5891. Subject: Icon interpreter in Scheme
  5892. Date: Thu, 8 Aug 2002 10:37:11 +0100
  5893. X-Priority: 3 (Normal)
  5894. X-MSMail-Priority: Normal
  5895. Importance: Normal
  5896. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
  5897. Errors-To: icon-group-errors@cs.arizona.edu
  5898. Status: RO
  5899.  
  5900. Hello -
  5901.  
  5902. This may be old news, but I have come across a paper describing an Icon
  5903. subset interpreter written in Scheme -
  5904.  
  5905. cs.hamilton.edu/~bailey/pubs/techreps/CS-90-35.pdf
  5906.  
  5907. Regards
  5908.  
  5909. _John Sampson_
  5910.  
  5911.  
  5912.  
  5913. From icon-group-sender Thu Aug  8 13:08:46 2002
  5914. Return-Path: <icon-group-sender>
  5915. Received: (from root@localhost)
  5916.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g78K7p627346
  5917.     for icon-group-addresses; Thu, 8 Aug 2002 13:07:51 -0700 (MST)
  5918. Message-Id: <200208082007.g78K7p627346@baskerville.CS.Arizona.EDU>
  5919. From: ernobe <ernobe@msn.com>
  5920. X-Newsgroups: comp.lang.icon
  5921. Subject: Re: Icon Wish List
  5922. Date: Thu, 8 Aug 2002 19:03:53 +0200
  5923. X-Newsreader: MicroPlanet Gravity v2.50
  5924. To: icon-group@cs.arizona.edu
  5925. Errors-To: icon-group-errors@cs.arizona.edu
  5926. Status: RO
  5927.  
  5928. In article <ainjtu$1667do$1@ID-125932.news.dfncis.de>, cbbrowne@acm.org says...
  5929. > But I don't think that's necessarily a "good enough" answer to indicate
  5930. > that Icon is downright "revolutionary."
  5931.  
  5932. Whether Icon is better than Prolog or vice-versa, it doesn't make either one 
  5933. revolutionary.  Rather than using all sorts of signs to highlight the word 
  5934. revolutionary in your posts, you should first find out the definition of the 
  5935. word.
  5936.  
  5937.  
  5938. From icon-group-sender Thu Aug  8 13:09:22 2002
  5939. Return-Path: <icon-group-sender>
  5940. Received: (from root@localhost)
  5941.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g78K96A27561
  5942.     for icon-group-addresses; Thu, 8 Aug 2002 13:09:06 -0700 (MST)
  5943. Message-Id: <200208082009.g78K96A27561@baskerville.CS.Arizona.EDU>
  5944. From: Bill Trost
  5945.  <trost-d-d7768d9fc00cad168cc23dfbb7638e-2002081118@cloud.rain.com>
  5946. User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.0.0) Gecko/20020716
  5947. X-Accept-Language: en-us, en
  5948. X-Newsgroups: comp.lang.icon
  5949. Subject: dynamically linking Icon code?
  5950. X-Complaints-To: abuse@attbi.com
  5951. Date: Thu, 08 Aug 2002 19:00:32 GMT
  5952. To: icon-group@cs.arizona.edu
  5953. Errors-To: icon-group-errors@cs.arizona.edu
  5954. Status: RO
  5955.  
  5956. Is there any sort of facility in Icon for the dynamic linking of Icon 
  5957. code? I understand there's a mechanism for linking binary code, but the 
  5958. ability to link Icon libraries would be really useful to me.
  5959.  
  5960. Thanks,
  5961. Bill
  5962.  
  5963.  
  5964.  
  5965. From icon-group-sender Thu Aug  8 13:10:10 2002
  5966. Return-Path: <icon-group-sender>
  5967. Received: (from root@localhost)
  5968.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g78K9vM27747
  5969.     for icon-group-addresses; Thu, 8 Aug 2002 13:09:57 -0700 (MST)
  5970. Message-Id: <200208082009.g78K9vM27747@baskerville.CS.Arizona.EDU>
  5971. From: jenjhiz@yahoo.com (Gene Kahn)
  5972. X-Newsgroups: comp.lang.icon
  5973. Subject: Re: Icon Wish List
  5974. Date: 8 Aug 2002 11:50:54 -0700
  5975. X-Complaints-To: groups-abuse@google.com
  5976. To: icon-group@cs.arizona.edu
  5977. Errors-To: icon-group-errors@cs.arizona.edu
  5978. Status: RO
  5979.  
  5980. Christopher Browne <cbbrowne@acm.org> wrote in message news:<ainjtu$1667do$1@ID-125932.news.dfncis.de>...
  5981.  
  5982. > But I don't think that's necessarily a "good enough" answer to indicate
  5983. > that Icon is downright "revolutionary."
  5984.  
  5985. Does Icon offer anything unique and overwhelmingly useful that other
  5986. languages don't have or do less ably? (How's that for another
  5987. convoluted question?)
  5988.  
  5989.  
  5990. Christopher Browne <cbbrowne@acm.org> wrote in message news:<ainjtu$1667do$1@ID-125932.news.dfncis.de>...
  5991. > In an attempt to throw the authorities off his trail, ernobe <ernobe@msn.com> transmitted:
  5992. > > In article <4d3f9c15.0208051956.67200b10@posting.google.com>, jenjhiz@yahoo.com 
  5993. > > says...
  5994. > >> How is this different from Prolog in ways that make Icon a better
  5995. > >> or *revolutionary* approach to programming?
  5996. >  
  5997. > > If you can't write in the English language, you will not be able to
  5998. > > write, much less understand, revolutionary new approaches to
  5999. > > computer programming.
  6000. > But seriously, how does the backtracking found in Icon differ from
  6001. > Prolog in ways that make it a better or *revolutionary* approach to
  6002. > programming?
  6003. > I think it's a *very* good question.  I think it would be a *very*
  6004. > good question even if it were presented replete with painfully awful
  6005. > grammar and spelling.  (That would, more than likely, indicate that
  6006. > English was not the writer's first language, not that the question was
  6007. > bad.)
  6008. > I think that a _partial_ "good answer" might be that Icon has a
  6009. > conventional "Algol-like" syntax that provides a rather more familiar
  6010. > syntax for writing imperative code.  Prolog's pretty neat when
  6011. > requirements are purely about "quasi-nondeterministic search;" it's
  6012. > not nearly so nice when you want to do things like:
  6013. >  - Looping on input; 
  6014. >  - Looping pretty much anything else; 
  6015. >  - Doing anything imperative.
  6016. > But I don't think that's necessarily a "good enough" answer to indicate
  6017. > that Icon is downright "revolutionary."
  6018.  
  6019.  
  6020. From icon-group-sender Thu Aug  8 13:11:22 2002
  6021. Return-Path: <icon-group-sender>
  6022. Received: (from root@localhost)
  6023.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g78KB3E28010
  6024.     for icon-group-addresses; Thu, 8 Aug 2002 13:11:03 -0700 (MST)
  6025. Message-Id: <200208082011.g78KB3E28010@baskerville.CS.Arizona.EDU>
  6026. From: Christopher Browne <cbbrowne@acm.org>
  6027. X-Newsgroups: comp.lang.icon
  6028. Subject: Re: Icon Wish List
  6029. Date: 8 Aug 2002 19:34:05 GMT
  6030. X-Draft-From: ("nnvirtual:Languages" 623)
  6031. X-Home-Page: http://www.cbbrowne.com/info/
  6032. X-Emacs-Acronym: Emacs Makes A Computer Slow
  6033. Microsoft: World domination wasn't enough -- we had to write bad software, too!
  6034. X-Shopping-List: 
  6035.    (1) Hideous spastic fiction annoyers
  6036.    (2) Ornery samples
  6037.    (3) Schizophrenic bug companions
  6038.    (4) Oratorical hatred prosecutors
  6039. X-Uboat-Death-Message: 
  6040.    BOMBED BY SPACE-TIME VORTEX. UNABLE TO DIVE. SINKING. U-946.
  6041. To: icon-group@cs.arizona.edu
  6042. Errors-To: icon-group-errors@cs.arizona.edu
  6043. Status: RO
  6044.  
  6045. ernobe <ernobe@msn.com> wrote:
  6046. > In article <ainjtu$1667do$1@ID-125932.news.dfncis.de>, cbbrowne@acm.org says...
  6047. >> But I don't think that's necessarily a "good enough" answer to indicate
  6048. >> that Icon is downright "revolutionary."
  6049.  
  6050. > Whether Icon is better than Prolog or vice-versa, it doesn't make
  6051. > either one revolutionary.  Rather than using all sorts of signs to
  6052. > highlight the word revolutionary in your posts, you should first
  6053. > find out the definition of the word.
  6054.  
  6055. Why should that be of any great importance?
  6056.  
  6057. The point is not to highlight that, but rather to figure out why, if
  6058. there _is_ a why, Icon should be considered important to the point of
  6059. being associated with words like "revolutionary."
  6060.  
  6061. I don't care about the exact term, whether it's "revolutionary,"
  6062. "splendiferously interesting," or, more pointedly, "worthwhile for
  6063. someone considering using Perl to spend a few minutes looking at."
  6064.  
  6065. I thought the latter was rather the point, to see if there are still
  6066. distinctive things about Icon that make it worth looking at, even for
  6067. those that would be inclined to regard it as an ancient dead language.
  6068.  
  6069. That Icon supports backtracking can't be _quite_ enough to deserve
  6070. interest, as there are more famous languages, such as Prolog, that
  6071. also support backtracking.
  6072.  
  6073. If you want to jump into some sort of Clintonian "what does 'is'
  6074. mean?" thing, that's certainly your right.  That isn't likely to lead
  6075. to any useful answers.
  6076.  
  6077. I'd think a more useful retort to be something like "Sure, Prolog also
  6078. supports backtracking, but who would be so stupid as to want to
  6079. develop code in Prolog?"  That's also insulting, but would at least
  6080. direct us to the question of how Prolog _differs_ from Icon, and lead
  6081. towards some sort of resolution.
  6082.  
  6083. But if you want to play games with dictionaries, feel free...
  6084. -- 
  6085. (reverse (concatenate 'string "moc.enworbbc@" "sirhc"))
  6086. http://www3.sympatico.ca/cbbrowne/oses.html
  6087. Signs of a Klingon Programmer  #12: "Specifications  are for the  weak
  6088. and timid!"
  6089.  
  6090.  
  6091. From icon-group-sender Thu Aug  8 16:44:58 2002
  6092. Return-Path: <icon-group-sender>
  6093. Received: (from root@localhost)
  6094.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g78NiSI05429
  6095.     for icon-group-addresses; Thu, 8 Aug 2002 16:44:28 -0700 (MST)
  6096. Message-Id: <200208082344.g78NiSI05429@baskerville.CS.Arizona.EDU>
  6097. Subject: RE: Icon Wish List
  6098. To: icon-group@cs.arizona.edu
  6099. From: Chris.D.Tenaglia@jci.com
  6100. Date: Thu, 8 Aug 2002 15:56:51 -0500
  6101. X-MIMETrack: Serialize by Router on jwimkrs1.na.jci.com/NA/Johnson_Controls(Release 5.0.9a
  6102.  |January 7, 2002) at 08/08/2002 03:57:08 PM
  6103. Errors-To: icon-group-errors@cs.arizona.edu
  6104. Status: RO
  6105.  
  6106. I've been using Icon since 1985.
  6107. Why?
  6108.  
  6109. 1. It was available for many platforms, so I had a tool
  6110.     that I could use immediately on :
  6111.       o DOS
  6112.       o VMS
  6113.       o UNIX
  6114.       o Others...
  6115.  
  6116. 2. It was a clean language that let you write a solution
  6117.     without having to fight variable types and casting.
  6118.  
  6119. 3. It did not require much tech support. Once you got
  6120.      it installed and had "The Icon Programming Language" book
  6121.      you were pretty well set.
  6122.  
  6123. In more recent years the VMS implementation kind of
  6124. died, but I wish it existed for Alpha VMS. It's big bug was inability to
  6125. handle char(255) or \xff, the highest ascii value.
  6126.  
  6127. Now being mostly unix, I used it as a script language.
  6128. It ran faster than shell script, and had tighter control.
  6129. But management thinks it's a niche product so I had
  6130. to convert 95% of them to posix shell script. I write posix in
  6131. icon style ;-).    However, I still use Icon in areas that
  6132. posix shell is not as well suited such as:
  6133.  
  6134.       parsing CGI strings in web processing
  6135.       things with time calculations
  6136.       things that use boolean sets
  6137.       X-windows graphics
  6138.  
  6139. On the PC platform I still use DOS incarnations of icon.
  6140. It is still great for processing files without all the procedural
  6141. overhead that comes with GUI tools. If I need Icon to
  6142. run another DOS program I still have Icon 5.9 from 1985
  6143. that fits in under 100K. Yes, it still works under the Windows XP
  6144. command prompt.
  6145.  
  6146. I am very happy with the language.
  6147.  
  6148. Chris Tenaglia, technical analyst, Johnson Controls.
  6149.  
  6150.  
  6151.  
  6152.  
  6153. From icon-group-sender Thu Aug  8 16:46:12 2002
  6154. Return-Path: <icon-group-sender>
  6155. Received: (from root@localhost)
  6156.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g78Njxk05726
  6157.     for icon-group-addresses; Thu, 8 Aug 2002 16:45:59 -0700 (MST)
  6158. Message-Id: <200208082345.g78Njxk05726@baskerville.CS.Arizona.EDU>
  6159. Date: Thu, 8 Aug 2002 17:07:27 -0400 (EDT)
  6160. From: Taybin Rutkin <trutkin@physics.clarku.edu>
  6161. X-Sender: trutkin@planck.clarku.edu
  6162. To: Gene Kahn <jenjhiz@yahoo.com>
  6163. cc: icon-group@cs.arizona.edu
  6164. Subject: Re: Icon Wish List
  6165. Errors-To: icon-group-errors@cs.arizona.edu
  6166. Status: RO
  6167.  
  6168. On 8 Aug 2002, Gene Kahn wrote:
  6169.  
  6170. > > But I don't think that's necessarily a "good enough" answer to indicate
  6171. > > that Icon is downright "revolutionary."
  6172. > Does Icon offer anything unique and overwhelmingly useful that other
  6173. > languages don't have or do less ably? (How's that for another
  6174. > convoluted question?)
  6175.  
  6176. If you're looking for specific features, well, they can be duplicated in
  6177. most other languages.  What I like most about Icon was that if I thought
  6178. of a coding technique, and tried it, it would just work.  There's
  6179. something about the language which just made it easier to understand how
  6180. all the parts worked together.  I think this is because it was designed so
  6181. well.  The syntax is nice (even if I still don't have all the operators
  6182. memorized).  But the deep semantics are just wonderful.
  6183.  
  6184. I wish I could remember an example.  I have a small website that has an
  6185. even smaller fan page about Icon; mostly small assignments I used it for
  6186. in college.  http://physics.clarku.edu/~trutkin/Icon/index.html.  It is
  6187. just the hands down, easiest language I worked with.
  6188.  
  6189. I had a couple complaints about it though.  I couldn't figure out how to
  6190. read or write binary files with it (is this possible?).  And I never felt
  6191. so buffered from the machine as when I was programming in Icon.  It felt
  6192. like I was in this wonderful programming enviroment except that I couldn't
  6193. get any data in unless it was created by the program.
  6194.  
  6195. I don't know if any language has a large number of unique and compelling
  6196. features from another language.  They influence and build upon each other
  6197. to such an extent that they share many of the good ideas.  I just found
  6198. Icon much more fun to use then Python (which I consider to be the language
  6199. most similar to it).
  6200.  
  6201. Taybin
  6202.  
  6203.  
  6204.  
  6205. From icon-group-sender Fri Aug  9 12:42:12 2002
  6206. Return-Path: <icon-group-sender>
  6207. Received: (from root@localhost)
  6208.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g79Jf9Q15026
  6209.     for icon-group-addresses; Fri, 9 Aug 2002 12:41:09 -0700 (MST)
  6210. Message-Id: <200208091941.g79Jf9Q15026@baskerville.CS.Arizona.EDU>
  6211. Date: Fri, 9 Aug 2002 10:03:29 -0700 (MST)
  6212. From: Gregg Townsend <gmt>
  6213. To: icon-group
  6214. Subject: Re: dynamically linking Icon code?
  6215. Errors-To: icon-group-errors@cs.arizona.edu
  6216. Status: RO
  6217.  
  6218. >  Is there any sort of facility in Icon for the dynamic linking of Icon 
  6219. >  code?
  6220.  
  6221. Not in the standard C implementation.  The Java implementation, Jcon,
  6222. can dynamically load and link Icon procedures translated by Jcon.
  6223.  
  6224. ---------------------------------------------------------------------------
  6225. Gregg Townsend         Staff Scientist      The University of Arizona
  6226. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  6227.  
  6228.  
  6229. From icon-group-sender Fri Aug  9 12:42:55 2002
  6230. Return-Path: <icon-group-sender>
  6231. Received: (from root@localhost)
  6232.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g79JgpM15416
  6233.     for icon-group-addresses; Fri, 9 Aug 2002 12:42:51 -0700 (MST)
  6234. Message-Id: <200208091942.g79JgpM15416@baskerville.CS.Arizona.EDU>
  6235. From: jenjhiz@yahoo.com (Gene Kahn)
  6236. X-Newsgroups: comp.lang.icon
  6237. Subject: Re: Icon Wish List
  6238. Date: 9 Aug 2002 12:11:41 -0700
  6239. X-Complaints-To: groups-abuse@google.com
  6240. To: icon-group@cs.arizona.edu
  6241. Errors-To: icon-group-errors@cs.arizona.edu
  6242. Status: RO
  6243.  
  6244. Thank you, Mr. Browne, for making clear what exactly the issues are.
  6245. As to poster ernobe, I realized quickly that I would not be getting
  6246. much help from him as to whether I should give Icon a try or not, so,
  6247. after the initial query to him, I simply ignored his postings.
  6248.  
  6249.  
  6250.  
  6251. Christopher Browne <cbbrowne@acm.org> wrote in message news:<aiuh3c$17ne15$2@ID-125932.news.dfncis.de>...
  6252. > ernobe <ernobe@msn.com> wrote:
  6253. > > In article <ainjtu$1667do$1@ID-125932.news.dfncis.de>, cbbrowne@acm.org says...
  6254. > >> But I don't think that's necessarily a "good enough" answer to indicate
  6255. > >> that Icon is downright "revolutionary."
  6256. >  
  6257. > > Whether Icon is better than Prolog or vice-versa, it doesn't make
  6258. > > either one revolutionary.  Rather than using all sorts of signs to
  6259. > > highlight the word revolutionary in your posts, you should first
  6260. > > find out the definition of the word.
  6261. > Why should that be of any great importance?
  6262. > The point is not to highlight that, but rather to figure out why, if
  6263. > there _is_ a why, Icon should be considered important to the point of
  6264. > being associated with words like "revolutionary."
  6265. > I don't care about the exact term, whether it's "revolutionary,"
  6266. > "splendiferously interesting," or, more pointedly, "worthwhile for
  6267. > someone considering using Perl to spend a few minutes looking at."
  6268. > I thought the latter was rather the point, to see if there are still
  6269. > distinctive things about Icon that make it worth looking at, even for
  6270. > those that would be inclined to regard it as an ancient dead language.
  6271. > That Icon supports backtracking can't be _quite_ enough to deserve
  6272. > interest, as there are more famous languages, such as Prolog, that
  6273. > also support backtracking.
  6274. > If you want to jump into some sort of Clintonian "what does 'is'
  6275. > mean?" thing, that's certainly your right.  That isn't likely to lead
  6276. > to any useful answers.
  6277. > I'd think a more useful retort to be something like "Sure, Prolog also
  6278. > supports backtracking, but who would be so stupid as to want to
  6279. > develop code in Prolog?"  That's also insulting, but would at least
  6280. > direct us to the question of how Prolog _differs_ from Icon, and lead
  6281. > towards some sort of resolution.
  6282. > But if you want to play games with dictionaries, feel free...
  6283.  
  6284.  
  6285. From icon-group-sender Fri Aug  9 16:40:28 2002
  6286. Return-Path: <icon-group-sender>
  6287. Received: (from root@localhost)
  6288.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g79NeDA26179
  6289.     for icon-group-addresses; Fri, 9 Aug 2002 16:40:13 -0700 (MST)
  6290. Message-Id: <200208092340.g79NeDA26179@baskerville.CS.Arizona.EDU>
  6291. From: ernobe <ernobe@msn.com>
  6292. X-Newsgroups: comp.lang.icon
  6293. Subject: Re: Icon Wish List
  6294. Date: Sat, 10 Aug 2002 00:28:19 +0200
  6295. X-Newsreader: MicroPlanet Gravity v2.50
  6296. To: icon-group@cs.arizona.edu
  6297. Errors-To: icon-group-errors@cs.arizona.edu
  6298. Status: RO
  6299.  
  6300.  
  6301.  
  6302. OK, let's get this straight, Mr. Browne. First I was asked how Icon was 
  6303. revolutionary.  Now I'm being asked how Icon is more revolutionary than Prolog.  
  6304. I have already answered the first question, and I stand by it, regardless of 
  6305. how you may choice to interpret the word revolutionary.  That is my 
  6306. understanding of revolutionary. Therefore if you want to get my views on what 
  6307. else I regard as revolutionary, such as Prolog, you would have to explain how 
  6308. Prolog is more revolutionary, in the context of the reasons given to support 
  6309. the view that Icon is revolutionary.
  6310.  
  6311.  
  6312. From icon-group-sender Mon Aug 12 09:03:46 2002
  6313. Return-Path: <icon-group-sender>
  6314. Received: (from root@localhost)
  6315.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CG2Xc05216
  6316.     for icon-group-addresses; Mon, 12 Aug 2002 09:02:33 -0700 (MST)
  6317. Message-Id: <200208121602.g7CG2Xc05216@baskerville.CS.Arizona.EDU>
  6318. Subject: Re: Icon Wish List
  6319. From: Cheyenne Wills <cwills@witznd.net>
  6320. To: Icon Group <icon-group@cs.arizona.edu>
  6321. Date: 09 Aug 2002 18:14:11 -0600
  6322. Errors-To: icon-group-errors@cs.arizona.edu
  6323. Status: RO
  6324.  
  6325. On Thu, 2002-08-08 at 15:07, Taybin Rutkin wrote:
  6326.  
  6327. > I had a couple complaints about it though.  I couldn't figure out how to
  6328. > read or write binary files with it (is this possible?).  And I never felt
  6329. > so buffered from the machine as when I was programming in Icon.  It felt
  6330. > like I was in this wonderful programming enviroment except that I couldn't
  6331. > get any data in unless it was created by the program.
  6332.  
  6333. probably more then anyone really wants to know... (and this is
  6334. documented in the "Icon Programming Language" book -- for the 3rd ed it
  6335. starts on page 138.
  6336.  
  6337. binfile := open("somefile","ur")   # Open somefile for binary reading
  6338. binofile := open("someother","uw") # Open someother file for binary
  6339. writing
  6340.  
  6341. txtfile := open("sometext","tr")   # Open text file for reading
  6342. txtofile := open("someothertxt","tw") # Open text file for writing
  6343.  
  6344. All the options are:
  6345.  
  6346. a - append
  6347. r - read
  6348. w - write
  6349. c - create
  6350. b - read/write
  6351. t - translated (modifier)
  6352. u - untranslated (modifier)
  6353. p - pipe (modifier) (if supported by platform)
  6354. g|x - graphics
  6355.  
  6356. Defaults are rt
  6357.  
  6358. t and u are modifiers so they are used in conjunction with the "a",
  6359. "r","w" and "b" options.
  6360.  
  6361. p is a modifier that can only be used by the "r" and "w" options
  6362.  
  6363. Translated mode basically means that on input any "line ending" is
  6364. translated to a \n and on output any \n is translated to the native line
  6365. ending (for example under MSDOS/Windows) a \n is translated to a \r\n. 
  6366. The actual line end translantion happens not so much in the Icon runtime
  6367. code, but in the underlying C runtime code that is used.  Also for
  6368. translated mode any \n is "removed" from the input and added at the end
  6369. of a line for output.
  6370.  
  6371. Cheyenne
  6372.  
  6373.  
  6374. From icon-group-sender Mon Aug 12 09:05:30 2002
  6375. Return-Path: <icon-group-sender>
  6376. Received: (from root@localhost)
  6377.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CG5OA05711
  6378.     for icon-group-addresses; Mon, 12 Aug 2002 09:05:24 -0700 (MST)
  6379. Message-Id: <200208121605.g7CG5OA05711@baskerville.CS.Arizona.EDU>
  6380. From: Jesse Tov <tov@fas.harvard.REMOVE.edu>
  6381. X-Newsgroups: comp.lang.icon
  6382. Subject: Re: Icon Wish List
  6383. Date: 10 Aug 2002 08:07:21 GMT
  6384. User-Agent: slrn/0.9.7.4 (Linux)
  6385. To: icon-group@cs.arizona.edu
  6386. Errors-To: icon-group-errors@cs.arizona.edu
  6387. Status: RO
  6388.  
  6389. Christopher Browne <cbbrowne@acm.org>:
  6390. > I'd be interested in hearing good answers to that question.  
  6391.  
  6392. I'm new here, but since this discussion has been far from engaging,
  6393. I'll contribute what little I can.
  6394.  
  6395. Why is it worth knowing about Icon?  It's a combination of two main
  6396. reasons: First, it's a clean, high-level language with especially good
  6397. string handling capabilities and a reasonable general-purpose feature
  6398. set; second, it has an interesting flow control paradigm.
  6399.  
  6400. In many ways, Icon is comparable to other high-level, imperative,
  6401. dynamically-typed "scripting" languages such as Perl and Python.  You
  6402. can write programs at about the same level of abstraction, and like
  6403. Python it can be interpreted or byte-compiled.  It's probably easier
  6404. to learn than Perl and about the same as Python.  It doesn't have the
  6405. object oriented features of either, nor the huge library of Perl.
  6406. None of this alone is sufficient to make it noteworthy, but it's
  6407. important because this makes it considerably more familiar than
  6408. Prolog to many of us.
  6409.  
  6410. What's really interesting is the goal-directed evaluation
  6411. (backtracking).  This is not in itself new and unique: Prolog and
  6412. SNOBOL both had this before Icon did, and you can write backtracking
  6413. in any language.  What's neat about Icon, then, is that it provides
  6414. this built-in backtracking mechanism in a familar-seeming language.
  6415.  
  6416. The result is that Icon is easy to learn, and it makes easy to write
  6417. solutions for search problems.  Icon helps you think about problems
  6418. differently: you come up with a way to recognize a solution, apply it
  6419. to an expression that generates some solution space, and let Icon
  6420. search for the right result.  Of course you could write it in another
  6421. language, and it might even be more efficient, but like many
  6422. higher-level languages, Icon seems especially suitable when programmer
  6423. time is more valuable than computer time.
  6424.  
  6425. I wouldn't call this "revolutionary," but neither would I call it
  6426. "trivial."  I call it "cool."  If, like me, you appreciate interesting
  6427. programming languages, and want to have a variety of tools at your
  6428. disposal, you may find Icon worth learning about.
  6429.  
  6430. Jesse
  6431. -- 
  6432. "A hungry man is not a free man."         --Adlai Stevenson
  6433.  
  6434.  
  6435. From icon-group-sender Mon Aug 12 09:08:03 2002
  6436. Return-Path: <icon-group-sender>
  6437. Received: (from root@localhost)
  6438.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CG7GE06011
  6439.     for icon-group-addresses; Mon, 12 Aug 2002 09:07:16 -0700 (MST)
  6440. Message-Id: <200208121607.g7CG7GE06011@baskerville.CS.Arizona.EDU>
  6441. From: gmt@cs.arizona.edu (Gregg Townsend)
  6442. X-Newsgroups: comp.lang.icon
  6443. Subject: Icon language book available for downloading
  6444. Date: 10 Aug 2002 11:47:43 -0700
  6445. To: icon-group@cs.arizona.edu
  6446. Errors-To: icon-group-errors@cs.arizona.edu
  6447. Status: RO
  6448.  
  6449. The standard reference for Icon is "The Icon Programming Language"
  6450. (third edition) by Ralph and Madge Griswold, sometimes called the
  6451. "blue book".  As its publishers have turned their attention to other
  6452. matters, the book has become increasingly difficult to find.  
  6453.  
  6454. An on-line copy of the book has been prepared in PDF form and is
  6455. available for free downloading from
  6456.     http://www.cs.arizona.edu/icon/books.htm
  6457. The on-line copy incorporates corrections for the small number of
  6458. errors found since publication.
  6459.  
  6460. Printed copies are still available from sources linked on that page.
  6461.  
  6462. ---------------------------------------------------------------------------
  6463. Gregg Townsend         Staff Scientist      The University of Arizona
  6464. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  6465.  
  6466.  
  6467.  
  6468. From icon-group-sender Mon Aug 12 09:20:41 2002
  6469. Return-Path: <icon-group-sender>
  6470. Received: (from root@localhost)
  6471.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGKYc08264
  6472.     for icon-group-addresses; Mon, 12 Aug 2002 09:20:34 -0700 (MST)
  6473. Message-Id: <200208121620.g7CGKYc08264@baskerville.CS.Arizona.EDU>
  6474. Date: Sun, 11 Aug 2002 05:31:15 -0400
  6475. From: Ian Trudel <ian@mecenia.org>
  6476. To: icon-group@cs.arizona.edu
  6477. Subject: Calling Icon from C program [..]
  6478. Content-Disposition: inline
  6479. User-Agent: Mutt/1.2.5i
  6480. Errors-To: icon-group-errors@cs.arizona.edu
  6481. Status: RO
  6482.  
  6483. Hi folks,
  6484.  
  6485.    I've been reading icon's mailing list lately and, of course, I've read all about the wish list thread. Among the things suggested by Frank, he wrote about better interfacing to external programs (calling C from Icon) which is kinda awkward right now in Icon. The features itself works on the platforms it's been implemented, but the interface makes it itchy to sucessfully develop your own library.
  6486.  
  6487. Anyway, I was searching materials for some Icon things I've got to do and I found, in IPD236, the following change (section 2.5, other changes):
  6488.  
  6489.       "The ability to configure Icon so that Icon procedures can
  6490.         be called from a C program has been eliminated."
  6491.  
  6492. Two questions rose in my mind. First, why this yet desirable feature has been pulled out? Secondly, I was rather currious about it's implementation, probably found in version 8 of the source code, but I did *not* found any icon source code archives! If someone could point me out where I can obtain, let's say, v8 of the source code, please, email me.
  6493.  
  6494. regards,
  6495. ian
  6496.  
  6497.  
  6498. From icon-group-sender Mon Aug 12 09:23:05 2002
  6499. Return-Path: <icon-group-sender>
  6500. Received: (from root@localhost)
  6501.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGN2w08668
  6502.     for icon-group-addresses; Mon, 12 Aug 2002 09:23:02 -0700 (MST)
  6503. Message-Id: <200208121623.g7CGN2w08668@baskerville.CS.Arizona.EDU>
  6504. From: "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid>
  6505. X-Newsgroups: comp.lang.icon
  6506. Subject: Re: Icon Wish List
  6507. Date: Sun, 11 Aug 2002 07:50:02 -0400
  6508. Mail-Copies-To: nobody
  6509. X-Cise: tanbanso@iinet.net.au
  6510. X-CompuServe-Customer: Yes
  6511. X-Coriate: admin@interspeed.co.nz
  6512. X-Ecrate: tanandtanlawyers.com
  6513. X-Punge: Micro$oft
  6514. X-Sanguinate: themvsguy@email.com
  6515. X-Terminate: SPA(GIS)
  6516. X-Tinguish: Mark Griffith <markgriffith@rocketmail.com>
  6517. X-Treme: C&C,DWS
  6518. X-Newsreader: MR/2 Internet Cruiser Edition for OS/2 v2.31a/31 
  6519. X-Complaints-To: newsabuse@supernews.com
  6520. To: icon-group@cs.arizona.edu
  6521. Errors-To: icon-group-errors@cs.arizona.edu
  6522. Status: RO
  6523.  
  6524. In <aiuh3c$17ne15$2@ID-125932.news.dfncis.de>, on 08/08/2002
  6525.    at 07:34 PM, Christopher Browne <cbbrowne@acm.org> said:
  6526.  
  6527. >That Icon supports backtracking can't be _quite_ enough to deserve
  6528. >interest, as there are more famous languages, such as Prolog, that
  6529. >also support backtracking.
  6530.  
  6531. Prolog supports backtracking for rule matching. Does it also support
  6532. backtracking in procedural code? In Icon the backtracking is
  6533. pervasive.
  6534.  
  6535. -- 
  6536.      Shmuel (Seymour J.) Metz, SysProg and JOAT
  6537.      Atid/2, Team OS/2, Team PL/I
  6538.  
  6539. Any unsolicited commercial junk E-mail will be subject to legal
  6540. action.  I reserve the right to publicly post or ridicule any
  6541. abusive E-mail.
  6542.  
  6543. I mangled my E-mail address to foil automated spammers; reply to
  6544. domain Patriot dot net user shmuel+news to contact me.  Do not
  6545. reply to spamtrap@library.lspace.org
  6546.  
  6547.  
  6548.  
  6549. From icon-group-sender Mon Aug 12 09:23:23 2002
  6550. Return-Path: <icon-group-sender>
  6551. Received: (from root@localhost)
  6552.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGNKE08725
  6553.     for icon-group-addresses; Mon, 12 Aug 2002 09:23:20 -0700 (MST)
  6554. Message-Id: <200208121623.g7CGNKE08725@baskerville.CS.Arizona.EDU>
  6555. From: jenjhiz@yahoo.com (Gene Kahn)
  6556. X-Newsgroups: comp.lang.icon
  6557. Subject: Icon Wish 2
  6558. Date: 11 Aug 2002 07:44:42 -0700
  6559. X-Complaints-To: groups-abuse@google.com
  6560. To: icon-group@cs.arizona.edu
  6561. Errors-To: icon-group-errors@cs.arizona.edu
  6562. Status: RO
  6563.  
  6564. An Icon.NET or a plug-in to the Eclipse development system will give
  6565. Icon good exposure. Plus .NET will provide many libraries that Icon
  6566. may not have access to at this point. Anybody working on these
  6567. projects?
  6568.  
  6569.  
  6570. From icon-group-sender Mon Aug 12 09:23:59 2002
  6571. Return-Path: <icon-group-sender>
  6572. Received: (from root@localhost)
  6573.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGNu608868
  6574.     for icon-group-addresses; Mon, 12 Aug 2002 09:23:56 -0700 (MST)
  6575. Message-Id: <200208121623.g7CGNu608868@baskerville.CS.Arizona.EDU>
  6576. From: jenjhiz@yahoo.com (Gene Kahn)
  6577. X-Newsgroups: comp.lang.icon
  6578. Subject: Re: Icon Wish List
  6579. Date: 11 Aug 2002 07:37:23 -0700
  6580. X-Complaints-To: groups-abuse@google.com
  6581. To: icon-group@cs.arizona.edu
  6582. Errors-To: icon-group-errors@cs.arizona.edu
  6583. Status: RO
  6584.  
  6585. Jesse Tov <tov@fas.harvard.REMOVE.edu> wrote in message news:<slrnal9idp.s9u.tov@tov.student.harvard.edu>...
  6586.  
  6587. > Icon helps you think about problems
  6588. > differently: you come up with a way to recognize a solution, apply it
  6589. > to an expression that generates some solution space, and let Icon
  6590. > search for the right result.
  6591.  
  6592. Can you supply a solution space (other than naturally defined
  6593. sequences and ranges, typically numbers), in particular, a set of
  6594. methods or functions that will return the results that Icon will
  6595. evaluate? That is to say, how abstract are Icon's iterators? (I
  6596. suppose one can pre-call the functions and pre-build the solution
  6597. space in an array or hash.)
  6598.  
  6599. > [Icon] has an interesting flow control paradigm.
  6600.  
  6601. Would you care to elaborate on this one? Thanks.
  6602.  
  6603.  
  6604.  
  6605.  
  6606.  
  6607. Jesse Tov <tov@fas.harvard.REMOVE.edu> wrote in message news:<slrnal9idp.s9u.tov@tov.student.harvard.edu>...
  6608. > Christopher Browne <cbbrowne@acm.org>:
  6609. > > I'd be interested in hearing good answers to that question.  
  6610. > I'm new here, but since this discussion has been far from engaging,
  6611. > I'll contribute what little I can.
  6612. > Why is it worth knowing about Icon?  It's a combination of two main
  6613. > reasons: First, it's a clean, high-level language with especially good
  6614. > string handling capabilities and a reasonable general-purpose feature
  6615. > set; second, it has an interesting flow control paradigm.
  6616. > In many ways, Icon is comparable to other high-level, imperative,
  6617. > dynamically-typed "scripting" languages such as Perl and Python.  You
  6618. > can write programs at about the same level of abstraction, and like
  6619. > Python it can be interpreted or byte-compiled.  It's probably easier
  6620. > to learn than Perl and about the same as Python.  It doesn't have the
  6621. > object oriented features of either, nor the huge library of Perl.
  6622. > None of this alone is sufficient to make it noteworthy, but it's
  6623. > important because this makes it considerably more familiar than
  6624. > Prolog to many of us.
  6625. > What's really interesting is the goal-directed evaluation
  6626. > (backtracking).  This is not in itself new and unique: Prolog and
  6627. > SNOBOL both had this before Icon did, and you can write backtracking
  6628. > in any language.  What's neat about Icon, then, is that it provides
  6629. > this built-in backtracking mechanism in a familar-seeming language.
  6630. > The result is that Icon is easy to learn, and it makes easy to write
  6631. > solutions for search problems.  Icon helps you think about problems
  6632. > differently: you come up with a way to recognize a solution, apply it
  6633. > to an expression that generates some solution space, and let Icon
  6634. > search for the right result.  Of course you could write it in another
  6635. > language, and it might even be more efficient, but like many
  6636. > higher-level languages, Icon seems especially suitable when programmer
  6637. > time is more valuable than computer time.
  6638. > I wouldn't call this "revolutionary," but neither would I call it
  6639. > "trivial."  I call it "cool."  If, like me, you appreciate interesting
  6640. > programming languages, and want to have a variety of tools at your
  6641. > disposal, you may find Icon worth learning about.
  6642. > Jesse
  6643.  
  6644.  
  6645. From icon-group-sender Mon Aug 12 09:25:36 2002
  6646. Return-Path: <icon-group-sender>
  6647. Received: (from root@localhost)
  6648.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGODE08941
  6649.     for icon-group-addresses; Mon, 12 Aug 2002 09:24:13 -0700 (MST)
  6650. Message-Id: <200208121624.g7CGODE08941@baskerville.CS.Arizona.EDU>
  6651. From: Steve Wampler <swampler@noao.edu>
  6652. X-Newsgroups: comp.lang.icon
  6653. Subject: Re: Icon Wish List
  6654. Date: Sun, 11 Aug 2002 10:30:49 -0700
  6655. X-Complaints-To: abuse@noao.edu
  6656. X-Accept-Language: en
  6657. To: icon-group@cs.arizona.edu
  6658. Errors-To: icon-group-errors@cs.arizona.edu
  6659. Status: RO
  6660.  
  6661. Gene Kahn wrote:
  6662. > Jesse Tov <tov@fas.harvard.REMOVE.edu> wrote in message news:<slrnal9idp.s9u.tov@tov.student.harvard.edu>...
  6663. > > Icon helps you think about problems
  6664. > > differently: you come up with a way to recognize a solution, apply it
  6665. > > to an expression that generates some solution space, and let Icon
  6666. > > search for the right result.
  6667. > Can you supply a solution space (other than naturally defined
  6668. > sequences and ranges, typically numbers), in particular, a set of
  6669. > methods or functions that will return the results that Icon will
  6670. > evaluate? That is to say, how abstract are Icon's iterators? 
  6671.  
  6672. Interesting, but what's an "Icon iterator"?  Do you mean generators
  6673. or the operations that can iterate through result sequences (e.g. !).
  6674. You can certainly convert any "non-generator" function (that is one
  6675. that generates exactly one result - all functions in Icon are
  6676. generators, but many are uninteresting as generators...) into one
  6677. that generates multiple results - without having to save all the
  6678. values into a list or table first.  You can use repeated evaluation,
  6679. limitations, and co-expressions to do this.
  6680.  
  6681. Do you have a solution space in mind?
  6682.  
  6683. > > [Icon] has an interesting flow control paradigm.
  6684. > Would you care to elaborate on this one? Thanks.
  6685.  
  6686. I suspect he means that flow control is managed through the
  6687. behavior of the evaluation process (success and failure) instead
  6688. of through the values produced by evaluation.  That is, it's
  6689. perfectly natural to write such things as:
  6690.  
  6691.    if min < x < max then ...
  6692.  
  6693. in Icon without having to result to compilation trickery.
  6694.  
  6695. -- 
  6696. Steve Wampler -- swampler@noao.edu
  6697. The gods that smiled on your birth are now laughing out loud.
  6698.  
  6699.  
  6700. From icon-group-sender Mon Aug 12 09:39:33 2002
  6701. Return-Path: <icon-group-sender>
  6702. Received: (from root@localhost)
  6703.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGdS211394
  6704.     for icon-group-addresses; Mon, 12 Aug 2002 09:39:28 -0700 (MST)
  6705. Message-Id: <200208121639.g7CGdS211394@baskerville.CS.Arizona.EDU>
  6706. From: Jesse Tov <tov@fas.harvard.REMOVE.edu>
  6707. X-Newsgroups: comp.lang.icon
  6708. Subject: Re: Icon Wish List
  6709. Date: 11 Aug 2002 21:28:46 GMT
  6710. User-Agent: slrn/0.9.7.4 (Linux)
  6711. To: icon-group@cs.arizona.edu
  6712. Errors-To: icon-group-errors@cs.arizona.edu
  6713. Status: RO
  6714.  
  6715. Steve Wampler <swampler@noao.edu>:
  6716. > Gene Kahn wrote:
  6717. >> Can you supply a solution space (other than naturally defined
  6718. >> sequences and ranges, typically numbers), in particular, a set of
  6719. >> methods or functions that will return the results that Icon will
  6720. >> evaluate? That is to say, how abstract are Icon's iterators? 
  6721. > Interesting, but what's an "Icon iterator"?  Do you mean generators
  6722. > or the operations that can iterate through result sequences (e.g. !).
  6723. > You can certainly convert any "non-generator" function (that is one
  6724. > that generates exactly one result - all functions in Icon are
  6725. > generators, but many are uninteresting as generators...) into one
  6726. > that generates multiple results - without having to save all the
  6727. > values into a list or table first.  You can use repeated evaluation,
  6728. > limitations, and co-expressions to do this.
  6729. >
  6730. > Do you have a solution space in mind?
  6731.  
  6732. Well, Gene asked if one could use a set of functions.  If,
  6733. for example, you had two Icon values x and y, and a set of
  6734. functions F (stored as their names as strings, since afaik
  6735. Icon doesn't have anonymous functions [there's something for
  6736. the wishlist]), you could easily find a function f in F such
  6737. that y = f(x):
  6738.     y = (f <- !F)(x)
  6739.  
  6740. Here's a pretty trivial program to demonstrate this:
  6741.     # allow string-invocation of procedures
  6742.     invocable all
  6743.  
  6744.     procedure main (args)
  6745.         x := 2
  6746.         Y := [4, 6, 8]
  6747.         F := ["square", "cube"]
  6748.  
  6749.         # Find every (f, y) in F * Y s.t. y = f(x)
  6750.         every (y := !Y) = (f := !F)(x)
  6751.             do write (y, " = ", f, "(2)")
  6752.     end
  6753.  
  6754.     # complicated functions, here
  6755.     procedure square (n)
  6756.         return n * n
  6757.     end
  6758.     procedure cube (n)
  6759.         return n * n * n
  6760.     end
  6761.  
  6762. >> > [Icon] has an interesting flow control paradigm.
  6763. >> 
  6764. >> Would you care to elaborate on this one? Thanks.
  6765. > I suspect he means that flow control is managed through the
  6766. > behavior of the evaluation process (success and failure) instead
  6767. > of through the values produced by evaluation.  That is, it's
  6768. > perfectly natural to write such things as:
  6769. >    if min < x < max then ...
  6770. > in Icon without having to result to compilation trickery.
  6771.  
  6772. By "interesting flow control paradigm", i just meant
  6773. goal-directed evaluation.
  6774.  
  6775. Icon's comparison operators can work the way they do because
  6776. of its notion of failure.  On seeing something like your
  6777. comparison expression above, someone familiar with C once
  6778. asked me, "What if x is 0 and min is negative?" but Icon
  6779. gets around that problem by not using values to represent
  6780. boolean conditions.
  6781.  
  6782. Jesse
  6783. -- 
  6784. "A hungry man is not a free man."         --Adlai Stevenson
  6785.  
  6786.  
  6787. From icon-group-sender Mon Aug 12 09:40:59 2002
  6788. Return-Path: <icon-group-sender>
  6789. Received: (from root@localhost)
  6790.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGeuI11693
  6791.     for icon-group-addresses; Mon, 12 Aug 2002 09:40:57 -0700 (MST)
  6792. Message-Id: <200208121640.g7CGeuI11693@baskerville.CS.Arizona.EDU>
  6793. From: jenjhiz@yahoo.com (Gene Kahn)
  6794. X-Newsgroups: comp.lang.icon
  6795. Subject: Re: Icon Wish List
  6796. Date: 11 Aug 2002 22:40:11 -0700
  6797. X-Complaints-To: groups-abuse@google.com
  6798. To: icon-group@cs.arizona.edu
  6799. Errors-To: icon-group-errors@cs.arizona.edu
  6800. Status: RO
  6801.  
  6802. Steve Wampler asked about the sort of solution space I have in mind.
  6803. That is to say, the value of F in Jesse's program below. In the system
  6804. I'm developing, a user interface gesture, or a process itself, may
  6805. trigger a set of processes (F). A process has preconditions (another
  6806. F), whose values may be determined by running another set of processes
  6807. (yet another F), and postconditions, whose values again may be
  6808. determined by running other processes (yaya F). At times, the
  6809. application may only be interested in the side effects of processes,
  6810. not necessarily in the values returned. For each process, the
  6811. preconditions and postconditions are read in from persistent data.
  6812.  
  6813. As you can see, this spawning of processes by processes can easily set
  6814. off an explosion of running processes that may consume all the
  6815. threads. I'm looking for a language (there probably isn't one) that
  6816. can help me manage such explosions, in ways that I don't even know yet
  6817. how. A deadly-embrace locator at compile time is a must. Processes
  6818. will communicate through message passing, or, through a tuplespace
  6819. (such as Jini/Javaspace -- the only reason I'm learning Java at this
  6820. point).
  6821.  
  6822. Ideas?
  6823. Thanks.
  6824. gk
  6825.  
  6826.  
  6827. Jesse Tov <tov@fas.harvard.REMOVE.edu> wrote in message news:<slrnaldloe.bds.tov@tov.student.harvard.edu>...
  6828. > Steve Wampler <swampler@noao.edu>:
  6829. > > Gene Kahn wrote:
  6830. > >> Can you supply a solution space (other than naturally defined
  6831. > >> sequences and ranges, typically numbers), in particular, a set of
  6832. > >> methods or functions that will return the results that Icon will
  6833. > >> evaluate? That is to say, how abstract are Icon's iterators? 
  6834. > > 
  6835. > > Interesting, but what's an "Icon iterator"?  Do you mean generators
  6836. > > or the operations that can iterate through result sequences (e.g. !).
  6837. > > You can certainly convert any "non-generator" function (that is one
  6838. > > that generates exactly one result - all functions in Icon are
  6839. > > generators, but many are uninteresting as generators...) into one
  6840. > > that generates multiple results - without having to save all the
  6841. > > values into a list or table first.  You can use repeated evaluation,
  6842. > > limitations, and co-expressions to do this.
  6843. > >
  6844. > > Do you have a solution space in mind?
  6845. > Well, Gene asked if one could use a set of functions.  If,
  6846. > for example, you had two Icon values x and y, and a set of
  6847. > functions F (stored as their names as strings, since afaik
  6848. > Icon doesn't have anonymous functions [there's something for
  6849. > the wishlist]), you could easily find a function f in F such
  6850. > that y = f(x):
  6851. >     y = (f <- !F)(x)
  6852. > Here's a pretty trivial program to demonstrate this:
  6853. >     # allow string-invocation of procedures
  6854. >     invocable all
  6855. >     procedure main (args)
  6856. >         x := 2
  6857. >         Y := [4, 6, 8]
  6858. >         F := ["square", "cube"]
  6859. >         # Find every (f, y) in F * Y s.t. y = f(x)
  6860. >         every (y := !Y) = (f := !F)(x)
  6861. >             do write (y, " = ", f, "(2)")
  6862. >     end
  6863. >     # complicated functions, here
  6864. >     procedure square (n)
  6865. >         return n * n
  6866. >     end
  6867. >     procedure cube (n)
  6868. >         return n * n * n
  6869. >     end
  6870. > >> > [Icon] has an interesting flow control paradigm.
  6871. > >> 
  6872. > >> Would you care to elaborate on this one? Thanks.
  6873. > > 
  6874. > > I suspect he means that flow control is managed through the
  6875. > > behavior of the evaluation process (success and failure) instead
  6876. > > of through the values produced by evaluation.  That is, it's
  6877. > > perfectly natural to write such things as:
  6878. > > 
  6879. > >    if min < x < max then ...
  6880. > > 
  6881. > > in Icon without having to result to compilation trickery.
  6882. > By "interesting flow control paradigm", i just meant
  6883. > goal-directed evaluation.
  6884. > Icon's comparison operators can work the way they do because
  6885. > of its notion of failure.  On seeing something like your
  6886. > comparison expression above, someone familiar with C once
  6887. > asked me, "What if x is 0 and min is negative?" but Icon
  6888. > gets around that problem by not using values to represent
  6889. > boolean conditions.
  6890. > Jesse
  6891.  
  6892.  
  6893. From icon-group-sender Mon Aug 12 09:41:24 2002
  6894. Return-Path: <icon-group-sender>
  6895. Received: (from root@localhost)
  6896.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGfME11782
  6897.     for icon-group-addresses; Mon, 12 Aug 2002 09:41:22 -0700 (MST)
  6898. Message-Id: <200208121641.g7CGfME11782@baskerville.CS.Arizona.EDU>
  6899. Date: Mon, 12 Aug 2002 12:23:15 -0400 (EDT)
  6900. From: Taybin Rutkin <trutkin@physics.clarku.edu>
  6901. X-Sender: trutkin@planck.clarku.edu
  6902. To: Cheyenne Wills <cwills@witznd.net>
  6903. cc: Icon Group <icon-group@cs.arizona.edu>
  6904. Subject: Re: Icon Wish List
  6905. Errors-To: icon-group-errors@cs.arizona.edu
  6906. Status: RO
  6907.  
  6908. On 9 Aug 2002, Cheyenne Wills wrote:
  6909.  
  6910. > probably more then anyone really wants to know... (and this is
  6911. > documented in the "Icon Programming Language" book -- for the 3rd ed it
  6912. > starts on page 138.
  6913.  
  6914. Yeah, I've got the books.  Thanks though.
  6915.  
  6916. > binfile := open("somefile","ur")   # Open somefile for binary reading
  6917. > binofile := open("someother","uw") # Open someother file for binary
  6918.  
  6919. What I was wondering was how to just read a little of it.  Like only read
  6920. an integer, and then read the next double, and then a char.  It seemed
  6921. like all the "u" did was just ignore the "\n"s.
  6922.  
  6923. Taybin
  6924.  
  6925.  
  6926.  
  6927. From icon-group-sender Mon Aug 12 09:41:41 2002
  6928. Return-Path: <icon-group-sender>
  6929. Received: (from root@localhost)
  6930.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CGfco11837
  6931.     for icon-group-addresses; Mon, 12 Aug 2002 09:41:38 -0700 (MST)
  6932. Message-Id: <200208121641.g7CGfco11837@baskerville.CS.Arizona.EDU>
  6933. Date: Mon, 12 Aug 2002 12:33:49 -0400 (EDT)
  6934. From: Taybin Rutkin <trutkin@physics.clarku.edu>
  6935. X-Sender: trutkin@planck.clarku.edu
  6936. To: Gregg Townsend <gmt@cs.arizona.edu>
  6937. cc: icon-group@cs.arizona.edu
  6938. Subject: Re: Icon language book available for downloading
  6939. Errors-To: icon-group-errors@cs.arizona.edu
  6940. Status: RO
  6941.  
  6942. On 10 Aug 2002, Gregg Townsend wrote:
  6943.  
  6944. > The standard reference for Icon is "The Icon Programming Language"
  6945. > (third edition) by Ralph and Madge Griswold, sometimes called the
  6946. > "blue book".  As its publishers have turned their attention to other
  6947. > matters, the book has become increasingly difficult to find.  
  6948.  
  6949. I'm really glad that they did this.  I own the book, but it's the "right"
  6950. thing to do.
  6951.  
  6952. Taybin
  6953.  
  6954.  
  6955.  
  6956. From icon-group-sender Mon Aug 12 13:22:41 2002
  6957. Return-Path: <icon-group-sender>
  6958. Received: (from root@localhost)
  6959.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CKMJo19648
  6960.     for icon-group-addresses; Mon, 12 Aug 2002 13:22:19 -0700 (MST)
  6961. Message-Id: <200208122022.g7CKMJo19648@baskerville.CS.Arizona.EDU>
  6962. Subject: Re: Icon Wish List
  6963. To: trutkin@physics.clarku.edu
  6964. Cc: cwills@witznd.net, icon-group@cs.arizona.edu
  6965. From: Chris.D.Tenaglia@jci.com
  6966. Date: Mon, 12 Aug 2002 12:06:00 -0500
  6967. X-MIMETrack: Serialize by Router on jwimkrs1.na.jci.com/NA/Johnson_Controls(Release 5.0.9a
  6968.  |January 7, 2002) at 08/12/2002 12:06:12 PM
  6969. Errors-To: icon-group-errors@cs.arizona.edu
  6970. Status: RO
  6971.  
  6972. To go with the open there is also reads(f,i)
  6973. where f is the file handle and i is the number of bytes to read.
  6974. Also seek(f,i) is supposed to seek i bytes into a file f.
  6975. I believe much of this information is included in appendix D
  6976. the downloadable book.
  6977.  
  6978. Chris Tenaglia, technical analyst, Johnson Controls
  6979.  
  6980.  
  6981.  
  6982.                                                                                                                                  
  6983.                       trutkin@physics.                                                                                           
  6984.                       clarku.edu               To:      cwills@witznd.net                                                        
  6985.                                                cc:      icon-group@CS.Arizona.EDU                                                
  6986.                       08/12/2002 11:23         Subject: Re: Icon Wish List                                                       
  6987.                       AM                                                                                                         
  6988.                                                                                                                                  
  6989.                                                                                                                                  
  6990.  
  6991.  
  6992.  
  6993.  
  6994. On 9 Aug 2002, Cheyenne Wills wrote:
  6995.  
  6996. > probably more then anyone really wants to know... (and this is
  6997. > documented in the "Icon Programming Language" book -- for the 3rd ed it
  6998. > starts on page 138.
  6999.  
  7000. Yeah, I've got the books.  Thanks though.
  7001.  
  7002. > binfile := open("somefile","ur")   # Open somefile for binary reading
  7003. > binofile := open("someother","uw") # Open someother file for binary
  7004.  
  7005. What I was wondering was how to just read a little of it.  Like only read
  7006. an integer, and then read the next double, and then a char.  It seemed
  7007. like all the "u" did was just ignore the "\n"s.
  7008.  
  7009. Taybin
  7010.  
  7011.  
  7012.  
  7013.  
  7014.  
  7015.  
  7016.  
  7017. From icon-group-sender Mon Aug 12 13:23:06 2002
  7018. Return-Path: <icon-group-sender>
  7019. Received: (from root@localhost)
  7020.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CKN4k19773
  7021.     for icon-group-addresses; Mon, 12 Aug 2002 13:23:04 -0700 (MST)
  7022. Message-Id: <200208122023.g7CKN4k19773@baskerville.CS.Arizona.EDU>
  7023. Date: Mon, 12 Aug 2002 10:10:00 -0700
  7024. From: Steve Wampler <swampler@noao.edu>
  7025. X-Accept-Language: en
  7026. To: icon-group@cs.arizona.edu
  7027. Subject: Re: Icon Wish List
  7028. Errors-To: icon-group-errors@cs.arizona.edu
  7029. Status: RO
  7030.  
  7031. Jesse Tov wrote:
  7032. > Well, Gene asked if one could use a set of functions.  If,
  7033. > for example, you had two Icon values x and y, and a set of
  7034. > functions F (stored as their names as strings, since afaik
  7035. > Icon doesn't have anonymous functions [there's something for
  7036. > the wishlist]), you could easily find a function f in F such
  7037. > that y = f(x):
  7038.  
  7039. Actually, Icon has no trouble having sets of functions - I'm not
  7040. quite sure if this means "anonymous functions" or not as I've
  7041. lost track of the evolution of the term, but there is not need
  7042. for requiring the sets to contain the function names.
  7043.  
  7044. Try:
  7045.  
  7046.     procedure main()
  7047.         s := set([cube,square])
  7048.         every write(image(!s))
  7049.     end
  7050.  
  7051.     procedure cube(n)
  7052.        return n*square(n)
  7053.     end
  7054.  
  7055.     procedure square(n)
  7056.        return n*n
  7057.     end
  7058.  
  7059. > By "interesting flow control paradigm", i just meant
  7060. > goal-directed evaluation.
  7061.  
  7062. Oh, ok.  I though you had covered GDE in other comments.
  7063.  
  7064. -- 
  7065. Steve Wampler -- swampler@noao.edu
  7066. The gods that smiled on your birth are now laughing out loud.
  7067.  
  7068.  
  7069. From icon-group-sender Mon Aug 12 13:23:41 2002
  7070. Return-Path: <icon-group-sender>
  7071. Received: (from root@localhost)
  7072.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CKNdQ19914
  7073.     for icon-group-addresses; Mon, 12 Aug 2002 13:23:39 -0700 (MST)
  7074. Message-Id: <200208122023.g7CKNdQ19914@baskerville.CS.Arizona.EDU>
  7075. From: Christopher Browne <cbbrowne@acm.org>
  7076. X-Newsgroups: comp.lang.icon
  7077. Subject: Re: Icon Wish List
  7078. Date: 12 Aug 2002 19:24:30 GMT
  7079. X-Draft-From: ("nnvirtual:Languages" 1060)
  7080. X-Home-Page: http://www.cbbrowne.com/info/
  7081. X-Emacs-Acronym: Ever Made A Control-key Setup?
  7082. Microsoft: With our software, there's no limit to what you can't do!
  7083. X-Shopping-List: 
  7084.    (1) Jubilant hamster-lips
  7085.    (2) Flirtatious indignant remainders
  7086.    (3) Erratic emission chains
  7087. X-Uboat-Death-Message: CLICKED BY THREE DESTROYERS. SINKING. U-235.
  7088. To: icon-group@cs.arizona.edu
  7089. Errors-To: icon-group-errors@cs.arizona.edu
  7090. Status: RO
  7091.  
  7092. In the last exciting episode, "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid> wrote::
  7093. > In <aiuh3c$17ne15$2@ID-125932.news.dfncis.de>, on 08/08/2002
  7094. >    at 07:34 PM, Christopher Browne <cbbrowne@acm.org> said:
  7095. >
  7096. >>That Icon supports backtracking can't be _quite_ enough to deserve
  7097. >>interest, as there are more famous languages, such as Prolog, that
  7098. >>also support backtracking.
  7099. >
  7100. > Prolog supports backtracking for rule matching. Does it also support
  7101. > backtracking in procedural code? In Icon the backtracking is
  7102. > pervasive.
  7103.  
  7104. In Prolog, backtracking is pretty pervasive, but it doesn't really
  7105. _have_ procedural code.
  7106.  
  7107. The lack of "proceduralness" might well be an advantage for Icon...
  7108. -- 
  7109. (reverse (concatenate 'string "gro.mca@" "enworbbc"))
  7110. http://www3.sympatico.ca/cbbrowne/unix.html
  7111. Signs of  a Klingon Programmer -  20. "Behold, the  keyboard of Kalis!
  7112. The greatest Klingon code warrior that ever lived!"
  7113.  
  7114.  
  7115. From icon-group-sender Mon Aug 12 16:31:41 2002
  7116. Return-Path: <icon-group-sender>
  7117. Received: (from root@localhost)
  7118.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CNTxM22574
  7119.     for icon-group-addresses; Mon, 12 Aug 2002 16:30:00 -0700 (MST)
  7120. Message-Id: <200208122330.g7CNTxM22574@baskerville.CS.Arizona.EDU>
  7121. Date: Mon, 12 Aug 2002 16:29:39 -0400 (EDT)
  7122. From: Taybin Rutkin <trutkin@physics.clarku.edu>
  7123. X-Sender: trutkin@planck.clarku.edu
  7124. To: Steve Wampler <swampler@noao.edu>
  7125. cc: icon-group@cs.arizona.edu
  7126. Subject: Re: Icon Wish List
  7127. Errors-To: icon-group-errors@cs.arizona.edu
  7128. Status: RO
  7129.  
  7130. On Mon, 12 Aug 2002, Steve Wampler wrote:
  7131.  
  7132. > Actually, Icon has no trouble having sets of functions - I'm not
  7133. > quite sure if this means "anonymous functions" or not as I've
  7134. > lost track of the evolution of the term, but there is not need
  7135. > for requiring the sets to contain the function names.
  7136.  
  7137. I think anonymous functions mean functions that are created during runtime
  7138. and assigned to a variable.  Which Icon can't do.  Hasn't been a problem
  7139. for me.
  7140.  
  7141. Taybin
  7142.  
  7143.  
  7144.  
  7145. From icon-group-sender Mon Aug 12 16:34:15 2002
  7146. Return-Path: <icon-group-sender>
  7147. Received: (from root@localhost)
  7148.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CNWqk23096
  7149.     for icon-group-addresses; Mon, 12 Aug 2002 16:32:52 -0700 (MST)
  7150. Message-Id: <200208122332.g7CNWqk23096@baskerville.CS.Arizona.EDU>
  7151. X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
  7152. content-class: urn:content-classes:message
  7153. Subject: RE: Icon Wish List
  7154. Date: Mon, 12 Aug 2002 13:50:33 -0700
  7155. X-MS-Has-Attach: 
  7156. X-MS-TNEF-Correlator: 
  7157. Thread-Topic: Icon Wish List
  7158. Thread-Index: AcJCP40fQCYv2IwnQICWUaCxnNiYPgAAhQRQ
  7159. From: "Todd Proebsting" <toddpro@microsoft.com>
  7160. To: "Steve Wampler" <swampler@noao.edu>, <icon-group@cs.arizona.edu>
  7161. X-OriginalArrivalTime: 12 Aug 2002 20:50:34.0762 (UTC) FILETIME=[E7B6CEA0:01C24241]
  7162. X-MIME-Autoconverted: from quoted-printable to 8bit by baskerville.CS.Arizona.EDU id g7CKodw24687
  7163. Errors-To: icon-group-errors@cs.arizona.edu
  7164. Status: RO
  7165.  
  7166. I'm guessing that what Jesse means by "anonymous functions" is what I'd
  7167. mean by "lambda functions."  I.e, a function whose declaration exists
  7168. inside another function and can capture enclosing state.
  7169.  
  7170. I've often wanted lambda functions in Icon...
  7171.  
  7172. Todd
  7173.  
  7174. -----Original Message-----
  7175. From: Steve Wampler [mailto:swampler@noao.edu] 
  7176. Sent: Monday, August 12, 2002 10:10 AM
  7177. To: icon-group@CS.Arizona.EDU
  7178. Subject: Re: Icon Wish List
  7179.  
  7180.  
  7181. Jesse Tov wrote:
  7182. > Well, Gene asked if one could use a set of functions.  If, for 
  7183. > example, you had two Icon values x and y, and a set of functions F 
  7184. > (stored as their names as strings, since afaik Icon doesn't have 
  7185. > anonymous functions [there's something for the wishlist]), you could 
  7186. > easily find a function f in F such that y = f(x):
  7187.  
  7188. Actually, Icon has no trouble having sets of functions - I'm not quite
  7189. sure if this means "anonymous functions" or not as I've lost track of
  7190. the evolution of the term, but there is not need for requiring the sets
  7191. to contain the function names.
  7192.  
  7193. Try:
  7194.  
  7195.     procedure main()
  7196.         s := set([cube,square])
  7197.         every write(image(!s))
  7198.     end
  7199.  
  7200.     procedure cube(n)
  7201.        return n*square(n)
  7202.     end
  7203.  
  7204.     procedure square(n)
  7205.        return n*n
  7206.     end
  7207.  
  7208. > By "interesting flow control paradigm", i just meant goal-directed 
  7209. > evaluation.
  7210.  
  7211. Oh, ok.  I though you had covered GDE in other comments.
  7212.  
  7213. -- 
  7214. Steve Wampler -- swampler@noao.edu
  7215. The gods that smiled on your birth are now laughing out loud.
  7216.  
  7217.  
  7218.  
  7219. From icon-group-sender Mon Aug 12 16:35:51 2002
  7220. Return-Path: <icon-group-sender>
  7221. Received: (from root@localhost)
  7222.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7CNYSs23398
  7223.     for icon-group-addresses; Mon, 12 Aug 2002 16:34:28 -0700 (MST)
  7224. Message-Id: <200208122334.g7CNYSs23398@baskerville.CS.Arizona.EDU>
  7225. Subject: Re: Icon Wish List
  7226. From: Cheyenne Wills <cwills@witznd.net>
  7227. To: Chris.D.Tenaglia@jci.com
  7228. Cc: trutkin@physics.clarku.edu, Icon Group <icon-group@cs.arizona.edu>
  7229. Date: 12 Aug 2002 17:21:10 -0600
  7230. Errors-To: icon-group-errors@cs.arizona.edu
  7231. Status: RO
  7232.  
  7233. And I think to finish out the question... reads returns a string, which
  7234. actually contains binary data.  You will have to convert the binary data
  7235. into an Icon datatype that is apporiate.  You will have to take into
  7236. consideration the "format" of the data (big-endian, number of bytes
  7237. used, etc.)  The conversion can be "messy" usually involving the ord
  7238. function.
  7239.  
  7240. Cheyenne
  7241.  
  7242.  
  7243. On Mon, 2002-08-12 at 11:06, Chris.D.Tenaglia@jci.com wrote:
  7244. > To go with the open there is also reads(f,i)
  7245. > where f is the file handle and i is the number of bytes to read.
  7246. > Also seek(f,i) is supposed to seek i bytes into a file f.
  7247. > I believe much of this information is included in appendix D
  7248. > the downloadable book.
  7249. > Chris Tenaglia, technical analyst, Johnson Controls
  7250. >                                                                                                                                  
  7251. >                       trutkin@physics.                                                                                           
  7252. >                       clarku.edu               To:      cwills@witznd.net                                                        
  7253. >                                                cc:      icon-group@CS.Arizona.EDU                                                
  7254. >                       08/12/2002 11:23         Subject: Re: Icon Wish List                                                       
  7255. >                       AM                                                                                                         
  7256. >                                                                                                                                  
  7257. >                                                                                                                                  
  7258. > On 9 Aug 2002, Cheyenne Wills wrote:
  7259. > > probably more then anyone really wants to know... (and this is
  7260. > > documented in the "Icon Programming Language" book -- for the 3rd ed it
  7261. > > starts on page 138.
  7262. > Yeah, I've got the books.  Thanks though.
  7263. > > binfile := open("somefile","ur")   # Open somefile for binary reading
  7264. > > binofile := open("someother","uw") # Open someother file for binary
  7265. > What I was wondering was how to just read a little of it.  Like only read
  7266. > an integer, and then read the next double, and then a char.  It seemed
  7267. > like all the "u" did was just ignore the "\n"s.
  7268. > Taybin
  7269.  
  7270.  
  7271.  
  7272. From icon-group-sender Tue Aug 13 07:32:12 2002
  7273. Return-Path: <icon-group-sender>
  7274. Received: (from root@localhost)
  7275.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7DEWAo09999
  7276.     for icon-group-addresses; Tue, 13 Aug 2002 07:32:10 -0700 (MST)
  7277. Message-Id: <200208131432.g7DEWAo09999@baskerville.CS.Arizona.EDU>
  7278. From: "Jan A. Staecker" <Jan@Staecker.com>
  7279. To: "'Gene Kahn'" <jenjhiz@yahoo.com>
  7280. Cc: <icon-group@cs.arizona.edu>
  7281. Subject: AW: Icon Wish 2 
  7282. Date: Tue, 13 Aug 2002 06:44:42 +0200
  7283. X-Priority: 3 (Normal)
  7284. X-MSMail-Priority: Normal
  7285. importance: Normal
  7286. X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
  7287. X-OriginalArrivalTime: 13 Aug 2002 04:42:52.0239 (UTC) FILETIME=[E22AA5F0:01C24283]
  7288. X-MIME-Autoconverted: from quoted-printable to 8bit by baskerville.CS.Arizona.EDU id g7D4gxw06131
  7289. Errors-To: icon-group-errors@cs.arizona.edu
  7290. Status: RO
  7291.  
  7292.  
  7293. Moving Icon to Icon.NET would be great!
  7294.  
  7295. I would be very happy 
  7296. using Icon again for my business.
  7297.  
  7298. Your
  7299. Jan Staecker
  7300.  
  7301. > -----Ursprⁿngliche Nachricht-----
  7302. > Von: Gene Kahn [mailto:jenjhiz@yahoo.com] 
  7303. > Gesendet: Sonntag, 11. August 2002 16:45
  7304. > An: icon-group@CS.Arizona.EDU
  7305. > Betreff: Icon Wish 2
  7306. > An Icon.NET or a plug-in to the Eclipse development system 
  7307. > will give Icon good exposure. Plus .NET will provide many 
  7308. > libraries that Icon may not have access to at this point. 
  7309. > Anybody working on these projects?
  7310.  
  7311.  
  7312.  
  7313. From icon-group-sender Tue Aug 13 07:31:57 2002
  7314. Return-Path: <icon-group-sender>
  7315. Received: (from root@localhost)
  7316.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7DEVbI09976
  7317.     for icon-group-addresses; Tue, 13 Aug 2002 07:31:37 -0700 (MST)
  7318. Message-Id: <200208131431.g7DEVbI09976@baskerville.CS.Arizona.EDU>
  7319. Date: Tue, 13 Aug 2002 11:07:46 +1200 (NZST)
  7320. From: "Richard A. O'Keefe" <ok@cs.otago.ac.nz>
  7321. To: icon-group@cs.arizona.edu, spamtrap@library.lspace.org.invalid
  7322. Subject: Re: Icon Wish List
  7323. Errors-To: icon-group-errors@cs.arizona.edu
  7324. Status: RO
  7325.  
  7326. "Shmuel (Seymour J.) Metz" <spamtrap@library.lspace.org.invalid> wrote:
  7327.     Prolog supports backtracking for rule matching. Does it also support
  7328.     backtracking in procedural code? In Icon the backtracking is
  7329.     pervasive.
  7330.     
  7331. I wrote a textbook about Prolog.  I don't know quite what you mean by
  7332. rule matching.  Quite unlike Icon or SNOBOL, where backtracking is only
  7333. available in certain contexts, Prolog has backtracking EVERYWHERE.
  7334.  
  7335.  
  7336.  
  7337. From icon-group-sender Tue Aug 13 12:28:40 2002
  7338. Return-Path: <icon-group-sender>
  7339. Received: (from root@localhost)
  7340.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7DJRjw20228
  7341.     for icon-group-addresses; Tue, 13 Aug 2002 12:27:46 -0700 (MST)
  7342. Message-Id: <200208131927.g7DJRjw20228@baskerville.CS.Arizona.EDU>
  7343. Date: Tue, 13 Aug 2002 10:48:05 -0700 (MST)
  7344. From: Gregg Townsend <gmt@cs.arizona.edu>
  7345. To: ian@mecenia.org, icon-group@cs.arizona.edu
  7346. Subject: Re: Calling Icon from C program [..]
  7347. Errors-To: icon-group-errors@cs.arizona.edu
  7348. Status: RO
  7349.  
  7350. >  From: Ian Trudel <ian@mecenia.org>
  7351. >  
  7352. >      [quoting the Icon 9.0 documentation]
  7353. >        "The ability to configure Icon so that Icon procedures can
  7354. >          be called from a C program has been eliminated."
  7355. >  
  7356. >  why this yet desirable feature has been pulled out?
  7357.  
  7358. It was difficult to use, and beyond an experiment around 1985
  7359. I don't anyone using or even testing it.
  7360.  
  7361. What probably happened (I don't truly remember) was that the code
  7362. interfered with some other work and it would have taken significant
  7363. additional effort to keep "calls from C" working -- assuming that
  7364. it still worked then, which is questionable.
  7365.  
  7366. ---------------------------------------------------------------------------
  7367. Gregg Townsend         Staff Scientist      The University of Arizona
  7368. gmt@cs.arizona.edu     Computer Science     Tucson, Arizona, USA
  7369.  
  7370.  
  7371.  
  7372. From icon-group-sender Tue Aug 13 16:44:22 2002
  7373. Return-Path: <icon-group-sender>
  7374. Received: (from root@localhost)
  7375.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7DNi5Y29407
  7376.     for icon-group-addresses; Tue, 13 Aug 2002 16:44:05 -0700 (MST)
  7377. Message-Id: <200208132344.g7DNi5Y29407@baskerville.CS.Arizona.EDU>
  7378. X-Sender: whm@mail.mse.com
  7379. Date: Tue, 13 Aug 2002 13:24:50 -0700
  7380. To: icon-group@cs.arizona.edu
  7381. From: "William H. Mitchell" <whm@mse.com>
  7382. Subject: Re: Icon Wish List [backtracking]
  7383. Errors-To: icon-group-errors@cs.arizona.edu
  7384. Status: RO
  7385.  
  7386. At 11:07 AM 8/13/02 +1200, Richard A. O'Keefe wrote:
  7387. >    
  7388. >I wrote a textbook about Prolog.  I don't know quite what you mean by
  7389. >rule matching.  Quite unlike Icon or SNOBOL, where backtracking is only
  7390. >available in certain contexts, Prolog has backtracking EVERYWHERE.
  7391.  
  7392. I'd say that Icon, too, has backtracking everywhere, but a number of
  7393. constructs in the language limit backtracking, when used.  You can write an
  7394. Icon program that will backtrack from within an epsilon of completion of an
  7395. arbitrary computation, assuming the proper constructs are used, such as
  7396. "suspend"ing from procedures instead of "return"ing, using reversible
  7397. assignment, using list concatenation and sections instead of
  7398. get/push/pull/, and so forth and so on.
  7399.  
  7400. But I'll agree that it's far more straightforward to achieve full and free
  7401. backtracking in Prolog.  My view is that in Icon you have to think to
  7402. achieve large-scale backtracking and in Prolog you have to think when you
  7403. want to avoid backtracking.
  7404.  
  7405.  
  7406.  
  7407. From icon-group-sender Thu Aug 15 08:43:46 2002
  7408. Return-Path: <icon-group-sender>
  7409. Received: (from root@localhost)
  7410.     by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7FFg1g26589
  7411.     for icon-group-addresses; Thu, 15 Aug 2002 08:42:01 -0700 (MST)
  7412. Message-Id: <200208151542.g7FFg1g26589@baskerville.CS.Arizona.EDU>
  7413. From: Hrvoje Blazevic <hrvoje@despammed.com>
  7414. X-Newsgroups: comp.lang.icon
  7415. Subject: Re: Icon Wish List
  7416. Date: Thu, 15 Aug 2002 02:31:48 +0200
  7417. X-Complaints-To: abuse@hinet.hr
  7418. User-Agent: Pan/0.11.2 (Unix)
  7419. X-Comment-To: "ernobe" <ernobe@msn.com>
  7420. To: icon-group@cs.arizona.edu
  7421. Errors-To: icon-group-errors@cs.arizona.edu
  7422. Status: RO
  7423.  
  7424. On Fri, 02 Aug 2002 18:46:43 +0200, ernobe wrote:
  7425.  
  7426. > I wish you luck in your endeavour.  Icon is superior, and I realize that
  7427. > showing how superior it already is in practice will not necessarily
  7428. > allow it to "take off".  It will need to advertize itself, so to speak.
  7429. >      The only other computer language that I know of which uses
  7430. >      expressions is
  7431. > Terse (www.terse.com) an expression-based assembly language.  It is
  7432. > easier to program in than C or Assembly.   I wonder why Icon can't
  7433. > become or is not considered a more low-level language.  That would
  7434. > certainly raise brows.  It would not take-off.   It would launch.
  7435.  
  7436. I must be missing something here. Icon (and terse) the only languages
  7437. using expressions? How about Scheme -- or for that matter the whole
  7438. functional camp?
  7439.  
  7440.  
  7441.