View · Search · Index
No registered users in community xowiki
in last 10 minutes

Weblog Page

Filtered by date 2017-01-02, 91 - 100 of 1541 Postings (all, summary)

Re: [Xotcl] Static member functions?

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Gustaf Neumann <neumann_at_wu-wien.ac.at>
Date: Wed, 16 Apr 2003 20:35:16 +0200

On Wednesday 16 April 2003 08:30, Michael A. Cleverly wrote:
> (Disclaimer: I'm quite new to XOTcl & I have read the tutorial a couple
> times but maybe not enough. :-)
>
> What's the XOTcl idiom/way for a static member variable (what snit, the
> only other OO Tcl package/extension I've used, would call a "type
> variable")?
>
> Contrived example: if I had a "Chapters" class, I'd like to have a single
> variable, accessible by all instances of the class, that kept track of the
> "current" chapter. Suggestions?

 Most of the important things were already answered by Neophytos and Kristoffer.
 XOTcl does not need a special construct, since every class is an object
 as well, and variables kept in a class are nothing special. Note that a
 programmer can decide what kind of class he is referring to:
  - the class which is the type of the object (via "my info class")
  - the current class, which is currently active (via "self class")
 The type variable you are refering to is the first one.

 Often, when people start to use XOTcl, there come requests how to achieve
 private instance variables. These can be easily achived through variable
 traces. Maybe someone finds the following code helpful or interesting....

=================================================================
Object instproc private {instvar args} {
  foreach var $args {
    my trace variable $var rwu [list [self] private_check]
  }
  uplevel "my instvar $args"
}
Object instproc private_check {var sub op} {
  if {[string compare [self] [self callingobject]]} {
    if {[string equal "" [self callingobject]]} {
      set context "global context"
    } else {
      set context [self callingobject]->[self callingproc]
    }
    array set paraphrase {w written r read u unset}
    error "private member $var of [self] $paraphrase($op) from $context"
  }
}
=================================================================

 Using this two instprocs, private instvars of an object can be declared.
 This is not a perfect solution but works quite well.....

================================================================
Class C
C instproc init {} {
  my private instvar x y
  set x 100
}
C instproc test {} {
  my set x 10
}
C instproc show {} {
  puts x=[my set x]
}

### test cases ###
C c1
c1 show
c1 test
c1 show
Object o1
o1 proc test0 {} { if {[catch {c1 set x 13} msg]} { puts "error: $msg" }}
o1 proc test1 {} { c1 instvar x; if {[catch {set x 13} msg]} { puts "error: $msg" }}
o1 proc test2 {} { if {[catch {c1 set x} msg]} { puts "error: $msg" }}
o1 proc test3 {} { if {[catch {c1 unset x} msg]} { puts "error: $msg" }}
c1 show
o1 test0
o1 test1
o1 test2
#o1 test3
c1 show
c1 set y 20
=======================================================

 If you want to use this test please apply the small patch below to
 allow correct error propagation through traces in XOTcl. There seems
 to be a small bug in the actual tcl-versions, since Tcl_UnsetVar2
 (which is used by xotcl unset) does not seem to propergate
 errors correctly from var traces as well....

=======================================================
--- xotcl.c~ Fri Mar 21 15:57:45 2003
+++ xotcl.c Wed Apr 16 19:00:35 2003
_at_@ -5978,7 +5978,7 @@
    * "init"). */

   if (!(obj->flags & XOTCL_INIT_CALLED)) {
- int newargs, result;
+ int newargs;
     /*
      * Call the user-defined constructor 'init'
      */
_at_@ -6986,8 +6986,7 @@
     Tcl_SetObjResult(in, result);
     return TCL_OK;
   } else {
- return XOTclVarErrMsg(in, "Can't find result of set ",
- ObjStr(objv[1]), 0);
+ return TCL_ERROR;
   }
 }
=======================================================

-- 
Univ.Prof. Dr.Gustaf Neumann
Abteilung für Wirtschaftsinformatik
WU-Wien, Augasse 2-6, 1090 Wien

Re: [Xotcl] Issue with mixin delete

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Scott Gargash <scottg_at_atc.creative.com>
Date: Tue, 9 May 2006 10:09:20 -0600

Gustaf Neumann <neumann_at_wu-wien.ac.at> wrote on 05/09/2006 03:54:49 AM:

> Scott Gargash schrieb:
> >
> > I.e., you can't forward the "mixin delete" to an object of another
> > class. If the mixin to be deleted is present in the call stack, it
> > appears that the mixin can't be deleted. Not that I expected it to
> > work, but it seems worth noting.
> >
> if you have a case that goes beyond "do not remove actvive mixins from
> the before part of active mixin classes"), please send an example.

No, the same conditions apply. It's just that the BEFORE part includes anything invoked indirectly
by the BEFORE part. Sometimes you don't have knowledge of what some other object will do when
invoked, and it can be a subtle bug.

> We have to deal with the following cases when we have e.g. a precedence
> order M1 M2 M3 M4, and the following happens in the BEFORE part of M2:
>
> a chain is set to: M1 M3 M4 (your case, you want to continue with M3)
> b chain is set to: M1 M4 defensible M4
> c chain is set to: M2 M1 M3 M4 under current semantics, continue with M1
> d chain is set to: M4 M2 M3 M1 continue with M3, M4 will never by
> invoked

Yup, that's exactly the behavior I (naively) had expected.

But to be clear, what is the current behavior of 'next' for each of these cases? To unwind the call
stack? When can the updated mixin list be considered to have taken effect?

> The general problem is pretty similar to the "immediate" and "logical"
> update view in logic languages,

Good analogy, that makes sense.

