1. RE: Let me try once more
- Posted by Chris Bensler <bensler at mailops.com> Jan 28, 2001
- 622 views
Hi George, I did get your prog from the other list, and I tried it. Pretty nifty. I don't understand what the problem is exactly though.. The .ini is NOT part of the source and shouldn't be shrouded OR bound. No reason it would be.. It doesn't contain EU commands.. or is this what your aiming at? To have it contain EU code? The way you have it set up, it should work A.OK as a bound exe. Chris ghenryca at LYCOS.COM wrote: > Hi all, > > I sent this (under different subject heading) during the transition from > MUOHIO to Topica. I think it got through. Maybe not. > > Anyone who understands and cares please respond. No response will be > taken at face value, no hard feelings. > > Best regards, > George > > --------- Forwarded Message --------- > > DATE: Fri, 26 Jan 2001 21:16:15 > From: "George Henry" <ghenryca at lycos.com> > To: "Euphoria" <euphoria at LISTSERV.MUOHIO.EDU> > > Hello, everyone. > > I said I would try to work up a demo of my idea concerning portions of a > program being unshrouded/unbound and modifiable by users, or by the > program itself. After some rather indelicate surgery, here it is. I have > tested it and I believe it illustrates the concept adequately. > > There are two files, demo.exw and demo.ini. The program creates two > windows, which can be docked together in a couple of different ways, or > they can be moved independently. By clicking the "Save and Exit" button, > you can save the current docking option and the current window positions > in demo.ini, in the form of code that will be run the next time the > program is started up. > > Comments are purposely minimal, and focused on the idea I am trying to > illustrate. You will need Win32Lib to run the program; I am using > version 0.55. I will try to answer all pertinent questions. > > Thanks, > George > > > Get your small business started at Lycos Small Business at > http://www.lycos.com/business/mail.html > --------- End Forwarded Message --------- > > > > Get your small business started at Lycos Small Business at > http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
2. RE: Let me try once more
- Posted by George Henry <ghenryca at LYCOS.COM> Jan 28, 2001
- 592 views
Hi Chris, Thanks for repsonding. Yes I think the window docking is pretty nifty, too, but of course that isn't the point. The .ini file (hereinafter called a config file, as the extension .ini may be confusing due to its use by Micro$oft programs) IS executable Euphoria code, and it SHOULD BE (forever) executable Euphoria code. Why should I [need to] write an interpreter (of any sort, or level of sophistication), when the Euphoria interpreter serves perfectly well for the purpose - in the context of my program, at least? The Euphoria reference manual states: "*Shrouding* combines all of the .e files that your program needs, along with your main file to create a single .ex, .exw, or .exu file. Comments are stripped out and variable and routine names are converted into short meaningless names. You can also apply a "scrambling" algorithm to further improve security and make your program tamper-proof. *Binding* combines your shrouded/scrambled program with ex.exe, exw.exe, or exu to create a single, stand-alone executable (.exe) file. For example, if your program is called "myprog.ex" you can create "myprog.exe" which will run identically." - where ** delimit words that are bold in the doc. So if I shroud, then ALL of my source files, including the config file(s), will be shrouded - NOT desirable. The .ini file is being rewritten by the program (whenever you click the Save and Exit button). In general, I insist that my config files be a. forever separate files; b. human-readable and -modifiable; c. program-readable and -modifiable; and d. interpretable by their target program(s). It is the combining of requirements a, b, and c with requirement d that is made unreasonably dificult by shrouding and binding as they currently work (according to the documentation; I am still using the PD version of Euphoria, so I haven't had any direct experience with them). In other words, if I shroud and bind, I lose features a, b, and c (the modification part, anyway) completely, unless I undertake to write an interpreter for the config files. And again, I ask, why should I have to do that? My intent is not to be in any way critical of the existing implementation, because one cannot anticipate all the reasonable ways in which users will want to use software. But I wonder if Rob would consider adding to shroud and bind the ability to exclude selected source files, and to exclude selected identifiers from the shrouding process, thus enabling them to be accessed by code in unshrouded files? This would facilitate the usage of config files in the form of Euphoria source, which I think is a very valuable feature. If anyone thinks it is NOT a valuable feature, please show me an equivalent alternative that makes better sense. In other words, what is a better way to configure a program (by initializing variables and calling routines) from an external file, that can be modified in text form by users or by programs? George -- On Sun, 28 Jan 2001 06:51:27 Chris Bensler wrote: >Hi George, > > I did get your prog from the other list, and I tried it. Pretty nifty. > >I don't understand what the problem is exactly though.. >The .ini is NOT part of the source and shouldn't be shrouded OR bound. >No reason it would be.. >It doesn't contain EU commands.. or is this what your aiming at? To have >it contain EU code? >The way you have it set up, it should work A.OK as a bound exe. > >Chris > >ghenryca at LYCOS.COM wrote: >> Hi all, >> >> I sent this (under different subject heading) during the transition from >> MUOHIO to Topica. I think it got through. Maybe not. >> >> Anyone who understands and cares please respond. No response will be >> taken at face value, no hard feelings. >> >> Best regards, >> George >> >> --------- Forwarded Message --------- >> >> DATE: Fri, 26 Jan 2001 21:16:15 >> From: "George Henry" <ghenryca at lycos.com> >> To: "Euphoria" <euphoria at LISTSERV.MUOHIO.EDU> >> >> Hello, everyone. >> >> I said I would try to work up a demo of my idea concerning portions of a >> program being unshrouded/unbound and modifiable by users, or by the >> program itself. After some rather indelicate surgery, here it is. I have >> tested it and I believe it illustrates the concept adequately. >> >> There are two files, demo.exw and demo.ini. The program creates two >> windows, which can be docked together in a couple of different ways, or >> they can be moved independently. By clicking the "Save and Exit" button, >> you can save the current docking option and the current window positions >> in demo.ini, in the form of code that will be run the next time the >> program is started up. >> >> Comments are purposely minimal, and focused on the idea I am trying to >> illustrate. You will need Win32Lib to run the program; I am using >> version 0.55. I will try to answer all pertinent questions. >> >> Thanks, >> George >> >> >> Get your small business started at Lycos Small Business at >> http://www.lycos.com/business/mail.html >> --------- End Forwarded Message --------- >> >> >> >> Get your small business started at Lycos Small Business at >> http://www.lycos.com/business/mail.html > >____________________________________________________________ >T O P I C A -- Learn More. Surf Less. >Newsletters, Tips and Discussions on Topics You Choose. >http://www.topica.com/partner/tag01 > > Get your small business started at Lycos Small Business at http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
3. RE: Let me try once more
- Posted by Kat <gertie at PELL.NET> Jan 28, 2001
- 583 views
On 28 Jan 2001, at 8:42, George Henry wrote: > Hi Chris, > > Thanks for repsonding. Yes I think the window docking is pretty nifty, too, > but of course that isn't the point. > > The .ini file (hereinafter called a config file, as the extension .ini may be > confusing due to its use by Micro$oft programs) IS executable Euphoria code, > and it SHOULD BE (forever) executable Euphoria code. Why should I [need to] > write an interpreter (of any sort, or level of sophistication), when the > Euphoria interpreter serves perfectly well for the purpose - in the context of > my program, at least? > > The Euphoria reference manual states: "*Shrouding* combines all of the .e > files that your program needs, along with your main file to create a single > .ex, .exw, or .exu file. Comments are stripped out and variable and routine > names are converted into short meaningless names. You can also apply a > "scrambling" algorithm to further improve security and make your program > tamper-proof. *Binding* combines your shrouded/scrambled program with ex.exe, > exw.exe, or exu to create a single, stand-alone executable (.exe) file. For > example, if your program is called "myprog.ex" you can create "myprog.exe" > which will run identically." - where ** delimit words that are bold in the > doc. > > So if I shroud, then ALL of my source files, including the config file(s), > will be shrouded - NOT desirable. The .ini file is being rewritten by the > program (whenever you click the Save and Exit button). In general, I insist > that my config files be a. forever separate files; b. human-readable and > -modifiable; c. program-readable and -modifiable; and d. interpretable by > their target program(s). It is the combining of requirements a, b, and c with > requirement d that is made unreasonably dificult by shrouding and binding as > they currently work (according to the documentation; I am still using the PD > version of Euphoria, so I haven't had any direct experience with them). In > other words, if I shroud and bind, I lose features a, b, and c (the > modification part, anyway) completely, unless I undertake to write an > interpreter for the config files. And again, I ask, why should I have to do > that? > > My intent is not to be in any way critical of the existing implementation, > because one cannot anticipate all the reasonable ways in which users will want > to use software. But I wonder if Rob would consider adding to shroud and bind > the ability to exclude selected source files, and to exclude selected > identifiers from the shrouding process, thus enabling them to be accessed by > code in unshrouded files? This would facilitate the usage of config files in > the form of Euphoria source, which I think is a very valuable feature. > > If anyone thinks it is NOT a valuable feature, please show me an equivalent > alternative that makes better sense. In other words, what is a better way to > configure a program (by initializing variables and calling routines) from an > external file, that can be modified in text form by users or by programs? Yeas, what you are saying (imho) smells like the ability to gets() a string the user wrote in Eu syntax, and have Eu execute it, on existing global vars and declared local vars. Again,,,, Robert? Kat ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
4. RE: Let me try once more
- Posted by John Cage <drcage2000 at YAHOO.COM> Jan 28, 2001
- 594 views
> Yeas, what you are saying (imho) smells like the > ability to gets() a string > the user wrote in Eu syntax, and have Eu execute it, > on existing global > vars and declared local vars. Again,,,, Robert? > > Kat Ha.....haaa......haaaaaatcchhooooo! *cough* -Dynamic Interpretation- *cough* Mike The Spike __________________________________________________ Do You Yahoo!? Yahoo! Auctions - Buy the things you want at great prices. http://auctions.yahoo.com/ ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
5. RE: Let me try once more
- Posted by George Henry <ghenryca at LYCOS.COM> Jan 28, 2001
- 598 views
> >Yeas, what you are saying (imho) smells like the ability to gets() a string >the user wrote in Eu syntax, and have Eu execute it, on existing global >vars and declared local vars. Again,,,, Robert? > >Kat Hi Kat, Actually no that is not what I am saying. We already discussed that, Rob said he wasn't interested in implementing it (though it MIGHT be a nice feature), and I accepted that. My interest in that feature was mild at best. What I have in mind here (please look at the source I attached) involves only source *files*, and requires no modification to the interpreter. It is strictly a shroud-and-bind issue. George Get your small business started at Lycos Small Business at http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
6. RE: Let me try once more
- Posted by Kat <gertie at PELL.NET> Jan 28, 2001
- 572 views
On 28 Jan 2001, at 11:06, George Henry wrote: > > > >Yeas, what you are saying (imho) smells like the ability to gets() a string > >the user wrote in Eu syntax, and have Eu execute it, on existing global vars > >and declared local vars. Again,,,, Robert? > > > >Kat > > Hi Kat, > > Actually no that is not what I am saying. We already discussed that, Rob said > he wasn't interested in implementing it (though it MIGHT be a nice feature), > and I accepted that. My interest in that feature was mild at best. > > What I have in mind here (please look at the source I attached) involves only > source *files*, and requires no modification to the interpreter. It is > strictly a shroud-and-bind issue. So you do not wish to gets() a line or read() a file and exec it from a properly shrouded and bound Eu exe? <blink> Kat ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
7. RE: Let me try once more
- Posted by John Cage <drcage2000 at YAHOO.COM> Jan 28, 2001
- 579 views
> So you do not wish to gets() a line or read() a file > and exec it from a > properly shrouded and bound Eu exe? <blink> > > Kat Don't mind him, Kat. He's the type of guy that prevents Rob from implement the features us AI coders are asking for. These people like, write their first program in Eu, a Hello World program, and when someone asks for a new feature in Eu, these people say "I don't need that! I never felt inclined to use such a feature". And interpreter that can't interpret dynamically will never make it. I know how Eu's interpreter works, and it wouldn't be that hard to implement this. Rob should create a new 'int *code;' array wich holds to addresses of variables and opcodes (like ADD, etc.) whenever interpret() or run() or whatever is called. This way us Eu coders can implement fast programming languages of our own, code extremely powerfull AI algos that modefy their own code, load and call Euphoria routines from disk as DLLs, apply our own encryption to our Euphoria program components, dynamically re-write parts of our program while it is allready running, etc... Euphoria has a LIGHTNING FAST top-down descent parse that makes it possible for Euphoria program to get the best Dynamic Interpretation ever seen. In a fraction of a fraction of a second, your dynamic code will be running. I'd personally like to see it implemented as a 'load()' routine, wich would work like this; integer MyFoo MyFoo = load( "procedure MyFoo() puts(1,\"FOO!\") end procedure" ) call_proc(MyFoo,{}) So that you could do this if ya want; integer fptr fptr = open("dll.txt","w") puts(fptr,"procedure MyFoo() puts(1,\"FOO!\") end procedure\n") call_func(load(gets(fptr)) Cool huh? Mike The Spike __________________________________________________ Do You Yahoo!? Yahoo! Auctions - Buy the things you want at great prices. http://auctions.yahoo.com/ ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
8. RE: Let me try once more
- Posted by George Henry <ghenryca at LYCOS.COM> Jan 28, 2001
- 623 views
- Last edited Jan 29, 2001
>So you do not wish to gets() a line or read() a file and exec it from a >properly shrouded and bound Eu exe? <blink> > >Kat No, I wish to *include* (in the normal sense) an unshrouded, unbound file. Here is a rough outline of the program I attached, as a zipfile, to my original message: -- Main program, shrouded and bound .. -- Routine to rewrite config.ini based on user input: procedure rewrite_config() .. end procedure .. -- to maintain configuration from one execution to the next: include confgi.ini -- NOT shrouded/bound ... Like that. George Get your small business started at Lycos Small Business at http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
9. RE: Let me try once more
- Posted by Kat <gertie at PELL.NET> Jan 28, 2001
- 587 views
- Last edited Jan 29, 2001
On 28 Jan 2001, at 19:24, George Henry wrote: > >So you do not wish to gets() a line or read() a file and exec it from a > >properly shrouded and bound Eu exe? <blink> > > > >Kat > > No, I wish to *include* (in the normal sense) an unshrouded, unbound file. > Here is a rough > outline of the program I attached, as a zipfile, to my original message: > > -- Main program, shrouded and bound > ... > -- Routine to rewrite config.ini based on user input: > procedure rewrite_config() > ... > end procedure > ... > -- to maintain configuration from one execution to the next: > include confgi.ini -- NOT shrouded/bound > .... Rather than the same config.ini file, read in with "read()" rather than "include", and Eu executes calls to procedures and functions in the read sequence rather then the include. So the file can be re-read if changed, without shutting the program down so it can re-include the file... your approach, no personal offence intended, sounds like windoze: if you change something, you must reboot. Arrrgggg. Ok. But it's moot anyhow, since Robert has nixed it. Kat, <still pleading> it's *very* useful in Ai languages, and i use it in critical learning points in mirc. It would be the easiest way in the world to do totally custom and unforseen spreadsheets. ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
10. RE: Let me try once more
- Posted by Chris Bensler <bensler at mailops.com> Jan 29, 2001
- 576 views
It WAS me who posted that, and am VERY sorry.. In my haste to get my idea across, I didn't think about how large the file was.. or the fact that I could've simply made my own demonstration that would've probably been a lot easier for others to comprehend as well.. On the note of YOUR post, I was not offended one tiny bit.. I understood fully what you were trying to convey. Further more, I saw no hostility in it.. Please forgive me all... and not hours after someone privately emailed me about the possiblity of limiting the size of attachments on the LIST!!! My bad Chris ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
11. RE: Let me try once more
- Posted by Chris Bensler <bensler at mailops.com> Jan 29, 2001
- 630 views
I think this could be invaluable.. Self modifying progs!! Woo hoo!! I'd love it.. I've dabble a tad with evolving progs.. and there' no better way to build a speach prog for one. I've wanted to build a sort of game that would have user built robots that would learn through experience.. Not possible in EU.. without writing my own scripting language.. How about an OS that knows whose using the comp, and can adjust specifically to suit their needs/preference of operation.. It could learn exactly how you want the comp to start up, and what you want to do.. It could even learn what you don't want and get rid of it for you!! True, this could be implemented through cfg. files, but not nearly as intimately.. not to mention, people could tamper with the cfg's How about chaos based AI's in games? As it is, you play any game there is out there, and soon you WILL master it.. what if the COMP could master you?! Anaihilating you every time!! (how do you spell that?) Sure, they say that the AI's can learn nowadays, but they are still limited to whatever the programmer has thought up in the first place.. They just change their tactics.. Off the topic of AI applications.. What about user designed routines? With this ability, you could allow users to modify their apps to suit THEM specifically.. Like macros.. How 'bout plugins? Hmm, have had other ideas in the past, but they escape me now.. Chris Kat wrote: > <still pleading> it's *very* useful in Ai languages, and i use it in > critical learning points > in mirc. It would be the easiest way in the world to do totally custom > and unforseen > spreadsheets. ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
12. RE: Let me try once more
- Posted by George Henry <ghenryca at LYCOS.COM> Jan 29, 2001
- 599 views
Hi Kat, "My way" just happens to be what I need and wish to do at the moment. If I were working on a project like yours, "my way" might be exactly what you are lobbying for. If you're doing AI, why not use Lisp? I understand there are some good free implementations.... George -- On Sun, 28 Jan 2001 21:11:43 Kat wrote: .. [skipping my own verbiage] ... >Rather than the same config.ini file, read in with "read()" rather than >"include", and Eu >executes calls to procedures and functions in the read sequence rather then the > >include. So the file can be re-read if changed, without shutting the program >down so it >can re-include the file... your approach, no personal offence intended, sounds >like >windoze: if you change something, you must reboot. Arrrgggg. > >Ok. > >But it's moot anyhow, since Robert has nixed it. > >Kat, ><still pleading> it's *very* useful in Ai languages, and i use it in critical >learning points >in mirc. It would be the easiest way in the world to do totally custom and >unforseen >spreadsheets. Get your small business started at Lycos Small Business at http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
13. RE: Let me try once more
- Posted by George Henry <ghenryca at LYCOS.COM> Jan 29, 2001
- 579 views
Not trying to discourage anyone from programming In Euphoria, but y'all with all the great (or at least great-sounding) ideas for self-modifying programs would have a lot more impact, I think, if you could write something like, "I implemented 'Dweeble the Frot' in *Lisp* -- it's this great program that reveals the mysteries of life after running for 142,000 hours on this old Cray 1 I bought at Army-Navy Surplus, and I surely would like to translate it into Euphoria, only it is SELF-MODIFYING, you see, and it won't work any other way, and Euphoria doesn't support that!" (Silly example not intended to be sarcastic or negative in any way.) Sounds like I'm pushing Lisp, but all I'm saying is, there are perfectly good languages for doing what you propose, and unless/until Rob changes his mind about executing code-as-data, Euphoria isn't one of them. George -- On Mon, 29 Jan 2001 07:47:01 Chris Bensler wrote: >I think this could be invaluable.. >Self modifying progs!! Woo hoo!! I'd love it.. > >I've dabble a tad with evolving progs.. and there' no better way to >build a speach prog for one. > >I've wanted to build a sort of game that would have user built robots >that would learn through experience.. Not possible in EU.. without >writing my own scripting language.. > >How about an OS that knows whose using the comp, and can adjust >specifically to suit their needs/preference of operation.. >It could learn exactly how you want the comp to start up, and what you >want to do.. It could even learn what you don't want and get rid of it >for you!! >True, this could be implemented through cfg. files, but not nearly as >intimately.. not to mention, people could tamper with the cfg's > >How about chaos based AI's in games? As it is, you play any game there >is out there, and soon you WILL master it.. what if the COMP could >master you?! Anaihilating you every time!! (how do you spell that?) >Sure, they say that the AI's can learn nowadays, but they are still >limited to whatever the programmer has thought up in the first place.. >They just change their tactics.. > >Off the topic of AI applications.. >What about user designed routines? With this ability, you could allow >users to modify their apps to suit THEM specifically.. Like macros.. > >How 'bout plugins? > > >Hmm, have had other ideas in the past, but they escape me now.. > >Chris > > >Kat wrote: >> <still pleading> it's *very* useful in Ai languages, and i use it in >> critical learning points >> in mirc. It would be the easiest way in the world to do totally custom >> and unforseen >> spreadsheets. > >____________________________________________________________ >T O P I C A -- Learn More. Surf Less. >Newsletters, Tips and Discussions on Topics You Choose. >http://www.topica.com/partner/tag01 > > Get your small business started at Lycos Small Business at http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
14. RE: Let me try once more
- Posted by Mike The Spike <mtsreborn at yahoo.com> Jan 29, 2001
- 573 views
--- George Henry <ghenryca at LYCOS.COM> wrote: > Hi Kat, > > "My way" just happens to be what I need and wish to > do at the moment. If I were working on a project > like yours, "my way" might be exactly what you are > lobbying for. > > If you're doing AI, why not use Lisp? I understand > there are some good free implementations.... If you are doing crappy programs, why not use CRAP? I am working on a Computer Raping & Application Programming language, it's a good free implementation... Mike The Spike __________________________________________________ Do You Yahoo!? Yahoo! Auctions - Buy the things you want at great prices. http://auctions.yahoo.com/ ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
15. RE: Let me try once more
- Posted by Kat <gertie at PELL.NET> Jan 29, 2001
- 576 views
- Last edited Jan 30, 2001
On 29 Jan 2001, at 17:08, George Henry wrote: > Hi Kat, > > "My way" just happens to be what I need and wish to do at the moment. If I > were working on > a project like yours, "my way" might be exactly what you are lobbying for. > > If you're doing AI, why not use Lisp? I understand there are some good free > implementations.... I don't like the implementation of objects, the restriction on the number of them, or the syntax of the language (if you can call it that). To me, the language should be a aide to the programmer, not something she must overcome to get something done. Kat ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
16. RE: Let me try once more
- Posted by Chris Bensler <bensler at mailops.com> Jan 29, 2001
- 614 views
- Last edited Jan 30, 2001
So what you're saying is... I should code the body of my code in EU, and try and figure out a way to incorperate that with Lisp as well? Why not just use C? This would be another language I would have to go through to achieve that goal.. If I'm going to go through the trouble of translating my EU code to C, and Learning Lisp, and Translating THAT to C. Why not just learn C and be done with the middle men? My code would end up being less complicated than trying to do that stuff. Would defeat the entire purpose of even using Eu in the first place.. Eu certainly wouldn't save me time in that case.. And frankly, I'm not interested in learning lisp.. for the sake of ONE feature that is better.. Hope I made SOME sense... LOL Chris George Henry wrote: > Not trying to discourage anyone from programming In Euphoria, but y'all > with all the great (or at least great-sounding) ideas for self-modifying > programs would have a lot more impact, I think, if you could write > something like, "I implemented 'Dweeble the Frot' in *Lisp* -- it's this > great program that reveals the mysteries of life after running for > 142,000 hours on this old Cray 1 I bought at Army-Navy Surplus, and I > surely would like to translate it into Euphoria, only it is > SELF-MODIFYING, you see, and it won't work any other way, and Euphoria > doesn't support that!" (Silly example not intended to be sarcastic or > negative in any way.) > > Sounds like I'm pushing Lisp, but all I'm saying is, there are perfectly > good languages for doing what you propose, and unless/until Rob changes > his mind about executing code-as-data, Euphoria isn't one of them. > > George > -- > > On Mon, 29 Jan 2001 07:47:01 > Chris Bensler wrote: > >I think this could be invaluable.. > >Self modifying progs!! Woo hoo!! I'd love it.. > > > >I've dabble a tad with evolving progs.. and there' no better way to > >build a speach prog for one. > > > >I've wanted to build a sort of game that would have user built robots > >that would learn through experience.. Not possible in EU.. without > >writing my own scripting language.. > > > >How about an OS that knows whose using the comp, and can adjust > >specifically to suit their needs/preference of operation.. > >It could learn exactly how you want the comp to start up, and what you > >want to do.. It could even learn what you don't want and get rid of it > >for you!! > >True, this could be implemented through cfg. files, but not nearly as > >intimately.. not to mention, people could tamper with the cfg's > > > >How about chaos based AI's in games? As it is, you play any game there > >is out there, and soon you WILL master it.. what if the COMP could > >master you?! Anaihilating you every time!! (how do you spell that?) > >Sure, they say that the AI's can learn nowadays, but they are still > >limited to whatever the programmer has thought up in the first place.. > >They just change their tactics.. > > > >Off the topic of AI applications.. > >What about user designed routines? With this ability, you could allow > >users to modify their apps to suit THEM specifically.. Like macros.. > > > >How 'bout plugins? > > > > > >Hmm, have had other ideas in the past, but they escape me now.. > > > >Chris > > > > > >Kat wrote: > >> <still pleading> it's *very* useful in Ai languages, and i use it in > >> critical learning points > >> in mirc. It would be the easiest way in the world to do totally custom > >> and unforseen > >> spreadsheets. > > > >____________________________________________________________ > >T O P I C A -- Learn More. Surf Less. > >Newsletters, Tips and Discussions on Topics You Choose. > >http://www.topica.com/partner/tag01 > > > > > > > Get your small business started at Lycos Small Business at > http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
17. RE: Let me try once more
- Posted by Chris Bensler <bensler at mailops.com> Jan 29, 2001
- 595 views
- Last edited Jan 30, 2001
The AI would still only learn to utilize what the programmer has already conceived.. Can't take ideas from it's opponents.. Also, the AI won't learn that it's tactics are old and everyone knows them now.. It's not going to save any tactics for once people have mastered it.. it simply chooses, like you said, at RANDOM, and uses tactics based against what the CURRENT opponent is doing.. Doesn't learn from PREVIOUS opponents.. Doesn't evolve.. just changes it's game plan.. Chris Dan B Moyer wrote: > Actually, I suspect that AI *can* be written to learn beyond what the > programmer has thought up to allow as choices: just allow *random* > actions, > plus analysis of useful effect; if useful, keep it as an option; if > harmful, > don't do it any more (or assign "low usefulness index"). > > Dan Moyer > > ----- Original Message ----- > From: "Chris Bensler" <bensler at mailops.com> > To: <EUforum at topica.com> > Sent: Monday, January 29, 2001 7:47 AM > Subject: RE: Let me try once more > > > > I think this could be invaluable.. > > Self modifying progs!! Woo hoo!! I'd love it.. > > > > I've dabble a tad with evolving progs.. and there' no better way to > > build a speach prog for one. > > > > I've wanted to build a sort of game that would have user built robots > > that would learn through experience.. Not possible in EU.. without > > writing my own scripting language.. > > > > How about an OS that knows whose using the comp, and can adjust > > specifically to suit their needs/preference of operation.. > > It could learn exactly how you want the comp to start up, and what you > > want to do.. It could even learn what you don't want and get rid of it > > for you!! > > True, this could be implemented through cfg. files, but not nearly as > > intimately.. not to mention, people could tamper with the cfg's > > > > How about chaos based AI's in games? As it is, you play any game there > > is out there, and soon you WILL master it.. what if the COMP could > > master you?! Anaihilating you every time!! (how do you spell that?) > > Sure, they say that the AI's can learn nowadays, but they are still > > limited to whatever the programmer has thought up in the first place.. > > They just change their tactics.. > > > > Off the topic of AI applications.. > > What about user designed routines? With this ability, you could allow > > users to modify their apps to suit THEM specifically.. Like macros.. > > > > How 'bout plugins? > > > > > > Hmm, have had other ideas in the past, but they escape me now.. > > > > Chris > > > > > > Kat wrote: > > > <still pleading> it's *very* useful in Ai languages, and i use it in > > > critical learning points > > > in mirc. It would be the easiest way in the world to do totally custom > > > and unforseen > > > spreadsheets. > > > > ____________________________________________________________ > > T O P I C A -- Learn More. Surf Less. > > Newsletters, Tips and Discussions on Topics You Choose. > > http://www.topica.com/partner/tag01 > > > ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
18. RE: Let me try once more
- Posted by George Henry <ghenryca at LYCOS.COM> Jan 29, 2001
- 587 views
- Last edited Jan 30, 2001
Hi Chris, What I am saying is that Lisp is the classic language for writing self-modifying code. If you want to do that, why not learn to do it in a language that was practically designed for the purpose, encourages it, etc.? C will not do it for you, unless you write an interpreter of some sort in C. (Your C program modifies its own source, invokes the compiler and linker, and then forks to (or spawns) the modified program? Conceivable, but I wouldn't recommend it.) I sent this link to a couple of others privately: http://tunes.org/Review/Languages.html#CLISP It's interesting to read this fellow's reviews of various languages. I agree very closely with what he has to say about C/C++ and Java.... Anyway, he provides a very positive spin on Lisp. (He actually LIKES the syntax.) George -- On Mon, 29 Jan 2001 23:23:00 Chris Bensler wrote: >So what you're saying is... > >I should code the body of my code in EU, and try and figure out a way to >incorperate that with Lisp as well? > >Why not just use C? This would be another language I would have to go >through to achieve that goal.. >If I'm going to go through the trouble of translating my EU code to C, >and Learning Lisp, and Translating THAT to C. Why not just learn C and >be done with the middle men? >My code would end up being less complicated than trying to do that >stuff. > >Would defeat the entire purpose of even using Eu in the first place.. >Eu certainly wouldn't save me time in that case.. >And frankly, I'm not interested in learning lisp.. for the sake of ONE >feature that is better.. > >Hope I made SOME sense... LOL >Chris > >George Henry wrote: >> Not trying to discourage anyone from programming In Euphoria, but y'all >> with all the great (or at least great-sounding) ideas for self-modifying >> programs would have a lot more impact, I think, if you could write >> something like, "I implemented 'Dweeble the Frot' in *Lisp* -- it's this >> great program that reveals the mysteries of life after running for >> 142,000 hours on this old Cray 1 I bought at Army-Navy Surplus, and I >> surely would like to translate it into Euphoria, only it is >> SELF-MODIFYING, you see, and it won't work any other way, and Euphoria >> doesn't support that!" (Silly example not intended to be sarcastic or >> negative in any way.) >> >> Sounds like I'm pushing Lisp, but all I'm saying is, there are perfectly >> good languages for doing what you propose, and unless/until Rob changes >> his mind about executing code-as-data, Euphoria isn't one of them. >> >> George >> -- >> >> On Mon, 29 Jan 2001 07:47:01 >> Chris Bensler wrote: >> >I think this could be invaluable.. >> >Self modifying progs!! Woo hoo!! I'd love it.. >> > >> >I've dabble a tad with evolving progs.. and there' no better way to >> >build a speach prog for one. >> > >> >I've wanted to build a sort of game that would have user built robots >> >that would learn through experience.. Not possible in EU.. without >> >writing my own scripting language.. >> > >> >How about an OS that knows whose using the comp, and can adjust >> >specifically to suit their needs/preference of operation.. >> >It could learn exactly how you want the comp to start up, and what you >> >want to do.. It could even learn what you don't want and get rid of it >> >for you!! >> >True, this could be implemented through cfg. files, but not nearly as >> >intimately.. not to mention, people could tamper with the cfg's >> > >> >How about chaos based AI's in games? As it is, you play any game there >> >is out there, and soon you WILL master it.. what if the COMP could >> >master you?! Anaihilating you every time!! (how do you spell that?) >> >Sure, they say that the AI's can learn nowadays, but they are still >> >limited to whatever the programmer has thought up in the first place.. >> >They just change their tactics.. >> > >> >Off the topic of AI applications.. >> >What about user designed routines? With this ability, you could allow >> >users to modify their apps to suit THEM specifically.. Like macros.. >> > >> >How 'bout plugins? >> > >> > >> >Hmm, have had other ideas in the past, but they escape me now.. >> > >> >Chris >> > >> > >> >Kat wrote: >> >> <still pleading> it's *very* useful in Ai languages, and i use it in >> >> critical learning points >> >> in mirc. It would be the easiest way in the world to do totally custom >> >> and unforseen >> >> spreadsheets. >> > >> >____________________________________________________________ >> >T O P I C A -- Learn More. Surf Less. >> >Newsletters, Tips and Discussions on Topics You Choose. >> >http://www.topica.com/partner/tag01 >> > >> > >> >> >> Get your small business started at Lycos Small Business at >> http://www.lycos.com/business/mail.html > >____________________________________________________________ >T O P I C A -- Learn More. Surf Less. >Newsletters, Tips and Discussions on Topics You Choose. >http://www.topica.com/partner/tag01 > > Get your small business started at Lycos Small Business at http://www.lycos.com/business/mail.html ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
19. RE: Let me try once more
- Posted by Chris Bensler <bensler at mailops.com> Jan 30, 2001
- 610 views
I'm not talking about a pet project here, or scientific experiments that utilize 1000's of hours of computer time to evolve some code to determine the personality traits of one person.. I'm talking about, high speed graphics based games utilizing AI bots that can learn and evolve from the opponents it defeates and loses against.. As far as I know, Lisp does not accomplish that.. Despite that, I'm certainly not interested in learning Lisp.. I code with the goal of making games and such, these require some level of high speed graphics.. from what I know of Lisp, that's not what it is meant for.. Lisp is for number crunching.. Like Basic.. I wouldn't go and use basic to code a market domoinating game.. Eu DOES have that potential though. (Notice I said POTENTIAL, not ABILITY) I know that C wouldn't achieve this either but, how else could I possibly combine the 2 languages? Chris George Henry wrote: > Hi Chris, > > What I am saying is that Lisp is the classic language for writing > self-modifying code. If you want to do that, why not learn to do it in a > language that was practically designed for the purpose, encourages it, > etc.? > > C will not do it for you, unless you write an interpreter of some sort > in C. (Your C program modifies its own source, invokes the compiler and > linker, and then forks to (or spawns) the modified program? Conceivable, > but I wouldn't recommend it.) > > I sent this link to a couple of others privately: > http://tunes.org/Review/Languages.html#CLISP > > It's interesting to read this fellow's reviews of various languages. I > agree very closely with what he has to say about C/C++ and Java.... > Anyway, he provides a very positive spin on Lisp. (He actually LIKES the > syntax.) ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01
20. RE: Let me try once more
- Posted by Matthew Lewis <matthewwalkerlewis at YAHOO.COM> Jan 30, 2001
- 592 views
> From: Chris Bensler > I'm not talking about a pet project here, or scientific experiments > that utilize 1000's of hours of computer time to evolve some code to > determine the personality traits of one person.. > > I'm talking about, high speed graphics based games utilizing AI bots > that can learn and evolve from the opponents it defeates and loses > against.. I can't imagine why you couldn't do this. There's a contest out there (I think it runs every year) involving Rock-Paper-Scissors. The code is written in C, and there are severe limits to the number of lines of code allowed (I think it's less than 200). The winners tend to be the ones that are able to learn from an opponent's actions. As David mentioned, you could use a genetic algorithm (some people have actually written some GA code in Eu) or a number of other AI techniques, like a neural net. I'm not saying any of this is easy, but I suspect that the implementation would probably be easier in Eu than in most other languages. It's really a matter of your AI knowledge, IMHO. Matt Lewis ____________________________________________________________ T O P I C A -- Learn More. Surf Less. Newsletters, Tips and Discussions on Topics You Choose. http://www.topica.com/partner/tag01