« Return to Thread: Exception in barchart

Re: Exception in barchart

by Jan Wielemaker-3 :: Rate this Message:

Reply to Author | View in Thread

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

 « Return to Thread: Exception in barchart