> but it goes back to Lindholm and Richard
> O'Keefe (ROK) from 87, */Efficient implementation of a defensible semantics
> for dynamic Prolog code/* (unfortunately, could not find this fine paper on
> the net).

There's also a brief discussion of this in O'Keefe's book "The Craft of Prolog".

> The most promissing approach not mentioned yet is to develop a
> c-level implementation of mixin/instmixin/filter/instfilter delete,
> which simply flags the entry in the chain as deleted.....

Interestingly, that's how I assumed it was implemented, which is probably why I was surprised.

      Scott

Re: [Xotcl] xotcl 0.9 for linux debian

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Catherine Letondal <letondal_at_pasteur.fr>
Date: Thu, 28 Mar 2002 18:46:34 +0100

Gustaf Neumann wrote:
> On Tuesday 26 March 2002 16:09, you wrote:
> > Dear XOtcl list,
> >
> > I have some problems to install the latest xotcl version on a linux debian
> > platform. The current debian package is 0.85 and I would really like to
> > install 0.9.
> >
> > So I have tried to install the full source distribution
> > (http://media.wu-wien.ac.at/download/xotcl-full-0.9.3.tar.gz), but, as
> > tcl/tk debian include installation is in the same directory
> > (/usr/include/tcl8.3), it's difficult to tell configure how to deal with
> > it.
>
> dear cathrine,
>
> for the time being, the simplest thing is to
> add manually in xotcl-full-0.9.3/xotcl-0.9.3/unix/Makefile
> after the configure run -I/usr/include/tcl8.3 at the place
> where the other "-I"-option are written.
>
> that should keep you going for now
> best regards
> -gustaf

Thanks for the help! (I actually downloaded the binary version and kept
the xotcl-full-0.9.3/ directory just for the xotcl.h I needed to make my "biokwish").

--
Catherine Letondal -- Pasteur Institute Computing Center

[Xotcl] Bug when changing class

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Kristoffer Lawson <setok_at_fishpool.com>
Date: Mon, 7 Feb 2005 17:33:50 +0200

I know this is somewhat obscure but it nonetheless appears to be a bug:

% package require XOTcl
1.3
% xotcl::Object ob
::ob
% ob class xotcl::Class
% ob info class
Bus error

(On Mac OS X 10.3.7)

I was interested to find out if it's possible to make an already
existing object into a class dynamically :-) (Should it be?)

                                / http://www.fishpool.com/~setok/

[Xotcl] Re: XOTcl is great!!

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Taral <taraloza_at_gmail.com>
Date: Fri, 09 Sep 2005 04:32:02 -0000

Hi there,

Yes, please do send me the new release as soon as you are done fixing the
bug.
Very glad to hear about your extensive regression testing. Yes, I will
definitely do my own testing too.

Regards,
Taral

On 9/8/05, Gustaf Neumann <neumann_at_wu-wien.ac.at> wrote:
>
> Taral schrieb:
>
> > Well, I will be in touch with you guys on further development on my
> side.
>
> good. i'll send you soon a version of xotcl with the "...foward ...
> expr..." problem resolved, if you
> are interested.
>

> By the way, I can not resist myself asking you guys about testing done
> > for XOTcl. I'm planning to use it for implantable Medical Device
> > hard-real time firmware system where bugs are not allowed at all.
> > Reading you note about the bug in expr method, do you mind giving me a
> > small update on what type of testing is done on this library and how
> > much stable is it from your experience?
>
> we have a constantly growing regression test suite. in general i think
> it is generally
> perceived that xotcl has a very high stability. there is at least on
> company that depends
> on xotcl in their multi threaded mission critical product; we use xotcl
> in our e-learning
> environment, which is (based on publications) the most intensely used
> e-learning
> system on universities world wide (up to more than 4 mio requests from
> registered
> users per day). The OACS community has recentlyTIPed that xotcl should
> become
> part of every standard OACS installation.
>
> before every release, we run all the regression test and complex systems
> around and we
> send pre-releases to core users. If you look at the changelog you will
> see that most bugs
> are either in "new features" or show up in "erroneous xotcl code". In
> your situation i would
> certainly do my own testing with my code and xotcl before burning the
> code into proms.
> The community will help you with problems, if you are interested in
> commercial support,
> we have founded recently a small company for providing support for
> various of our
> research products.
>
> > Are there any plans to provide more of object relation management
> > functionality in the library itself? When are you planning the next
> > release?
>
> in the next weeks.
>
> > I was wondering about whom I'm talking to. You guys are obviously from
> > Germany/Austria based on my guess from your email address. It would be
> > nice to know you guys little more to help the communication. Do you
> > guys have any personal webpage? I don't have one myself :( But now I
> > feel like I should have one. So I will try to put up one sometime soon.
>
> you will find my face (and uwe's) easily via google
>
> best regards
> -gustaf neumann
>
> >
> > On 9/5/05, *Gustaf Neumann* <neumann_at_wu-wien.ac.at
> > <mailto:neumann_at_wu-wien.ac.at>> wrote:
> >
> > Taral schrieb:
> >
> > > Hello,
> > >
> > > I recently came across XOTcl and found it very very useful. I am
> > > working on optimizing some legacy compiler code which is written in
> > > TCL. I would like to make it object-oritented and so I started
> > using
> > > XOTcl. So far I have found aouut 90% reduction in execution time.
> > > Overall I'm getting great performance by using XOTcl.
> >
> > wow, this is an impressive number; good to hear that.
> >
> > > I would like to Thank You guys for writing such a great library.
> > >
> > > Of course I have couple of questions for you. I will really
> > appreciate
> > > it if you can help me here.
> > >
> > > (1) Is there any way to all the objects or instances based on
> > > parameter value? For example, I would like to request object
> > names of
> > > all objects where given parameter's value is equal to 5.
> >
> > There is no built-in support for this. a straigthforward approach
> > is the
> > following which might
> > be sufficient in many situations:
> >
> > ===========
> > # define method expr for all Objects, the operands are taken from
> > # the instance variables
> > Object instforward expr -objscope
> >
> > # define method select with some abitrary tcl expression. All objects,
> > # for which the expression returns 1 are returned
> > Class instproc select {expr} {
> > set result_list [list]
> > foreach o [my allinstances] {
> > if {![catch {$o expr $expr} result]} {
> > puts "$o expr {$expr} -> $result"
> > if {$result} {
> > lappend result_list $o
> > }
> > }
> > }
> > return $result_list
> > }
> > ===========
> >
> > so, now we define a view classes and objects with some instance
> > variables
> >
> > Class C -parameter {{x 10}}
> > Class D -superclass C
> >
> > C c1
> > C c2 -x 11
> > D d1 -x 100
> > D d2
> > D d3
> > d3 unset x
> >
> > finally, we try it out with some demo queries
> >
> > foreach q {
> > {$x > 10}
> > {$x >= 10}
> > {$x < 1}
> > {[string match *00* $x]}
> > } {
> > puts "C select $q --> {[lsort [C select $q]]}\n"
> > }
> >
> > Note that in this example, all instances of C are checked for the
> > expression, if
> > you use "... [Object select {$x > 10}]", all objects will be checked.
> >
> > This approach might be good enough for small examples and medium
> > speed requirements. If you have larger number of objects, and you
> > cant
> > restrict the query to smaller classes, you should try to build an
> > index
> > based on associative arrays, which could replace the "allinstances"
> > in the code above.
> >
> > > (2) Do you have more example code pieces? I would like to see more
> > > sample implementation to help me with the syntax. I'm also learning
> > > TCL language at the same time using XOTcl :)
> >
> > i am sure, you have seen the tutorial and the examples in xotcl*/apps
> > and xotcl*/library. There are a few more on:
> >
> > http://mini.net/tcl/XOTcl
> > http://wiki.tcl.tk/references/10971!
> >
> > > (3) Is there any way to represent relationship across two
> > classes? For
> > > example, Class A is related to Class B with one-to-many
> > relationship.
> >
> > a few class/class relations and object/class relations are
> > maintained
> > by xotcl (e.g. superclass,
> > class, mixins). A start point might be ::xotcl::Relations,
> > which is
> > used to implement a
> > uniform interface to mixins (and instmixins ...), which allows to
> > specify "... mixin add ...", #
> > "... mixin delete ...", "... mixin set ...", etc. In principle, the
> > same interface could be used
> > for application level relations as well...
> >
> > In current applications, the classes use and maintain a list of
> > related
> > object/classes.
> > Often, it is conveniant to use aggregations to express 1:1 or 1:n
> > relationships.
> >
> > > (4) If there is a way to define relationship, is it possible to
> > query
> > > objects of classes in the relationship? For example, I would like to
> > > get all the objects of Class B related to given object of Class A
> > > (like a1) across given one-to-many relationship. In this case result
> > > would be list of object handles of Class B that matches based on
> > given
> > > primary key (identifier) value between class A and B.
> >
> > a good key identifier is the object name. see the following snipplet,
> > how such behavior
> > could be obtained. We define class A, which maintains the relationship
> > to some other
> > objects. if an instances exists that relates e.g. to object c1, we
> > could
> > check there some
> > properties with expr like above...
> >
> > Class A -parameter {relates_to}
> >
> > A a1
> > A a2
> >
> > a1 set relates_to {c1 c2}
> >
> > foreach o [A allinstances] {
> > catch {
> > if {[lsearch -exact [$o relates_to] c2] > -1} {
> > puts "could check $o"
> > }
> > }
> > }
> >
> > hope theses examples help a little.
> >
> > -gustaf
> >
> > PS: when i was writing this mail i saw that the classtack information
> > within methods called via the method "expr" is not correct. It will
> > be fixed in the next release....
> >
> > >
> > > Please provide some guidance to implement above functionality
> > using XOTcl.
> > >
> > > Thanks a lot in advance.
> > >
> > > May be in future I would like to contribute to XOTcl. I wish to
> > be in
> > > touch with you guys.
> > >
> > > Regards,
> > > Taral
> >
> >
> >
>
>

[Xotcl] XOTcl 0.85 available

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Gustaf Neumann <neumann_at_wu-wien.ac.at>
Date: Tue, 22 May 2001 21:52:09 +0200

Dear XOTcl community,
here is the annoucement about the availability of XOTcl 0.85
It is mostly a bug-fix release.
best regards
-gustaf neumann, uwe zdun


Announcing XOTcl 0.85.
**********************

WHAT IS XOTCL?

  XOTcl is an object-oriented extension of Tcl that was derived from
  OTcl. In short, XOTcl tries to provide a highly flexible,
  reflective, component-based, and object-oriented environment. It
  integrates language support for high level concepts which are not
  found in other languages, with reasonable performance. It prevails
  the Tcl programming style and the dynamic/introspective nature of
  the language, rather than introducing other language's styles and
  rigidness (such as C++) into Tcl.

RECENT CHANGES IN VERSION 0.85
  The most important changes relative to 0.84 are:
  - improved documentation
  - various small fixes in Httpd to improve extensibility
  - parent namespaces of objects are checked for existence (could lead
    to crash in earlier versions)
  - optional arguments for ismetaclass and isclass
  - created object return absolute names
  - cleanup destroys aggregated children (e.g. recreate provides
    per default a "clean" object)
  - new and more orthogonal directory structure, using version number in
    directory name

