🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: bln.comp.lang.opal
Article #182

Re: Currying

#182
From: Alexander Winter
Date: Sat, 27 Nov 2004 10:54
30 lines
2203 bytes
In bln.lv.tub.cs.informatik1 Rocco Rutte <pdmef@gmx.net> wrote:

Hi Rocco,

> Ich haette aber gern auch eine Variante, in der ich die Namen direkt auf
> '=', '<' und '>' festlege, damit der User die nicht uebergeben muss (die
> muessen nur ja nur definiert sein). Bisher dachte ich, dass Opal beim
> Einlesen von 'IMPORT QSort[nat]' alle 'data' durch 'nat' ersetzt. Dann
> muesste es ja auch die Funktion '= : nat ** nat -> bool' kennen, die ich
> bei der Implementierung als '= : data ** data -> bool' brauche. Das tut
> es aber nicht. Die irgendwie importieren kann ich auch nicht.

nein, OPAL nimmt keine Unifkation ueber den Funktionsnamen vor. Eine Angabe von
SIGNATURE QSort[alpha, <: alpha ** alpha -> alpha]

Erwartet an dieser Stelle explizit, dass Du eine Funktion zum
Vergleich angibst. OPAL merkt also nicht automatisch, dass Du den
gerade importierten Vergleich auf Nat-Zahlen haben moechtest.
Was funktionieren sollte, ist

IMPORT Nat ONLY nat <
IMPORT QSort[nat,<]

weil OPAL ueber Funktionsinferenz automatisch errechnen kann, dass nur die 
Vergleichsfunktion aus Nat gemeint sein kann. 

Besser geht's eben nicht ;)

Gruss
Alexander
Technical Details
Message-ID: <co9mce$k0u$1@news.cs.tu-berlin.de>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!npeer.de.kpn-eurorings.net!news-FFM2.ecrc.net!informatik.uni-bremen.de!cs.tu-berlin.de!not-for-mail
References: <20041126185354.GA3628@bolero.cs.tu-berlin.de>

Show Full Headers
Complete Article Headers
X-Google-Thread: 108421,40e8db7115af3dfc
X-Google-Attributes: gid108421,public
X-Google-Language: GERMAN,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!npeer.de.kpn-eurorings.net!news-FFM2.ecrc.net!informatik.uni-bremen.de!cs.tu-berlin.de!not-for-mail
From: Alexander Winter <alwinint@cs.tu-berlin.de>
Newsgroups: bln.comp.lang.opal
Subject: Re: Currying
Date: 27 Nov 2004 10:54:06 GMT
Organization: Technische Universitaet Berlin, Deutschland
Lines: 34
Message-ID: <co9mce$k0u$1@news.cs.tu-berlin.de>
References: <20041126185354.GA3628@bolero.cs.tu-berlin.de>
NNTP-Posting-Host: pepita.cs.tu-berlin.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: news.cs.tu-berlin.de 1101552846 20510 130.149.17.38 (27 Nov 2004 10:54:06 GMT)
X-Complaints-To: news@cs.tu-berlin.de
NNTP-Posting-Date: 27 Nov 2004 10:54:06 GMT
User-Agent: tin/1.4.6-20020816 ("Aerials") (UNIX) (SunOS/5.9 (sun4u))