{
localUrl: '../page/currying.html',
arbitalUrl: 'https://arbital.com/p/currying',
rawJsonUrl: '../raw/50p.json',
likeableId: '2934',
likeableType: 'page',
myLikeValue: '0',
likeCount: '1',
dislikeCount: '0',
likeScore: '1',
individualLikes: [
'EricBruylant'
],
pageId: 'currying',
edit: '4',
editSummary: '',
prevEdit: '3',
currentEdit: '4',
wasPublished: 'true',
type: 'wiki',
title: 'Currying',
clickbait: 'Transforms a function of many arguments into a function into a function of a single argument',
textLength: '1209',
alias: 'currying',
externalUrl: '',
sortChildrenBy: 'likes',
hasVote: 'false',
voteType: '',
votesAnonymous: 'false',
editCreatorId: 'MYass',
editCreatedAt: '2016-07-18 00:22:13',
pageCreatorId: 'MYass',
pageCreatedAt: '2016-07-03 01:52:33',
seeDomainId: '0',
editDomainId: 'AlexeiAndreev',
submitToDomainId: '0',
isAutosave: 'false',
isSnapshot: 'false',
isLiveEdit: 'true',
isMinorEdit: 'false',
indirectTeacher: 'false',
todoCount: '0',
isEditorComment: 'false',
isApprovedComment: 'true',
isResolved: 'false',
snapshotText: '',
anchorContext: '',
anchorText: '',
anchorOffset: '0',
mergedInto: '',
isDeleted: 'false',
viewCount: '67',
text: 'Currying converts a [-3jy] of N [input inputs] into a function of a single input, which returns a function that takes a second input, which returns a function that takes a third input, and so on, until N functions have been evaluated and N inputs have been taken, at which point the original function is evaluated on the given inputs and the result is returned.\n\nFor example:\n\nConsider a function of four parameters, $F:(X,Y,Z,N)→R$.\n\nThe curried version of the function, $curry(F)$ would have the type signature $X→(Y→(Z→(N→R)))$, and $curry(F)(4)(3)(2)(1)$ would equal $F(4,3,2,1)$.\n\nCurrying is named after the logician Haskell Curry. If you can't remember this derivation and need a mnemonic, you might like to imagine a function being cooked in a curry so thoroughly that it breaks up into small, bite-sized pieces, just as functional currying breaks a function up into smaller functions. (It might also help to note that there is a programming language also named after Haskell Curry (Haskell), that features currying prominently. All functions in Haskell are pre-curried by convention. This often makes [partially applying](https://wiki.haskell.org/Partial_application) functions effortless.)',
metaText: '',
isTextLoaded: 'true',
isSubscribedToDiscussion: 'false',
isSubscribedToUser: 'false',
isSubscribedAsMaintainer: 'false',
discussionSubscriberCount: '2',
maintainerCount: '2',
userSubscriberCount: '0',
lastVisit: '',
hasDraft: 'false',
votes: [],
voteSummary: [
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0'
],
muVoteSummary: '0',
voteScaling: '0',
currentUserVote: '-2',
voteCount: '0',
lockedVoteType: '',
maxEditEver: '0',
redLinkCount: '0',
lockedBy: '',
lockedUntil: '',
nextPageId: '',
prevPageId: '',
usedAsMastery: 'false',
proposalEditNum: '0',
permissions: {
edit: {
has: 'false',
reason: 'You don't have domain permission to edit this page'
},
proposeEdit: {
has: 'true',
reason: ''
},
delete: {
has: 'false',
reason: 'You don't have domain permission to delete this page'
},
comment: {
has: 'false',
reason: 'You can't comment in this domain because you are not a member'
},
proposeComment: {
has: 'true',
reason: ''
}
},
summaries: {
Summary: 'Currying converts a [-3jy] of N [input inputs] into a function of a single input, which returns a function that takes a second input, which returns a function that takes a third input, and so on, until N functions have been evaluated and N inputs have been taken, at which point the original function is evaluated on the given inputs and the result is returned.'
},
creatorIds: [
'MYass',
'EricBruylant'
],
childIds: [],
parentIds: [
'math',
'function'
],
commentIds: [],
questionIds: [],
tagIds: [],
relatedIds: [],
markIds: [],
explanations: [],
learnMore: [
{
id: '4701',
parentId: 'currying',
childId: 'currying',
type: 'subject',
creatorId: 'MYass',
createdAt: '2016-07-03 00:21:08',
level: '1',
isStrong: 'false',
everPublished: 'true'
}
],
requirements: [
{
id: '4700',
parentId: 'function',
childId: 'currying',
type: 'requirement',
creatorId: 'MYass',
createdAt: '2016-07-03 00:20:13',
level: '1',
isStrong: 'false',
everPublished: 'true'
}
],
subjects: [
{
id: '4701',
parentId: 'currying',
childId: 'currying',
type: 'subject',
creatorId: 'MYass',
createdAt: '2016-07-03 00:21:08',
level: '1',
isStrong: 'false',
everPublished: 'true'
}
],
lenses: [],
lensParentId: '',
pathPages: [],
learnMoreTaughtMap: {},
learnMoreCoveredMap: {},
learnMoreRequiredMap: {},
editHistory: {},
domainSubmissions: {},
answers: [],
answerCount: '0',
commentCount: '0',
newCommentCount: '0',
linkedMarkCount: '0',
changeLogs: [
{
likeableId: '3105',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '2',
dislikeCount: '0',
likeScore: '2',
individualLikes: [],
id: '17067',
pageId: 'currying',
userId: 'MYass',
edit: '4',
type: 'newEdit',
createdAt: '2016-07-18 00:22:13',
auxPageId: '',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15297',
pageId: 'currying',
userId: 'EricBruylant',
edit: '3',
type: 'newEdit',
createdAt: '2016-07-04 19:18:39',
auxPageId: '',
oldSettingsValue: '',
newSettingsValue: 'added links'
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15296',
pageId: 'currying',
userId: 'EricBruylant',
edit: '0',
type: 'newParent',
createdAt: '2016-07-04 19:15:02',
auxPageId: 'function',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15294',
pageId: 'currying',
userId: 'EricBruylant',
edit: '0',
type: 'newParent',
createdAt: '2016-07-04 19:14:37',
auxPageId: 'math',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15155',
pageId: 'currying',
userId: 'MYass',
edit: '2',
type: 'newEdit',
createdAt: '2016-07-03 04:09:03',
auxPageId: '',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15149',
pageId: 'currying',
userId: 'MYass',
edit: '0',
type: 'newRequirement',
createdAt: '2016-07-03 01:52:35',
auxPageId: 'function',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15150',
pageId: 'currying',
userId: 'MYass',
edit: '0',
type: 'newTeacher',
createdAt: '2016-07-03 01:52:35',
auxPageId: 'currying',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15151',
pageId: 'currying',
userId: 'MYass',
edit: '0',
type: 'newSubject',
createdAt: '2016-07-03 01:52:35',
auxPageId: 'currying',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '15148',
pageId: 'currying',
userId: 'MYass',
edit: '1',
type: 'newEdit',
createdAt: '2016-07-03 01:52:33',
auxPageId: '',
oldSettingsValue: '',
newSettingsValue: ''
}
],
feedSubmissions: [],
searchStrings: {},
hasChildren: 'false',
hasParents: 'true',
redAliases: {},
improvementTagIds: [],
nonMetaTagIds: [],
todos: [],
slowDownMap: 'null',
speedUpMap: 'null',
arcPageIds: 'null',
contentRequests: {}
}