🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: bln.comp.lang.opal
2 messages
2 total messages Started by Nikolaus Filus Sun, 18 Nov 2001 15:29
Re: -5 in Liste
#35
Author: Nikolaus Filus
Date: Sun, 18 Nov 2001 15:29
33 lines
2182 bytes
In bln.comp.lang.opal, you wrote:
> Hallo!
> 
>> kann mir jemand vielleicht sagen, wie ich eine negative Zahl in einer
>> Liste als Parameter uebergebe?
> 
> Denotation mit dem !-Operator konvertieren. Z. B. "-2"!
> 
>> Ich habe folgende Funktion:
>>
>> FUN horner : nat ** seq[nat] -> nat
>>
>>> e horner (2, 2 ::: 0 :: "-5"! :: 3 :: <>)
>>
>> funktioniert leider nicht.
> 
> Kann auch nicht, da -5 keine nat�rliche Zahl ist! Also muss die
> Funktionsdeklaration / ~implementation angepasst werden. Anschlie�end
> funktioniert z. B. e horner (2, 2::(0::("-5"!::(3::(<>))))).

Ist mir im Nachhinein auch aufgefallen, nur dass nicht mal eine sinnvolle 
Fehlermeldung oder eine Konvertierung moeglich war, hat mich so gewundert.
Aber Danke fuer den Hinweis.

Apropos: Wer liest hier aktiv mit und kann mir bei
Installationsschwierigkeiten von opal auf meiner Linux-Kiste helfen. Es
muss irgendwie ein Fehler in den build-scripten geben, denn es wird kein
libreadline beim linken von oasysbin gefunden, obwohl es bei allen anderen
libs bereits funktioniert hat. Leider steige ich nicht durch das
build-system durch, so dass ich um Hinweise bitte.

Nikolaus
 
Re: -5 in Liste
#36
Author: Klaus Didrich
Date: Sun, 18 Nov 2001 16:00
44 lines
2938 bytes
Nikolaus Filus schrieb:


>> Kann auch nicht, da -5 keine nat�rliche Zahl ist! Also muss die
>> Funktionsdeklaration / ~implementation angepasst werden. Anschlie�end
>> funktioniert z. B. e horner (2, 2::(0::("-5"!::(3::(<>))))).
> 
> Ist mir im Nachhinein auch aufgefallen, nur dass nicht mal eine sinnvolle
> Fehlermeldung oder eine Konvertierung moeglich war, hat mich so gewundert.

Automatische Konvertierungen gibt es in Opal nicht. 

Du hast leider nicht geschrieben, welche Fehlermeldung gekommen ist. 
Allgemein ist es bei fehlerhaften Infixfunktionen sehr schwierig, 
Fehlermeldungen zu erzeugen. Das liegt an der kombinatorischen Explosion, der 
Compiler m�sste ja f�r jede der m�glichen Klammerungen die jeweilige 
Fehlermeldung ausgeben. Stattdessen gibt es einfach nur ein "no bracketing 
for infix found". 

Allgemein ist es ung�nstig, Infix- und Postfixanwendungen von Funktionen zu 
mischen, das �berfordet den Opal-Compiler. Wenn man die Postfixanwendungen 
klammert, funktioniert es aber in der Regel:

horner(2, 2 :: 0 :: ("-5"!) :: 3 :: <>)

> Apropos: Wer liest hier aktiv mit und kann mir bei
> Installationsschwierigkeiten von opal auf meiner Linux-Kiste helfen. Es
> muss irgendwie ein Fehler in den build-scripten geben, denn es wird kein
> libreadline beim linken von oasysbin gefunden, obwohl es bei allen anderen
> libs bereits funktioniert hat. Leider steige ich nicht durch das
> build-system durch, so dass ich um Hinweise bitte.

Das ist auch schwierig. Leider schreibst Du nicht, welches Distribution Du 
verwendest, und wie die Fehlermeldung aussieht. Falls es nicht daran liegt, 
dass das Paket readline-dev (oder so �hnlich) fehlt (gesucht wird eine Datei 
readline/readline.h), schicke mir die Ausgaben per mail.

MfG
        Klaus
-- 
----------------------------------------------------------------------
Klaus Didrich   
email: Klaus.Didrich@berlin.de
----------------------------------------------------------------------
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads