From Bormuth at web.de Sun Jun 1 03:01:43 2008 From: Bormuth at web.de (Ingo Bormuth) Date: Sun, 01 Jun 2008 05:01:43 +0200 Subject: [cells-devel] Re: [cells-gtk-devel] cells-gtk3 without libcellsgtk Message-ID: <1158364783@web.de> Hi Peter, sorry for that late reply. Due to a misbehaving progmailrc your last mail was sorted into the cells-devel folder where I didn't read it. Please find the following patched attached: 0001-Remove-clisp-hack.patch Complete removes the clisp-call-next-method hack as I think it's no longer needed at all. See below. 0002-In-cells3-def-c-output-was-renamed-to-defobserver.patch Renames remaining occurrences of 'def-c-output'. I wonder why there weren't any errors as the macro was removed from cells3. 0003-Inactivate-optional-stuff-by-default.patch Inactivate optional features (threads, cairo, opengl and libcellsgtk) by default. I think it's more convenient to activate those when needed instead of patching the .asd files all the time. Test-gtk.asd still does exactly this. > > 2. Also if used in a single threading environment (like clisp) > > (g-thread-init...) and (gdk-threads-init) do get called which > > results in an error. > > Hmm, I never changed that, I think. They were always called in > cells-gtk if IIRC. However, if it does no harm to leave them out, > then that seems the right thing to do. > > Are you on windows or linux? I'm just guessing, but it might be the > case that it is a GTK issue and not a cells-gtk issue whether to call > them: On linux GTK supports threads, so it might be necessary to call > those (even if you don't use threads yourself). On windows it > doesn't, so maybe you can't call them. In this case, we should > condition on :unix vs. :windows. But again, I'm just guessing. If > you're on linux, then forget everything I said. I'm primarily on sbcl/linux. Recently I started to maintain the project for clisp/windows. As far as I remember thought, I realized the described problem have way down on clisp/linux. > As to the call-next-method thing, the background is this: > > [...] > > I'd suggest you just go ahead and deactivate all > those calls (e.g by conditioning on :no-progn-combination instead of > :clisp), which should remove those warnings. As mentioned above I decided against ':no-progn-combination'. In my opinion the call-next-method hack is of little use since '(:method-combination progn)' was removed for clisp in 'cells.lisp'. Please tell me in case I'm wrong here so I can change the patch. Thanks again (everybody) Ingo _______________________________________________________________ Schon geh?rt? Der neue WEB.DE MultiMessenger kann`s mit allen: http://www.produkte.web.de/messenger/?did=3016 -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Remove-clisp-hack.patch Type: text/x-patch Size: 7210 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-In-cells3-def-c-output-was-renamed-to-defobserver.patch Type: text/x-patch Size: 2762 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0003-Inactivate-optional-stuff-by-default.patch Type: text/x-patch Size: 2197 bytes Desc: not available URL: From peter.hildebrandt at gmail.com Mon Jun 2 13:55:25 2008 From: peter.hildebrandt at gmail.com (Peter Hildebrandt) Date: Mon, 2 Jun 2008 15:55:25 +0200 Subject: [cells-devel] Re: [cells-gtk-devel] cells-gtk3 without libcellsgtk In-Reply-To: <1158364783@web.de> References: <1158364783@web.de> Message-ID: <7758b2680806020655ve82490ds86420816c694b0a7@mail.gmail.com> Hi Ingo, thanks a lot for the patches. I committed them today. Additionally I added some support for "gtkmisc"; now you can layout labels, images, and arrows with xalign, yalign, xpad, and ypad without the need for an alignmnent container. I changed the label widget to default to left (vs. centered). Let me know what you think. Also, I moved the configure event to notify about reshaping from gtk-object to widget, thus getting rid of a few warnings. Cheers, Peter On 6/1/08, Ingo Bormuth wrote: > Hi Peter, > > sorry for that late reply. Due to a misbehaving progmailrc your last > mail was sorted into the cells-devel folder where I didn't read it. > > Please find the following patched attached: > > 0001-Remove-clisp-hack.patch > > Complete removes the clisp-call-next-method hack as I think > it's no longer needed at all. See below. > > 0002-In-cells3-def-c-output-was-renamed-to-defobserver.patch > > Renames remaining occurrences of 'def-c-output'. > I wonder why there weren't any errors as the macro > was removed from cells3. > > 0003-Inactivate-optional-stuff-by-default.patch > > Inactivate optional features (threads, cairo, opengl and > libcellsgtk) by default. I think it's more convenient to > activate those when needed instead of patching the .asd > files all the time. Test-gtk.asd still does exactly this. > > > > 2. Also if used in a single threading environment (like clisp) > > > (g-thread-init...) and (gdk-threads-init) do get called which > > > results in an error. > > > > Hmm, I never changed that, I think. They were always called in > > cells-gtk if IIRC. However, if it does no harm to leave them out, > > then that seems the right thing to do. > > > > Are you on windows or linux? I'm just guessing, but it might be the > > case that it is a GTK issue and not a cells-gtk issue whether to call > > them: On linux GTK supports threads, so it might be necessary to call > > those (even if you don't use threads yourself). On windows it > > doesn't, so maybe you can't call them. In this case, we should > > condition on :unix vs. :windows. But again, I'm just guessing. If > > you're on linux, then forget everything I said. > > I'm primarily on sbcl/linux. Recently I started to maintain the > project for clisp/windows. As far as I remember thought, I realized > the described problem have way down on clisp/linux. > > > As to the call-next-method thing, the background is this: > > > > [...] > > > > I'd suggest you just go ahead and deactivate all > > those calls (e.g by conditioning on :no-progn-combination instead of > > :clisp), which should remove those warnings. > > As mentioned above I decided against ':no-progn-combination'. > > In my opinion the call-next-method hack is of little use since > '(:method-combination progn)' was removed for clisp in 'cells.lisp'. > > Please tell me in case I'm wrong here so I can change the patch. > > > Thanks again (everybody) > > Ingo > > _______________________________________________________________ > Schon geh?rt? Der neue WEB.DE MultiMessenger kann`s mit allen: > http://www.produkte.web.de/messenger/?did=3016 > > > From Targeted at common-lisp.net Mon Jun 9 11:18:00 2008 From: Targeted at common-lisp.net (Targeted at common-lisp.net) Date: 09 Jun 2008 04:18:00 -0700 Subject: [cells-devel] How to get free quality visitors to your website? Message-ID: <20080609041800.110F88D52EEA32B4@from.header.has.no.domain> No Matter what you are selling - Hit-Booster will send targeted visitors to your website! Within 15 minutes you will have your own website traffic generator that will bring in an ever increasing amount of hits to your websites! Automatically This software is perfect for bringing real traffic to your site... even if... it's an affiliate link where you have no control over the website content! For Full Details please read the attached .html file Unsubscribe: on attached html file click on contact form -------------- next part -------------- An HTML attachment was scrubbed... URL: From stuglaser at gmail.com Wed Jun 11 18:59:53 2008 From: stuglaser at gmail.com (Stu Glaser) Date: Wed, 11 Jun 2008 11:59:53 -0700 Subject: [cells-devel] Where is each project? Message-ID: It's not the lack of documentation. I don't even know where to start. Where is the main web page for each of cells, celtk, cello, and cells-gtk? Where are the source code repositories for each? Is there a central location for the tidbits of documentation that exist? Also, what's the status of each. Actively developed, "finished", or left to rot? KT, which are you working on the most? Thanks, -Stu P.S. It would be real nice to have a canonical git repository for each on github or gitorious. From peter.hildebrandt at gmail.com Wed Jun 11 19:53:51 2008 From: peter.hildebrandt at gmail.com (Peter Hildebrandt) Date: Wed, 11 Jun 2008 21:53:51 +0200 Subject: [cells-devel] Where is each project? In-Reply-To: References: Message-ID: <7758b2680806111253m714f10aay20066a3458d00979@mail.gmail.com> Hi Stu, On 6/11/08, Stu Glaser wrote: > It's not the lack of documentation. I don't even know where to start. That's how we keep the newbies out :-) > Where is the main web page for each of cells, celtk, cello, and > cells-gtk? cells, celtk, cello only really exist in CVS: http://common-lisp.net/cgi-bin/viewcvs.cgi/?root=cells#dirlist cells-gtk is not too hard to find: http://common-lisp.net/project/cells-gtk > Where are the source code repositories for each? CVS, cells, celtk, cello see above. cells-gtk is linked on the cells-gtk project page. > Is there > a central location for the tidbits of documentation that exist? There is the cells-manifesto and examples in the cells CVS. There is the primer and FAQ linked from the cells-gtk project page. There is the example application and demo test-gtk in the cells-gtk cvs. > Also, what's the status of each. Actively developed, "finished", or > left to rot? A piece of art is never finished. :-) cells: "mature and stable" says the cells-manifesto. Ken adds stuff as required. cells-gtk: beta, semi-actively developed (i.e. whenever a bug comes up or we miss functionality, we add it) cells-ode: close to 1.0 (I don't know what to add right now) > KT, which are you working on the most? That, and the status of celtk/cello be left to Himself :) HTH, Peter > P.S. It would be real nice to have a canonical git repository for each > on github or gitorious. I know CVS is quite old and people use darcs, git, svn, and mercurial these days, but what advantage is it exactly that we would get from migrating to git? > _______________________________________________ > cells-devel site list > cells-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/cells-devel > From stuglaser at gmail.com Wed Jun 11 20:59:20 2008 From: stuglaser at gmail.com (Stu Glaser) Date: Wed, 11 Jun 2008 13:59:20 -0700 Subject: [cells-devel] Where is each project? In-Reply-To: <7758b2680806111253m714f10aay20066a3458d00979@mail.gmail.com> References: <7758b2680806111253m714f10aay20066a3458d00979@mail.gmail.com> Message-ID: Ken, Peter, thanks for the info. > That's how we keep the newbies out :-) Newbie? http://common-lisp.net/pipermail/cells-devel/2006-May/000467.html >> P.S. It would be real nice to have a canonical git repository for each >> on github or gitorious. > > I know CVS is quite old and people use darcs, git, svn, and mercurial > these days, but what advantage is it exactly that we would get from > migrating to git? I find a distributed VCS much easier to do development on since I can more easily branch locally (particularly when without internet). My preference is mercurial, but git's fine too. Mostly I dislike CVS, as it gives you little information on what the revisions actually are. -Stu From achambers.home at googlemail.com Wed Jun 11 22:34:28 2008 From: achambers.home at googlemail.com (Andy Chambers) Date: Wed, 11 Jun 2008 23:34:28 +0100 Subject: Fwd: [cells-devel] Where is each project? In-Reply-To: References: <7758b2680806111253m714f10aay20066a3458d00979@mail.gmail.com> Message-ID: >> P.S. It would be real nice to have a canonical git repository for each >> on github or gitorious. > > I know CVS is quite old and people use darcs, git, svn, and mercurial > these days, but what advantage is it exactly that we would get from > migrating to git? There is a repo for celtk on gitorious. It includes an extra "expander" widget that I created and leaves out some of the allegro specific stuff that's in vanilla celtk. I've never really worked seriously with any other VCS but here's some of the things I like about Git. 1. encourages frequent commits (since commits can be done locally) 2. easy to create branches (and easier to merge them) 3. a nice interface to the history of your project (gitk) 4. a really nice emacs-mode (M-x git-status, M-x git-annotate) 5. easy creation of tarballs (git archive HEAD >project.gz) It interoperates nicely with cvs so there's no problem with setting up a repo on gitorious whose master branch simply mirrors the cvs repo. I think I sent a message to the list a while back that shows the steps I took to do this for celtk. -- Andy -- ---- Andy Chambers Formedix Ltd From kennytilton at optonline.net Thu Jun 12 02:40:46 2008 From: kennytilton at optonline.net (Ken Tilton) Date: Wed, 11 Jun 2008 22:40:46 -0400 Subject: [cells-devel] Where is each project? In-Reply-To: References: <7758b2680806111253m714f10aay20066a3458d00979@mail.gmail.com> Message-ID: <48508CAE.3070803@optonline.net> Stu Glaser wrote: > Ken, Peter, thanks for the info. > > >>That's how we keep the newbies out :-) > > > Newbie? http://common-lisp.net/pipermail/cells-devel/2006-May/000467.html This is awesome, we have the thing hidden so well people that who have found it once or not sure of being able to find it again after a hiatus. :) > > >>> P.S. It would be real nice to have a canonical git repository for each >>> on github or gitorious. >> >>I know CVS is quite old and people use darcs, git, svn, and mercurial >>these days, but what advantage is it exactly that we would get from >>migrating to git? I like the looks of git, but I do not know if c-l.net supports git and I have things under control now (thx to TortoiseCVS) so any switch would be down the road some. cheers, kenny From achambers.home at googlemail.com Thu Jun 12 09:19:46 2008 From: achambers.home at googlemail.com (Andy Chambers) Date: Thu, 12 Jun 2008 10:19:46 +0100 Subject: [cells-devel] Where is each project? In-Reply-To: <48508CAE.3070803@optonline.net> References: <7758b2680806111253m714f10aay20066a3458d00979@mail.gmail.com> <48508CAE.3070803@optonline.net> Message-ID: On Thu, Jun 12, 2008 at 3:40 AM, Ken Tilton wrote: > I like the looks of git, but I do not know if c-l.net supports git and I > have things under control now (thx to TortoiseCVS) so any switch would be > down the road some. Actually, when I set up openair on c-l.net, they said that git was supported now. Git also has the awesome gitk/git-gui combination to make committing changes easier (see screenshot). There's no rush though as far as I'm concerned. Its easy enough to work off a central CVS server with a local git. I think that's not a bad model to follow in any case. Those that like git use it, those that haven't got round to learning it yet aren't forced to. -- Andy -------------- next part -------------- A non-text attachment was scrubbed... Name: git-gui.png Type: image/png Size: 33837 bytes Desc: not available URL: From achambers.home at googlemail.com Thu Jun 12 14:10:17 2008 From: achambers.home at googlemail.com (Andy Chambers) Date: Thu, 12 Jun 2008 15:10:17 +0100 Subject: [cells-devel] trc strangeness Message-ID: Hi All, I've just come across some unintuitive behavior in trc that maybe you're interested in. I was writing the following unit-test for openair and the (check (search "status" ...) was failing, even though the trc just above it showed that "status" was clearly in the output. Turns out, when you just (princ (update chkbx)), the value that appears is "STATUS" (which is what I should have been testing for anyway). It was just baffling though to have trc tell me that the strings should match, but when the test actually runs, they don't. I think this is because I still don't understand properly how print and friends work. (deftest test-updates () (cells-reset) (princ #\Newline) (let* ((app (mk-web-app (:prefix "/app") (make-instance 'md-name-test :fm-parent *parent*))) (page (car (resource app))) (chkbx (fm-other :status :starting page))) (declare (ignorable app page chkbx)) (check (search "value='off'" (xhtml chkbx))) (add-post app "STATUS" "on") (check (search "value='on'" (xhtml chkbx))) (trc "upd" (update chkbx)) (check (search "status" (update chkbx))) (check (search "value=\\'on\\'" (update chkbx))))) -- Andy From kennytilton at optonline.net Thu Jun 12 15:13:32 2008 From: kennytilton at optonline.net (Ken Tilton) Date: Thu, 12 Jun 2008 11:13:32 -0400 Subject: [cells-devel] trc strangeness In-Reply-To: References: Message-ID: <48513D1C.9030902@optonline.net> Andy Chambers wrote: > Hi All, > > I've just come across some unintuitive behavior in trc that maybe > you're interested in. > > I was writing the following unit-test for openair and the (check > (search "status" ...) was failing, even though the trc just above it > showed that "status" was clearly in the output. > > Turns out, when you just (princ (update chkbx)), the value that > appears is "STATUS" (which is what I should have been testing for > anyway). It was just baffling though to have trc tell me that the > strings should match, but when the test actually runs, they don't. I > think this is because I still don't understand properly how print and > friends work. > > (deftest test-updates () > (cells-reset) > (princ #\Newline) > (let* ((app (mk-web-app (:prefix "/app") > > (make-instance 'md-name-test > :fm-parent *parent*))) > (page (car (resource app))) > (chkbx (fm-other :status :starting page))) > (declare (ignorable app page chkbx)) > (check (search "value='off'" (xhtml chkbx))) > > (add-post app "STATUS" "on") > > (check (search "value='on'" (xhtml chkbx))) > (trc "upd" (update chkbx)) > (check (search "status" (update chkbx))) > (check (search "value=\\'on\\'" (update chkbx))))) > > I do not quite follow /exactly/ what you are observing, but I suspect case-sensitivity might be an issue, search by default being case-sensitive. One thing that gets me from time to time is that TRC downcases its output, quite confusing when the case of the output matters. :) ie, I go debugging why something is lowercase and find out it is not. :( So should that be (search "STATUS... or (search ... :test 'string-equal)? hth, kt From wpoosanguansit at yahoo.com Thu Jun 12 15:56:52 2008 From: wpoosanguansit at yahoo.com (Watt Poosanguansit) Date: Thu, 12 Jun 2008 08:56:52 -0700 (PDT) Subject: [cells-devel] Triple cells Message-ID: <526830.67381.qm@web55508.mail.re4.yahoo.com> Hi Ken, I have got a hold of your slides at the European Common Lisp Meeting. I also looked through Triple Cell code and I still do not know how to really use the code. A few questions I have to start off. It looks to me like the code stores only the slots and not the whole Clos object. Is that the case? If yes, how do I persist the whole Clos cell object? Also, if I have a cell object that is the composite of other cell objects - Document A has a number of Document B. I want to state a rule saying A can not have more than 5 B associated with it. How to simply state that in Clos and Cell? I am sorry for the newbie type questions. I hope you can include more samples code so it will be easier for new comers to follow. Thanks for your help. Watt P. From kennytilton at optonline.net Thu Jun 12 16:12:43 2008 From: kennytilton at optonline.net (Ken Tilton) Date: Thu, 12 Jun 2008 12:12:43 -0400 Subject: [cells-devel] Triple cells In-Reply-To: <526830.67381.qm@web55508.mail.re4.yahoo.com> References: <526830.67381.qm@web55508.mail.re4.yahoo.com> Message-ID: <48514AFB.1080604@optonline.net> Watt Poosanguansit wrote: > Hi Ken, > > I have got a hold of your slides at the European > Common Lisp Meeting. I also looked through Triple > Cell code and I still do not know how to really use > the code. A few questions I have to start off. It > looks to me like the code stores only the slots and > not the whole Clos object. > Is that the case? Actually triple-cells is an entirely new hack that just tries to work like CLOS Cells, with a little glue so a dynamic CLOS slot can depend on a Triple-cell /maintained by the same process/. (In a multi-user environment we would have to get into a whole protocol and IPC.) This is good. RDF is more expressive than CLOS, so let's not cramp it. That said, the little bit I did do with Triple-cells did kinda follow an object-slot view of data, so it might seem as if I was thinking persistent CLOS, but if I were extending triple-cells I would not let CLOS drive what is possible. > If yes, > how do I persist the whole Clos cell object? Well, I think you mean CLOS object. A cell is a defstruct. But I think I know what you mean. Triple-cells is just a proof of concept to show how persistent data can be driven by something like Cells for CLOS. To do persistent CLOS would be a different, non-trivial project and might miss the coolness of RDF. I would suggest letting RDF be RDF and CLOS be CLOS. I know and appreciate the advantage of transparently making CLOS persistent, but I am strting to wonder if it should not be the other way around: should we forget CLOS and start working on a dynamic object model tailored after RDF? > Also, if > I have a cell object that is the composite of other > cell objects - Document A has a number of Document B. > I want to state a rule saying A can not have more than > 5 B associated with it. How to simply state that in > Clos and Cell? If you want to allow the sixth B and raise an error, you would have an "errors" rule on A that simply says: (when (> (length (^A)) 5) (make-instance 'too-many-b)) If you want to prevent the sixth B from getting in, you would have to stop it via some add-b-to-a function that checks first of the maximum has been reached, ie, the old-fashioned way and not using Cells. > I am sorry for the newbie type > questions. I hope you can include more samples code > so it will be easier for new comers to follow. Thanks > for your help. I am afraid I am incredibly busy these days and won't have time for more than an occasional email. :( kt From kennytilton at optonline.net Thu Jun 12 19:12:30 2008 From: kennytilton at optonline.net (Ken Tilton) Date: Thu, 12 Jun 2008 15:12:30 -0400 Subject: [cells-devel] Triple cells In-Reply-To: <365910.95377.qm@web55505.mail.re4.yahoo.com> References: <365910.95377.qm@web55505.mail.re4.yahoo.com> Message-ID: <4851751E.2040603@optonline.net> Watt Poosanguansit wrote: >>should we >>forget CLOS and start working on a dynamic object >>model tailored after RDF? >> > > > I think I am sold on RDF. It looks like it provides a > lot of features and more that datawarehousing is > providing but with alot less weight. However, I am > still learning to see if it can be simpler to use it. > If you come up with a general way to do the dynamic > objects, I hope you would blog about it. I just don't think it will be objects (and I used that word myself above by mistake). I think we are now just writing out information, adding little branches and subbranches of detail as the information demands, rather than forever shoehorning the data into shapes dictated by relational design or even CLOS. But, yes, there is a whole new representational language to be developed so things will be simpler. It is easy enough to build up the RDF structure adding new information willy-nilly as it comes up during application development--what gets interesting is then /reading/ that information. My GUI work offers encouraging news on the read side. One of the things I did up front was not make inter-object reference brittle as would happen if one was always looking "exactly here" for the widget that decided, say, the enabled status of another widget. My solution at first was search by name, and here duplicates were OK as long as the first one I got to in an orderly search widening from myself got to the one related to me first. Since duplicates would arise from repeating clusters and since the dup related to me would be in the same cluster this Just Worked. Later I found myself doing more searching up and down for things of a certain type, and again propinquity was a sure guide to relevance. I expect we will likely get lucky in the same way reading unstructured webs of RDF data. > > >>If you want to allow the sixth B and raise an error, >>you would have an >>"errors" rule on A that simply says: >> >> (when (> (length (^A)) 5) (make-instance >>'too-many-b)) >> >>If you want to prevent the sixth B from getting in, >>you would have to >>stop it via some add-b-to-a function that checks >>first of the maximum >>has been reached, ie, the old-fashioned way and not >>using Cells. >> > > I was thinking of something more complex. I think I > kinda get it now. Mind you you could automate some of the validation by having cells precompute certain conditions such as "I am maxxed out on Bs", such that the add-b-to-a function just says: (if (maxxed-out...) (error) (write)) In certain cases that would be overkill, but in others where the condition (in this case maxxed-out) is more interesting, it would help having that logic encapsulated in its own "slot" of information. > > >>I am afraid I am incredibly busy these days and >>won't have time for more >>than an occasional email. :( > > > I really appreciate you help. No, problem. Don't hesitate to ask, I can always beg off if something looks too involved. cheers, kenny From Bormuth at web.de Thu Jun 12 19:58:10 2008 From: Bormuth at web.de (Ingo Bormuth) Date: Thu, 12 Jun 2008 21:58:10 +0200 Subject: [cells-devel] Reentrant Cell ? Message-ID: <1175215819@web.de> Hi everybody, can a cell somehow ask to be evaluated in the future? I have a cells-gtk application. Some calculation take quite a time which makes the gui quite unresponsive. I'd like to have pseudoparallelism within the cell layer. One hack I thought about is to introduce a timer-cell that is updated from within gtk's main loop. A c-sleep function would explicitly request those updates. Taken together this would make for a tiny scheduler. Every comment is appreciated. Thanks in advance. Ingo. ______________________________________________________________ Jeden Monat 1 hochkar?tiger maxdome-Blockbuster GRATIS! Exklusiv f?r alle WEB.DE Nutzer. http://www.blockbuster.web.de From kentilton at gmail.com Thu Jun 12 21:48:30 2008 From: kentilton at gmail.com (Ken Tilton) Date: Thu, 12 Jun 2008 17:48:30 -0400 Subject: [cells-devel] Re: [cells-gtk-devel] Reentrant Cell ? In-Reply-To: <1175215819@web.de> References: <1175215819@web.de> Message-ID: On Thu, Jun 12, 2008 at 3:58 PM, Ingo Bormuth wrote: > Hi everybody, > > can a cell somehow ask to be evaluated in the future? > You can have lazy cells which will not get calculated until asked, but it sounds like you might want the calculation running while other things are going on? Or kicked off at some point? And then do you need propagation from that cell kicked off? You might do something with Gtk timers (ISTR those) combined with an input Cell if the GTk timer mechanism is attractive for any reason. > I have a cells-gtk application. Some calculation take > quite a time which makes the gui quite unresponsive. > I'd like to have pseudoparallelism within the cell layer. > > One hack I thought about is to introduce a timer-cell > that is updated from within gtk's main loop. A c-sleep > function would explicitly request those updates. > Taken together this would make for a tiny scheduler. > OK, well, as per the above I am not exactly sure what is required, and it may be possible to do something in cooperation with Cells as it stands, more is hard to say without more deets. hth, kenny -------------- next part -------------- An HTML attachment was scrubbed... URL: From peter.hildebrandt at gmail.com Thu Jun 12 22:25:31 2008 From: peter.hildebrandt at gmail.com (Peter Hildebrandt) Date: Fri, 13 Jun 2008 00:25:31 +0200 Subject: [cells-devel] Re: [cells-gtk-devel] Reentrant Cell ? In-Reply-To: References: <1175215819@web.de> Message-ID: <7758b2680806121525s1d97e151u3b0c06d31be388b4@mail.gmail.com> On 6/12/08, Ken Tilton wrote: > You might do something with Gtk timers (ISTR those) combined with an input > Cell if the GTk timer mechanism is attractive for any reason. You might look at the pulse demo on the display tab in test-gtk for an example of gtk "timeout", as they call it. You could link that to a custom function which runs the long computations step by step. This might be ok if the long computations can be broken down to smaller atomic units. Then you could have something like (mapc #'iterate calculations) (setf calculations (remove-if #'done calculations) where calculations is populated by the c?-with-iterative-solution macro. Oh, and you need to write iterate and done. Or just use threads (from bordeaux-threads) in c?-calculate-in-thread and let the system figure out the scheduling. Peter From FIM at common-lisp.net Fri Jun 13 17:39:48 2008 From: FIM at common-lisp.net (FIM at common-lisp.net) Date: Fri, 13 Jun 2008 17:39:48 GMT Subject: [cells-devel] [SPAM] FIM DO DRAMA. Message-ID: <20080613173943.3B3BA1302C@common-lisp.net> An embedded and charset-unspecified text was scrubbed... Name: not available URL: -------------- next part -------------- An embedded message was scrubbed... From: FIM at common-lisp.net, DO at common-lisp.net, DRAMA at common-lisp.net, CASO ISABELLA NARDONI CHEGOU AO FIM! Subject: FIM DO DRAMA. Date: Fri, 13 Jun 2008 17:39:48 GMT Size: 2111 URL: From achambers.home at googlemail.com Sun Jun 15 22:05:53 2008 From: achambers.home at googlemail.com (Andy Chambers) Date: Sun, 15 Jun 2008 23:05:53 +0100 Subject: [cells-devel] celtk notebook widget Message-ID: Hi, I made a notebook widget for celtk. It just uses the built-in tile notebook and introduces a "tab" widget which is just a container for stuff you can add to a notebook. On a separate note, I was having trouble getting the latest versions of cells and celtk to play nicely together. I reverted back to cells from March to work on this stuff since that's when I was last working on my expander widget. I'll investigate the problems and try to provide some more useful input later this week. ;--- n o t e b o o k ---------------------------------------------- (deftk notebook (widget decoration-mixin) () (:tk-spec notebook -height -padding -width) (:default-initargs :id (gentemp "NB") :packing nil)) (defmethod make-tk-instance ((self notebook)) (tk-format `(:make-tk ,self) "ttk::notebook ~a" (^path)) (tk-format `(:pack ,self) "pack ~a -expand yes -fill both" (^path))) (defobserver .kids ((self notebook)) (loop for k in (^kids) do (trc "ttk::notebook adds" k (type-of k) (md-name k) (path k)) (tk-format `(:post-make-tk ,self) "~a add ~a -text ~a" (^path) (path k) (text k)))) ;--- t a b ----------------------------------------------------------- (deftk tab (frame-stack widget) () (:tk-spec tab -state -sticky -padding -text -image) (:default-initargs :id (gentemp "TB"))) (defmacro mk-tab ((&rest inits) &body body) `(make-instance 'tab :fm-parent *parent* , at inits :kids (c? (the-kids , at body)))) (defmethod make-tk-instance ((self tab)) (tk-format `(:make-tk ,self) "frame ~a" (^path))) ;--- example usage --------------------------------------------------- (defmd nb-test (window) (kids (c? (the-kids (mk-notebook :width 100 :kids (c? (the-kids (mk-tab (:text "first") (mk-stack ("tab with container") (mk-label :text "hi"))) (mk-tab (:text "second") (mk-label :text "a") (mk-label :text "b"))))))))) (defun test-nb () (test-window 'nb-test)) -- ---- Andy Chambers Formedix Ltd From kennytilton at optonline.net Mon Jun 16 12:25:13 2008 From: kennytilton at optonline.net (Kenny Tilton) Date: Mon, 16 Jun 2008 08:25:13 -0400 Subject: [cells-devel] celtk notebook widget In-Reply-To: References: Message-ID: <48565BA9.9000305@optonline.net> Andy Chambers wrote: > Hi, > > I made a notebook widget for celtk. It just uses the built-in tile > notebook and introduces a "tab" widget which is just a container for > stuff you can add to a notebook. > Cool. I'll try to get it into CVS later. > On a separate note, I was having trouble getting the latest versions > of cells and celtk to play nicely together. I reverted back to cells > from March to work on this stuff since that's when I was last working > on my expander widget. I'll investigate the problems and try to > provide some more useful input later this week. This rings a bell. I tripped up Peter with a change that tightened things up. Peter, do you remember what that was? I think it was the change distinguishing the list of "askers" and the idea of the dependent Cell, such that ask cycles got detected even where one had used without-c-dependency (perhaps by calling fm-other). kt From peter.hildebrandt at gmail.com Mon Jun 16 13:33:37 2008 From: peter.hildebrandt at gmail.com (Peter Hildebrandt) Date: Mon, 16 Jun 2008 15:33:37 +0200 Subject: [cells-devel] celtk notebook widget In-Reply-To: <48565BA9.9000305@optonline.net> References: <48565BA9.9000305@optonline.net> Message-ID: <7758b2680806160633j798bb642x779f1d77c5018679@mail.gmail.com> > > On a separate note, I was having trouble getting the latest versions > > of cells and celtk to play nicely together. I reverted back to cells > > from March to work on this stuff since that's when I was last working > > on my expander widget. I'll investigate the problems and try to > > provide some more useful input later this week. > > > > This rings a bell. I tripped up Peter with a change that tightened things > up. Peter, do you remember what that was? I think it was the change > distinguishing the list of "askers" and the idea of the dependent Cell, such > that ask cycles got detected even where one had used without-c-dependency > (perhaps by calling fm-other). Yep, I remember there was something like that, but IIRC you modified the cycle-detection code in cells to address this issue. Off the top of my head (Disclaimer: I might mix things up here), Ken identified some recently introduced constrained in cells which collided with the way menus were instantiated in cells-gtk. Andy, if you could send us a more detailed description of the problem, that might help trigger our recollection from the cells-gtk3 migration. Peter From kennytilton at optonline.net Mon Jun 16 14:45:53 2008 From: kennytilton at optonline.net (Kenny Tilton) Date: Mon, 16 Jun 2008 10:45:53 -0400 Subject: [cells-devel] celtk notebook widget In-Reply-To: References: Message-ID: <48567CA1.80608@optonline.net> Andy Chambers wrote: > Hi, > > I made a notebook widget for celtk. It just uses the built-in tile > notebook and introduces a "tab" widget which is just a container for > stuff you can add to a notebook. > Now in CVS. > On a separate note, I was having trouble getting the latest versions > of cells and celtk to play nicely together. I reverted back to cells > from March to work on this stuff since that's when I was last working > on my expander widget. I'll investigate the problems and try to > provide some more useful input later this week. Not sure what is what, but the test function works with my latest code, all of which has also now been committed to CVS. I do have a an appearnce issue (no 3d borders on widgets) but I saw that a while ago and did not bother investigating. kt From kennytilton at optonline.net Mon Jun 16 19:45:59 2008 From: kennytilton at optonline.net (Kenny Tilton) Date: Mon, 16 Jun 2008 15:45:59 -0400 Subject: [cells-devel] celtk notebook widget In-Reply-To: <7758b2680806161103u62378668l2060b478f9988d8b@mail.gmail.com> References: <48565BA9.9000305@optonline.net> <7758b2680806160633j798bb642x779f1d77c5018679@mail.gmail.com> <48568F48.2000400@optonline.net> <7758b2680806161103u62378668l2060b478f9988d8b@mail.gmail.com> Message-ID: <4856C2F7.8060606@optonline.net> Peter Hildebrandt wrote: > Still I remember you changing the way without-c-dependency worked -- > it might be that this was for debugging purposes or as a future > extension, tho. It was actually a Fundamental Repair. I had overloaded the compute stack with the responsibility of conveying dependency. Sounds reasonable until one decides to go without dependency but of course still does not want to get into an infinite cycle computing values. So I created a new special variable to represent the "depender", which one could bind to nil to avoid dependencies while still binding oneself onto the *call-stack* to support cycle detection. > I believe (!) you changed it from setfing to > dynamically binding ... Me? setf a special?! :) > well, all that is buried deep down there > beneath a ton of thesis work ;-) > >>> Andy, if you could send us a more detailed description of the problem, >>> that might help trigger our recollection from the cells-gtk3 >>> migration. >> I think a runtime error from Cells complaining about a cycle that goes away >> when reverting to older Cells would be a smoking gun. :) > > As a matter of fact, that's what I had in mind. > > Btw, Chris Smith got back to me concerning the doc work and we mailed > a couple times to and fro. He's now working on putting together a > good (!) getting started for cells-gtk3 and maybe smoothen out the > install process a bit. (I should apologize that I lured him over here > into the cells-gtk camp, again leaving celtk and cello without a doc. Just as well, I haven't much time to spare these days. > Maybe one day Frank will take it on ...) > > Is that algebra software coming along? I remember you talking about a > closed-user-group alpha a while ago on cll, but haven't heard anything > since. Maybe I should go back and join that yahoo group (I believe it > was). Going good, so well I got a little greedy and went for another milestone before releasing. Wait for an announcement, it will be a new/different group (the name is kinda taken by other Algebra stuff). Thx for the interest. kt From achambers.home at googlemail.com Tue Jun 17 22:48:10 2008 From: achambers.home at googlemail.com (Andy Chambers) Date: Tue, 17 Jun 2008 23:48:10 +0100 Subject: [cells-devel] celtk notebook widget In-Reply-To: <7758b2680806160633j798bb642x779f1d77c5018679@mail.gmail.com> References: <48565BA9.9000305@optonline.net> <7758b2680806160633j798bb642x779f1d77c5018679@mail.gmail.com> Message-ID: Sorry Peter, I forgot to hit "Reply to all" On Mon, Jun 16, 2008 at 2:33 PM, Peter Hildebrandt wrote: > > Off the top of my head (Disclaimer: I might mix things up here), Ken > identified some recently introduced constrained in cells which > collided with the way menus were instantiated in cells-gtk. > > Andy, if you could send us a more detailed description of the problem, > that might help trigger our recollection from the cells-gtk3 > migration. Well, besides some little asdf hurdles, when you try to run (tk-test), it fails when trying to call dictionary with NIL in the first make-tk-instance. So for some reason, (nearest self window) is returning nil. Cheers, Andy From kennytilton at optonline.net Sun Jun 22 18:06:28 2008 From: kennytilton at optonline.net (Kenny Tilton) Date: Sun, 22 Jun 2008 14:06:28 -0400 Subject: [cells-devel] Re: [cello-devel] State of Cello? In-Reply-To: <87lk0xffqc.fsf@gmail.com> References: <87lk0xffqc.fsf@gmail.com> Message-ID: <485E94A4.403@optonline.net> David Arroyo wrote: > What is the current state of Cello? I can't find the code on > common-lisp.net, but I think it's an interesting project and I'd like to > help in any way I can. I doubt I can help with the code itself but I can > write docs and the like. > > But first I need to find the code :) Try starting from the c-l.net home page and clicking on "repositories" and using the viewcvs interface to get to (a) the cello project and then (b) a tarball (or if you are good at CVS just do it the usual way. Cello/Celtk is in steady use and I am in danger of Actually Releasing in a week or three a big application built atop it. aka, (eq state 'alive-and-well). btw, if you really do get interested and involved I think you can see the first thing the project needs is a maintainer. :) I update CVS on occasion from my code base but do not have the extra time required of serious open source. But first things first: let's see if you can build the fricking thing (estimated at two weeks effort recently by someone who would know). thx for the interest, kenny ps. I cc'ed cells-devel cuz that is where most of the Cellsers coagulate. k From kennytilton at optonline.net Fri Jun 27 07:03:07 2008 From: kennytilton at optonline.net (Kenny Tilton) Date: Fri, 27 Jun 2008 03:03:07 -0400 Subject: [cells-devel] Re: A simple question. In-Reply-To: <795941.36874.qm@web55507.mail.re4.yahoo.com> References: <795941.36874.qm@web55507.mail.re4.yahoo.com> Message-ID: <486490AB.5060003@optonline.net> Watt Poosanguansit wrote: > Hi Ken, > > I hope you are well. I am starting to code using cell as the models. One thing that I do not understand is when I use accessor method on the slot in the models, I do not get the value back. I would have to use slot-value to get to it. Is that by design? No, something is wrong. Send me some code that behaves as you say. If I had to guess, it would be something that often trips me up too: when Cells hits an error it sets a flag indicating it should cease functioning. So any Cells snippet one might invoke as a toplevel test should begin with (cells-reset) to clear that flag. As a noob of course you are encountering errors regularly, and unless you got lucky you did not run across this Cells secret or if you did would likely not remember it, and this indeed sounds like Cells refusing to run (accessors go straight into Cells code), so this is a strong guess. But it is a guess. :) You can probably just add (cells-reset) at the start of your test code and be OK. if not, send me some code. kt