1. RE: Let me try once more

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

new topic     » topic index » view message » categorize

2. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

3. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

4. RE: Let me try once more

> 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

new topic     » goto parent     » topic index » view message » categorize

5. RE: Let me try once more

>
>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

new topic     » goto parent     » topic index » view message » categorize

6. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

7. RE: Let me try once more

> 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

new topic     » goto parent     » topic index » view message » categorize

8. RE: Let me try once more

>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

new topic     » goto parent     » topic index » view message » categorize

9. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

10. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

11. 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

new topic     » goto parent     » topic index » view message » categorize

12. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

13. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

14. RE: Let me try once more

--- 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

new topic     » goto parent     » topic index » view message » categorize

15. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

16. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

17. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

18. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

19. RE: Let me try once more

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

new topic     » goto parent     » topic index » view message » categorize

20. RE: Let me try once more

> 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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu