Post #74,452
1/14/03 3:04:11 PM
|
Sure you were... It's your story... Grumpy...
...tell it the way you want.
Figured as much anyway... The little avatar pic here doesn't give much away... so was hard to tell... :-D
[link|mailto:curley95@attbi.com|greg] - Grand-Master Artist in IT | [link|http://www.iwethey.org/ed_curry/|REMEMBER ED CURRY!] [link|http://pascal.rockford.com:8888/SSK@kQMsmc74S0Tw3KHQiRQmDem0gAIPAgM/edcurry/1//|ED'S GHOST SPEAKS!] | Heimatland Geheime Staatspolizei reminds: These [link|http://www.whitehouse.gov/pcipb/cyberstrategy-draft.html|Civilian General Orders], please memorize them. "Questions" will be asked at safety checkpoints. |
|
Post #74,453
1/14/03 3:08:39 PM
|
Looks bigger than us..
..and that takes some doing :)
Didn't know he opted for the "bald bad-ass fucker" look :) Must be a Raiders fan.
-drl
|
Post #74,463
1/14/03 4:33:10 PM
8/21/07 5:58:50 AM
|
Broncos
I am out of the country for the duration of the Bush administration. Please leave a message and I'll get back to you when democracy returns.
|
Post #74,464
1/14/03 4:35:48 PM
|
Oh Yeah
Them. I remember them.
Couldn't wait for me to leave town.
-drl
|
Post #74,467
1/14/03 4:48:09 PM
8/21/07 5:58:52 AM
|
Actually, I think thats pure stress
On the first pic you see me sitting outside being cold on a bench next to Phillipe Mougin - he wrote FScript - a Smalltalk compatible scripting language that sits atop ObjectiveC objects. Sort of like what BeanShell is to Java. I had integrated FScript into CLIPS (the expert systems shell) to provide a sort of ObjectiveCLIPS expert systems shell with scripting. One of these days I plan to package it with a UI for Mac OS X.
Anyhow, I wanted to show it to Phillipe (since this was the first time I had met him but had been using his work for awhile) and I had started an architectural change to it a few days before and it was broken.
What you see is me madly trying to get it into a working state.
OT - how it works
Fun stupid hack - clips interpreter lets you register a function pointer under a name to use in the scripting language. So a call looks like (func arg1 arg2 arg3).
Typical smalltalk syntax for a code block is to put it in square brackets [ ].
My hack registered the glue code that calls into FScript under the name '['. So it looks like the interpreter totally supports FScript natively. ie ([anObject doSomething])
I am out of the country for the duration of the Bush administration. Please leave a message and I'll get back to you when democracy returns.
|
Post #74,473
1/14/03 5:14:56 PM
|
Ah... yes now I see it...
I like your hack... tis literal brilliance. I like to make less work out of more...
The way it worked out would be a great *trick*... if you know what I mean!
Does it add to the interpretation time? Or is it basically transparent?
[link|mailto:curley95@attbi.com|greg] - Grand-Master Artist in IT | [link|http://www.iwethey.org/ed_curry/|REMEMBER ED CURRY!] [link|http://pascal.rockford.com:8888/SSK@kQMsmc74S0Tw3KHQiRQmDem0gAIPAgM/edcurry/1//|ED'S GHOST SPEAKS!] | Heimatland Geheime Staatspolizei reminds: These [link|http://www.whitehouse.gov/pcipb/cyberstrategy-draft.html|Civilian General Orders], please memorize them. "Questions" will be asked at safety checkpoints. |
|
Post #74,479
1/14/03 5:30:59 PM
8/21/07 5:59:06 AM
|
Interpretation time
"Does it add to the interpretation time? Or is it basically transparent?"
The glue code? Its no worse than any other built-in function in CLIPS. The whole interpreter is a base parser with plugins. A bunch of the plugins are "built-ins" but that just means the default initialization code registers those plugins. The mechanism is the same regardless. A function can also register a parser function - or not. I register one that takes over until the closing bracket, pops that off the stream and then gives back control after marshalling/binding and calling FScript.
So its basically transparent. Phillipe was amused. I need to clean up the object-to-fact mapper before releasing it to the world.
I am out of the country for the duration of the Bush administration. Please leave a message and I'll get back to you when democracy returns.
|
Post #74,509
1/14/03 7:12:12 PM
|
Re: Interpretation time
This again sounds extremely like FORTH, with CREATE DOES> giving dynamic runtime behavior. Also, you can override a FORTH word simply by redefining it - you get a helpful "isn't unique" message. The older version will never be found in a dictionary search. If you FORGET the new definition, the old one will be uncovered. This covering I think is a really fundamental idea because it provides a determinate context. You never have to worry about scope because the entire environment is built around scope. Extended FORTH can switch contexts on the fly with VOCABULARY and DEFINITIONS. The root vocabulary is simply called FORTH. Is there an ST analogy?
-drl
|
Post #74,511
1/14/03 7:18:17 PM
8/21/07 6:01:00 AM
|
Root object
in Smalltalk is an object of type SystemDictionary named Smalltalk. So, if you want to get hold of the object that represents the String class you could do something like:
(Smalltalk at: #String) compile: 'becomeRaspberry self become: ''ppppppppppppp'''.
Or something like that. Which would add a method becomeRaspberry to the String class.
I am out of the country for the duration of the Bush administration. Please leave a message and I'll get back to you when democracy returns.
|