www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

calippo

Gepostet:
18.09.2013 11:19

Hilfe bei schwerer Aufgabe - Funktionen höherer Ordnung  
hi, bin gerade etwas am verzweifeln:

mapFuns :: [a->b]->a->
mapFuns [] x = []
mapFuns (f:fs) x = f x : mapFuns fs x

Ich soll MapFuns als Instanz von map definieren. Die Funktion verstehe ich (glaub ich): (f:fs) sind Funktionen, welche auf eine Liste x angewandt werden und die Ergebnisse werden als Liste ausgegeben.
z.B. mapFuns [length,sum] [1,2,3] = [3,6]

Allerdings kann map doch nur nur eine Funktion auf alle Elemente einer Liste anwenden?
Hoffe ihr könnt mir helfen.

und weiterhin soll ich mapFuns nur mit map,flip,(.) und ($) definieren, leider kann ich mit ($) nicht umgehen

Zum Seitenanfang    
 
Michelle

Gepostet:
20.10.2013 13:47

Haskell Pbl  
Hi,
Ich bin Anfänger mit Haskell.
Hab ein Problem bei dieser Aufgabe:

Dualer Logarithmus:
Der duale Logarithmus einer positiven Ganzzahl m ist de niert als die grote Ganzzahl k mit
2 hoch k kleiner gleich m. Implementieren Sie eine Funktion ld :: Integer -> Integer, die den dualen Logarithmus
berechnet.
Hinweis: Dividieren Sie wiederholt durch 2.

was ich überlegt hab:
ld :: Integer -> Integer
ld x | x==1 = k
| otherwise = k=(k+1)
x=(x div 2)

aber ergibt immer : PARSE ERROR ON INPUT ´=´ :(
was kann ich tun und wie soll ich zwei Statements nacheinander definieren in Haskell ?
Zum Seitenanfang