MORE INFO
  General information about XOTcl and its components can be found at
  http://www.xotcl.org

  Mailing list: http://wi.wu-wien.ac.at/mailman/listinfo/xotcl

Best regards,

Gustaf Neumann
Uwe Zdun

XOTcl/NX mailing list by object move?

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Scott Gargash <scottg_at_atc.creative.com>
Date: Sat, 18 Mar 2006 11:56:26 -0700

xotcl-bounces_at_alice.wu-wien.ac.at wrote on 03/18/2006 01:45:12 AM:

>
> On 18 Mar 2006, at 02:48, Gustaf Neumann wrote:
>
> > so, now we can test the aliased content. it behaves in many respects
> > the same, but when it comes to refer to "self" or to namespaces
> > one would notice a different behavior:
>
> Could this kind of system be used throughout XOTcl and thus have
> [self] return the alias too, instead of the actual instance? As
> mentioned, this could potentially solve the issue with object movement.

I was wondering the same thing. What would be the impact on XOTcl's implementation if an object's
location in Tcl's namespace hierachy was invariant, and user access to the object was always
indirected through an alias? I would guess that it's not worthwhile just for "move" functionality,
but would this guarantee make any other things possible, easier, or more efficient?

      Scott

Re: [Xotcl] AOP and XOtcl

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Kristoffer Lawson <setok_at_fishpool.com>
Date: Tue, 25 Sep 2001 19:16:48 +0300 (EEST)

On Tue, 25 Sep 2001, Uwe Zdun wrote:

> b) make filters special objects which have a method (proc) on them which is
> the filter. This would be a substantially different model to what we have
> now. Filter search would have to take place on these objects, filters would
> not be inherited, linearization of filters would be different, etc. But, of
> course, we could combine different filters on these objects. This would be
> closer to cross-cutting concerns in AOP.

Could you not still keep inheritance in this model? The only difference
really would be that the filters themselves would be reusable
components. If attached to a class, then all class methods, and anything
extending the class, will be affected by the filter. Or is there something
wrong with this idea?

         - ---------- = = ---------//--+
         | / Kristoffer Lawson | www.fishpool.fi|.com
         +-> | setok_at_fishpool.com | - - --+------
             |-- Fishpool Creations Ltd - / |
             +-------- = - - - = --------- /~setok/

[Xotcl] Are you ready to see BIGGEST porn sites on the web?! The 3 Day Free Trial!!

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: <onlyforu_at_chat.ru>
Date: Thu, 31 Jan 2002 12:54:08 +0300
The 3 Day Free Trial Allows You To Experience All This And More From The Comfort Of Your Own Arm Chair.

NEARLY19
-Virgin Teens Cum of Age
-Cute Little Angels that fuck like Whores!
-First-Time Fucking Frenzy
Click Here!

IMMORAL TEENS
-The dirtiest teens are the ones with no morals
-Blowjob pix
-Nasty Facials
-Shameless Schoolies
-Freaky Fetishes
-Public Panty Posers
-Amateur Cam Action
-Daily Updates
Click Here!

EXTREME FUCK SESSIONS
-All-Amateurs
-Live sex shows
-Thousand of videos
-Massive story bank
-24 hour live feeds
-Live sex shows
-Erotic chats!
Click Here!

FARMYGIRLS
-Extreme Hardcore Content
-Banned In Most States Within The U.S.
Click Here!

ANAL ONLY GALLERIES
-1000's of ass fucking pics
-hottest, hardest stories
-live XXX anal video feeds
-100's of xxx voyeur cams
-weird/bizzare anal vids
-100's of hardcore avi's
-raunchy live sex chat
Click Here!

BARNYARD CHICKS
-1000's Farm Sex Photo Galleries
-Pics Updated Daily
-Animal Loving Amateurs
-Cowgirl Cunt Lickers
-Barntard Gang Bangs
-Goats & Gashes
-Tractors & Toys
-Barn Bonkfest
-Ridden Horses
-Shearing Slits
-Hay Humping
-Farm Fetishes
-500000+ Forbiden Pics!
Click Here!

A CHIN CHUNKS production present CUMAGEDDON
-New streaming live feeds
-HOTTEST CUM GUZZLERS
-XXX VIDEOS, PIX, FETISH, FREE LINKS and more!
Click Here!

FILTH WHORES
-Feeds, Huge Image Galleries, Videos (Streaming And Downloadable)
-Fetish Content, Anal Gang Ups, Teen Babes First Time, Cum Shot Galleries
-Live Chats And Much More!
Click Here!

FISTDEEP - FISTING HARDCORE
-At its most shocking
-BIG toys
-HUGE oral
-GAPERS
Click Here!

HARCDORE PAIN LOVERS
-Huge xxx photo gallery
-1000's of erotic stories
-100's of live video feeds
-content updated daily
-pissing cunts and anal rape
Click Here!

Hardcore pleasures
-20,000+ extreme gallery
-live dungeon feeds
-bizzare video library
-hottest, hardest stories
-hardcore whore chat
-forbidden group action
Click Here!


BUT IT NOT ALL!!!
The 3 Day Free Trial on all Sites!!!!

Daily updating.
Excellent quality of pic's and video.
Convenient system of navigation.
And much more...
905.218

[Xotcl] XOTcl-next

Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM

From: Murr, Florian <florian.murr_at_siemens.com>
Date: Wed, 2 Jan 2008 15:10:26 +0100

Dear XOTcl-guys!
The script below might illustrate another XOTcl bug.
tested with:
   Tcl8.4.16 + XOTcl1.5.6
   Tcl8.5.0 + XOTcl1.5.6

regards
Florian




#
************************************************************************
******
puts "Tcl[set ::tcl_patchLevel]" ;# Tcl8.4.16
puts "XOTcl [package require XOTcl]" ;# XOTcl 1.5.5 1.5.6
namespace import xotcl::*
package require Tk
#
########################################################################
######
Class X -slots {
    Attribute create q
}
#
************************************************************************
******
#fm The printout here is not what I would expect!
#fm expected: ::b fun .w
#fm but got: ::b next .w
X instproc fun {w} { puts "[self] [info level 0]"; button $w.b;
return $w.b }
#
************************************************************************
******
#
########################################################################
######
Class ::X::Y -superclass ::X
#
************************************************************************
******
::X::Y instproc fun {w} {
    pack [next $w]
}
#
########################################################################
######
::X::Y create ::b
toplevel .w
::b fun .w

Next Page