Size: a a a

Сообщество Scheme

2020 August 12

PG

Pig Greenest in Сообщество Scheme
думаю из описания схемы
источник

PG

Pig Greenest in Сообщество Scheme
гуглить r5rs, r6rs, r7rs
источник

a

anton in Сообщество Scheme
я читал r4rs и r5rs, правда давненько, может не заметил
источник

A

Aragaer in Сообщество Scheme
в схеме можно явно руками сделать карринг
источник

a

anton in Сообщество Scheme
Aragaer
в схеме можно явно руками сделать карринг
ну это не доказывает прямо, что схема не делает карринг за вас
источник

A

Aragaer in Сообщество Scheme
в смысле там для этого синтаксис отдельный
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
anton
ну это не доказывает прямо, что схема не делает карринг за вас
Ну, ты не можешь к функции двух аргументов применить один аргумент и получить функцию одного аргумента в схеме => каррирование за тебя не делается
источник

b⛅

bouncepaw ⛅ in Сообщество Scheme
((lambda (a b) (list a b)) "kek") должно громко закричать
источник

PG

Pig Greenest in Сообщество Scheme
anton
ну это не доказывает прямо, что схема не делает карринг за вас
смотри, есть две взаимоисключающие возможности -- каррирование и переменное количество аргументов
источник

PG

Pig Greenest in Сообщество Scheme
схема поддерживает переменное кол-во аргументов, дальше думай сам
источник

PG

Pig Greenest in Сообщество Scheme
Pig Greenest
смотри, есть две взаимоисключающие возможности -- каррирование и переменное количество аргументов
точнее частичное применение
источник

A

Aragaer in Сообщество Scheme
ну... есть вариант, когда ты возвращаешь либо готовый результат, либо "нужно еще аргументов"
источник

A

Aragaer in Сообщество Scheme
но да, для переменного числа аргументов надо на момент вызова знать, сколько их сейчас пытаются передать
источник

A

Aragaer in Сообщество Scheme
хотя некоторое время назад в питон чате кто-то спрашивал именно про такую хрень - создать некоторый callable объект, которому можно скармливать аргументы и тогда он возвращает "себя с этим аргументом", либо просто вызвать уже без аргументов и тогда он вычисляет все то, что в него насовали
источник

a

anton in Сообщество Scheme
Pig Greenest
точнее частичное применение
да, каррирование и частичное применение это же не одно и то же?
источник

PG

Pig Greenest in Сообщество Scheme
нет, но частичного применения можно добиться используя каррирование
источник

A

Aragaer in Сообщество Scheme
частичное применение с переменным числом аргументов:
>>> from functools import partial
>>> f = partial(print, "hello")
>>> f("world")
hello world
источник

PG

Pig Greenest in Сообщество Scheme
Aragaer
хотя некоторое время назад в питон чате кто-то спрашивал именно про такую хрень - создать некоторый callable объект, которому можно скармливать аргументы и тогда он возвращает "себя с этим аргументом", либо просто вызвать уже без аргументов и тогда он вычисляет все то, что в него насовали
нормальный вариант, кстати
источник

PG

Pig Greenest in Сообщество Scheme
только вот частичное применение для такого не нужно
источник

PG

Pig Greenest in Сообщество Scheme
источник