Hi Christian,
On Thursday 25 June 2009 05:41:33 pm you wrote:
> It's getting strange ;-) I think it's a deeper problem than Dietmar
> thought. If I start test(bar_chart, 1) from test.pl (see att.) everything
> works fine. Consulting his DDK
> (
http://www1.informatik.uni-wuerzburg.de/database/DisLog/DisLog.tgz )
> the same test gives the error. Dietmar told me today, that it worked on
> some previous Prolog versions.
This is the explanation:
[1] ?- send(@pce, write, @7152756?height/2).
ERROR: Unhandled exception: ? ->initialise: Argument 2 (selector): `name|
function' expected, found `height/2'
[1] ?- send(@pce, write, (@7152756?height)/2).
8
I.e., the code is redefining operators such that @7152756?height/2 is
read as @7152756?(height/2).
I don't think this is a new bug ... Sorting out operator dependencies
without breaking too much code is really getting an important topic :-(
> But all other xpce things from the DDK are working well (except of
> list_browser on x86_64 machines).
What is wrong with that? I'm running x86_64 all day and I'm not aware of
any issues. That is, Linux x86_64. Windows64 is a different issue
because M$ broke all normal conventions that where true in the classical
world of C.
> I know why I've implemented XUL in Prolog for GUIs ;-)
Can you elaborate on that remark?
Cheers --- Jan
> btw. greetings from Dietmar :-)
Send him my regards!
>
> Thanks,
> Christian
>
> Am 25.06.2009 16:20, schrieb Jan Wielemaker:
> > [private]
> >
> > Can you send me something I can run? I don't like looking at code
> > I don't know ...
> >
> > --- Jan
> >
> > On Thursday 25 June 2009 02:28:14 pm Christian Schneiker wrote:
> >> Hi Jan,
> >>
> >> Here is a code snippet of Dietmar's DDK for bar_chart from which I get
> >> the error.
> >>
> >> dislog_bar_chart(Title, Distribution, Limit) :-
> >> name_append(Title, ' Distribution', Title_Distribution),
> >> new(W, auto_sized_picture(Title_Distribution)),
> >> % send(W, size, size(700, 600)),
> >> length(Distribution, N),
> >> dislog_bar_chart_required_scale(
> >> Distribution, Limit, Scale),
> >> !,
> >> send(W, display,
> >> new(BC, bar_chart(vertical, 0, Scale, 300, N))),
> >> forall( member([A, Colour]-Amount, Distribution),
> >> send(BC, append,
> >> bar_group(A,
> >> bar('', Amount, Colour))) ),
> >> send(W, open).
> >>
> >> dislog_bar_chart_required_scale(
> >> Distribution, Limit, Scale) :-
> >> findall( Amount,
> >> member(_-Amount, Distribution),
> >> Amounts ),
> >> maximum(Amounts, X),
> >> ( X < Limit,
> >> Scale is Limit
> >> ; round(X/100+0.5, 0, Y),
> >> Scale is Y * 100 ).
> >>
> >>> That is weird. I'd like to see a program to reproduce this. It might
> >>> point at some deeper trouble.
> >>>
> >>> Cheers --- Jan
> >>
> >> Christian
> >> _______________________________________________
> >> SWI-Prolog mailing list
> >>
SWI-Prolog@...
> >>
https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog_______________________________________________
SWI-Prolog mailing list
SWI-Prolog@...
https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog