Page 1 of 3

[ProgPara] Vragen

Posted: Sat Jun 16, 2007 2:33 pm
by Robbe
Ik zit nu al aan de lijsten, maar het is me nog altijd wat die Y Combinator juist doet. Weet iemand hier een antwoord op?


PS: Ik verdenk de mens die die naam heeft verzonnen ervan dat hij zelf zich afvroeg waarvoor die operator diende (Y <> why)

Posted: Sat Jun 16, 2007 3:09 pm
by Norfolk
voor zover ik mij kan herinneren zorgt die voor recursie ofzo :)

Posted: Sat Jun 16, 2007 3:54 pm
by filippeesje
Op pagina 16 van de slides van les 2 staat er dat een variabele x gebonden is als hij zich bevindt binnen een subterm van de vorm .
Wat wordt er hiet juist bedoelt met P?

Uit het onderste voorbeeld leidt ik af: body van en argumenten. Klopt dat, want dan is de notatie wel verwarrend imo :roll:

(Met dank aan shinta voor de :P )

Posted: Sat Jun 16, 2007 7:07 pm
by Shinta
filippeesje wrote:Op pagina 16 van de slides van les 2 staat er dat een variabele x gebonden is als hij zich bevindt binnen een subterm van de vorm (lambda)x.P .
Wat wordt er hiet juist bedoelt met P?

Uit het onderste voorbeeld leidt ik af: body van (lambda)x en argumenten. Klopt dat, want dan is de notatie wel verwarrend imo :roll:
P is het gedeelte waardoor de x moet gesubstitueerd worden.

Btw, lambda = (tex)\lambda(/tex) (vervang haakjes door vierkante haken):

Posted: Sat Jun 16, 2007 7:49 pm
by filippeesje
Shinta wrote:
filippeesje wrote:Op pagina 16 van de slides van les 2 staat er dat een variabele x gebonden is als hij zich bevindt binnen een subterm van de vorm (lambda)x.P .
Wat wordt er hiet juist bedoelt met P?

Uit het onderste voorbeeld leidt ik af: body van (lambda)x en argumenten. Klopt dat, want dan is de notatie wel verwarrend imo :roll:
P is het gedeelte waardoor de x moet gesubstitueerd worden.

Btw, lambda = (tex)\lambda(/tex) (vervang haakjes door vierkante haken):
Bedoelt ge ni waarbinnen? En moet dan de spatie voor die haakjes staan in het laatste voorbeeld ni weg?

Posted: Sat Jun 16, 2007 11:14 pm
by Shinta
filippeesje wrote:
Shinta wrote:
filippeesje wrote:Op pagina 16 van de slides van les 2 staat er dat een variabele x gebonden is als hij zich bevindt binnen een subterm van de vorm (lambda)x.P .
Wat wordt er hiet juist bedoelt met P?

Uit het onderste voorbeeld leidt ik af: body van (lambda)x en argumenten. Klopt dat, want dan is de notatie wel verwarrend imo :roll:
P is het gedeelte waardoor de x moet gesubstitueerd worden.

Btw, lambda = (tex)\lambda(/tex) (vervang haakjes door vierkante haken):
Bedoelt ge ni waarbinnen? En moet dan de spatie voor die haakjes staan in het laatste voorbeeld ni weg?
waarbinnen, waardoor, waarmee, ...

Euh ja, wss moet da wel weg.

Posted: Sun Jun 17, 2007 1:06 pm
by slimmy
Image

klopt da gemarkeerd ding wel in de cursus? \x.\y.y t staat toch voor false en is niet de lambda uitdrukking voor NOT...

of slaag ik compleet de bal mis?

Posted: Sun Jun 17, 2007 1:57 pm
by joeri
klopt da gemarkeerd ding wel in de cursus? \x.\y.y t staat toch voor false en is niet de lambda uitdrukking voor NOT...
Wikipedia zegt:
TRUE := λ x y. x
FALSE := λ x y. y

Merk dus op dat in FALSE x en y gebonden zijn, terwijl in de expressie die geel gemarkeerd is, t niet is gebonden. (Of iets dergelijks)
Voor de rest moet ik zeggen dat ik dat ook niet meteen kan herleiden naar (z and (not t)), maar dat kan aan mij liggen natuurlijk.

Posted: Sun Jun 17, 2007 1:59 pm
by slimmy
mjah, da helpt ni zoveel he

moet daar dan ni gewoon:
λx.((x false)) true) t
staan?

Posted: Sun Jun 17, 2007 3:02 pm
by Shinta
slimmy wrote:mjah, da helpt ni zoveel he

moet daar dan ni gewoon:
λx.((x false)) true) t
staan?
λ x y. y is niet false he :). Dat is select 2nd argument. Dus age dan select 2nd doet op argumenten true en false krijgde false trug ;).

Posted: Sun Jun 17, 2007 3:16 pm
by slimmy
maar waar staat die not t dan op die slide? :S

Posted: Sun Jun 17, 2007 4:03 pm
by Shinta
slimmy wrote:maar waar staat die not t dan op die slide? :S
da zalk morge of overmorge is bekijke, ma das ni echt de clue van de slide ze ;).

Posted: Sun Jun 17, 2007 4:16 pm
by Norfolk
Shinta wrote:
slimmy wrote:mjah, da helpt ni zoveel he

moet daar dan ni gewoon:
λx.((x false)) true) t
staan?
λ x y. y is niet false he :). Dat is select 2nd argument. Dus age dan select 2nd doet op argumenten true en false krijgde false trug ;).
select 2nd argument is volgens mij ook wel false hoor.
Ik denk dat dat wel eens een fout kan zijn hoor slimmy, maar zoals Shinta al zei, das totaal niet de clue van de slide :P

Posted: Sun Jun 17, 2007 4:52 pm
by slimmy
Norfolk wrote: select 2nd argument is volgens mij ook wel false hoor.
Ik denk dat dat wel eens een fout kan zijn hoor slimmy, maar zoals Shinta al zei, das totaal niet de clue van de slide :P
nee, da's idd niet te clue van de slide :P ma het mag toch juist zijn ;)

jeesh zo ergelijk die slides, als ge die wilt afdrukken :P me prolog hebde dan 1000 keer hetzelfde, en me haskell zo van die slides met blauwe achtergrond, da heel mijn printer leegzuipt :D

Posted: Tue Jun 19, 2007 8:34 pm
by Shinta
  1. Bij de predecessor functie bij functioneel programmeren staat er een )-haakje teveel. Daarom is het lastig de redenering te volgen. Weet er iemand waar de fout zit.
  2. Met het fixpunt bij de Y-combinator bedoelen ze toch de positie waarlangs de recursie zich opbouwt he ?
  3. Wat is die slide van wederzijdse recursie in godsnaam :d ?