Forum: PC-Programmierung Funktionsnamen finden (Lisp/Scheme/Haskell like)


von Sprachloser Dude (Gast)


Lesenswert?

Mit welchen Suchbegriffen finde ich den gängigen Namen der in den 
folgenden Pseudo-C-Deklarationen mit drei Fragezeichen markierten 
Funktion?
1
list map (unary_function, list);
2
value fold (binary_function, list);
3
list ??? (binary_function, list, list);
Viele Dank

: Verschoben durch Moderator
von Jim M. (turboj)


Lesenswert?

filter?

Mir ist nicht so ganz klar was ???  machen soll.

von sid (Gast)


Lesenswert?

ich glaub dem Dude ist nicht ganz klar was er überhaupt fragen will...

denn mit zwei Funktionsnamen einen dritten zu erraten ist vermutlich
so genau wie aus zwei gezogenen Lottokugeln die nächste vorherzusehen.

Mein erster gedanke war.. compare
weil zwei Listen als parameter übergeben werden..
und eine binary funktion mir vorhanden/nichtvorhanden suggeriert

Aber wie gesagt, das ist in etwa so zuverlässig wie besagte Lottokugel.


'sid

von Sprachloser Dude (Gast)


Lesenswert?

Jim M. schrieb:
> Mir ist nicht so ganz klar was ???  machen soll.

sid schrieb:
> Mein erster gedanke war.. compare
> weil zwei Listen als parameter übergeben werden..
> und eine binary funktion mir vorhanden/nichtvorhanden suggeriert

Eine Verallgemeinerung von compare auf alle Typen soll es ungefähr sein, 
so dass man z. B. auch pow() übergeben könnte.

von wer (Gast)


Lesenswert?

Und was genau soll diese Funktion dann liefern, wenn man z.B. pow() und 
2 Listen übergibt?

von Yalu X. (yalu) (Moderator)


Lesenswert?

Für Haskell gibt es die Suchmaschine Hoogle, die Funktionen anhand ihrer
Signatur findet:

  https://hoogle.haskell.org/

Die Suche ist dabei tolerant, d.h. es werden auch Funktionen gefunden,
deren Signatur nur ungefähr mit der vorgegebenen übereinstimmt.

Deine drei Beispiele in Haskell-Signaturen übersetzt und in Hoogle
eingegeben liefern u.a. die folgenden Funktionen:

1
Signatur                              Funktionen
2
────────────────────────────────────────────────────────────────
3
(a -> b) -> [a] -> [b]                map
4
5
(a -> a -> a) -> [a] -> a             foldl1, foldl1' und foldr1
6
7
(a -> b -> c) -> [a] -> [b] -> [c]    zipWith, zipWithLazy
8
────────────────────────────────────────────────────────────────

: Bearbeitet durch Moderator
von Sprachloser Dude (Gast)


Lesenswert?

Yalu X. schrieb:
> [...] anhand ihrer
> Signatur findet [...]

Danke, genau sowas hab ich gesucht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.